Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!rutgers!apple!voder!pyramid!pyrnj!mirror!garison From: garison@mirror.UUCP (Gary Piatt) Newsgroups: comp.software-eng Subject: Re: Architecture Message-ID: <24727@mirror.UUCP> Date: 28 Mar 89 18:28:53 GMT References: <1014@afit-ab.arpa> Reply-To: garison@prism.TMC.COM (Gary Piatt) Organization: (Dis-) Lines: 31 In article <1014@afit-ab.arpa> William A. Bralick writes: =>It seems to me that architecture (as in buildings, not computer systems :-) =>should provide a useful set of lessons for software engineers. The parallels =>[...] are striking [...] Has any formal attempt been made to draw [up]on =>[...] architecture as a model for solving some of the problems in software =>engineering? The problem with this is that (for the most part) the job of the architect is done when construction of the building begins. There's still some org- anizational things to do -- make sure the builders keep to schedule, make sure the proper materials are used, etc -- but the bulk of the work an architect does is in the design. Software engineers, on the other hand, spend significantly less time in design, and more time in programming and redesign. The optimal experience is that the SE (or SEs) will design the software and then carry out that design. What actually happens is that the design will be completed and the SE will begin to carry it out, but Marketing will change the schedule. The SE will try to conform to the new schedule, and the customer will ask to add some feature or another. The SE will begin to add the new feature, and QA will discover a design flaw that requires the SE to throw out a month's worth of work. And it cont- inues in this manner until several weeks after the product is released. These same things happen to the architect, but the design is entirely on paper, and can be changed (more or less) easily. The implementation does not start until the design is done. The major problems of software eng- ineering stem from the fact that the design is not frozen until *after* the product is released. -Garison- Bear in mind that this explanation is based solely on my own experience.