Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!mips!prls!pyramid!athertn!hemlock!mcgregor From: mcgregor@hemlock.Atherton.COM (Scott McGregor) Newsgroups: comp.software-eng Subject: Re: Development vs Engineering Message-ID: <32090@athertn.Atherton.COM> Date: 15 Oct 90 23:18:55 GMT References: <32087@athertn.Atherton.COM> <32084@athertn.Atherton.COM> <27696@bellcore.bellcore.com> <2450009@hpfcmgw.HP.COM> <84754@tut.cis.ohio-state.edu> <5682@stpstn.UUCP> Sender: news@athertn.Atherton.COM Reply-To: mcgregor@hemlock.Atherton.COM (Scott McGregor) Distribution: comp Organization: Atherton Technology -- Sunnyvale, CA Lines: 46 In article , cimshop!davidm@uunet.UU.NET (David S. Masterson) writes: > Before there was object-oriented programming, there was function-oriented > programming. Everyone invented useful, *reuseable* functions to do all sorts > of basic things (how many sort routines have you seen?). Yet, it went very > little further than the basics (I never saw a reusable accounting function). Actually, for a very long time most every accounting system was a custom job. It was assumed that no company would want to change its human accounting procedures and conventions, and there was enough variation that even though the basic accounting unctions are similar everyone had their own twists as far as how charts of accounts were organized, etc. At custom software shops (I worked with one in mid '70s) we did make every installation a "custom" one with new software, but we "reused" code by copying lines out of one customer's system into another. In the 80's largely with the advent of PCs, there started to be non-custom shrink-wrap software "accounting products". These often come in "modules" that do an accounting "function" like General Ledger, or Payroll Administration, much higher level than "Subroutines", but you can think of these things as being very large objects that are being reused by the companies that buy them. You can mix and match "modules" from a common vendor to meet your needs. Of course, many of these small companies that started with these PC products grew, and they tend to continue to favor "standardized" software over custom designed software maintained by their MIS departments. Many very large companies continue to run the Nth generation of the software that they wrote in the '70s, but even some of these are looking to reduce their maintenance costs by switching to packaged solutions--even if it means some changes to local conventions. The pressure for these companies is that their overhead in maintenance can be larger than their younger competitors who have standard off-the-shelf accounting packages that they don't need a staff of programmers to maintain. Main points: * People have always reused software (generally their own!)--often by copying in the editor. * Granularity matters. High-level functionality (shrinkwrapped software) and low level (a few related lines of code) might be stable states--in between levels (subroutines) may not be stable. * Expectations and flexibility of the customer and of the developer affect the equilibrium solutions. Scott McGregor mcgregor@atherton.com