Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!src.honeywell.com!skyler.mavd.honeywell.com!djbailey From: djbailey@skyler.mavd.honeywell.com Newsgroups: comp.software-eng Subject: Re: the scientist and the engineer Message-ID: <1991Jan28.125444.71@skyler.mavd.honeywell.com> Date: 28 Jan 91 18:54:44 GMT References: <1991Jan26.210023.28534@cbnewsh.att.com> <1991Jan27.234614.2327@cbnewsc.att.com> Distribution: na Lines: 28 In article <1991Jan27.234614.2327@cbnewsc.att.com>, kca@cbnewsc.att.com (k.c.archie) writes: > ... One of the ways software development and > engineering differ is that engineers build on existing work. > They don't design I-beams when designing a bridge. > Programmers not only re-design the I-beams, they perform custom metallurgy. No. Custom metallurgy would mean designing a new programming language from scratch and that is rare. There is an interesting analogy in "Wicked Problems, Righteous Solutions" by Peter DeGrace and Leslie Hulet Stahl comparing software developers to the craftsmen who built cathedrals in the Middle Ages. Like the craftsmen, we have a lot of practical techniques and "rules of thumb" to help us build but we don't have the scientific background to understand why it works and how to make it work consistantly. By the way, the book has a well-documented and fair discussion of the Waterfall model of Software Development and how some other popular software development models compare to it. It's a good book. One of the points made in this book and other places is that software development takes place in the mind and the mind is unexplored territory. If we can teach people to become expert problem solvers, then we will have developed the scientific background we need for software development. -- Don J. Bailey