Re: [AM] Article of Interest in CIO Magazine
[email protected] Sun, 7 Mar 2004 12:26:32 EST
| Newsgroups | gmane.comp.programming.modeling.agile |
|---|---|
| Message-ID | <[email protected]> |
Hubert: You've given a good example of this point. When I was in the U.S. Air Force, I learned quite a bit about the "Hurry up and wait" philosophy, which incidentally, may be a derivative of the "instant gratification" thing. I can't tell you the number of times I've been forced to sit through seemingly endless meetings in which some I.T. worthy drones on and on, giving the intended users a litany of how great their system is going to be, with me wanting to stand up and tell the users that there is absolutely no way Mr. I.T. can make these claims with with any real certainty. IMHO, the major contributors to post-deployment costs are comprised of remedial work (those costs related to fixing problems that should have been detected and fixed during the development process, or adding features that were intended to have been in place at deployment), and enhancement/extension work (adding features intended to satisfy requirements that were not known or foreseen during development). The former is typically the result of simply running afoul of the schedule, in terms of development cost (including the cost of change orders) or time (as in, running out of it) to deployment. The latter is typically reflective of the number and scope of the modifications to the system to satisfy emerging requirements. Given that post-deployment remedial work is often estimated to be 100 to 1000 times the cost of the same work during the development process, some component of the post-deployment cost must be related to the degree of difficulty of adding features. I suspect that a significant portion of this last cost is due to the developers having designed an architecture that is innocent of any knowledge regarding the true lifetime costs of complex automated systems. That is, they simply do not understand the importance of building maintainable and sustainable systems. Worse yet, in my nearly thirty years of development experience, I have almost never had anyone, other than myself, suggest that the anticipated lifetime costs of the system be assessed and taken into account prior to the "closing the book" on the design of the system. My point is that while predicting the future regarding the uses to be addressed throughout the lifetime of a system might be impossible, designing a system architecture that minimizes the effects of change is not, and even the smallest design concession to maintainability and sustainability can pay huge dividends throughout the lifetime of the system. If this is true, what factors are present in the software development process employed today that seem to be preventing these systems from being built? The statistics regarding lifetime costs have not changed appreciably over the past several years, so what's the deal? What factors can be identified that distinguish the low-maintenance systems from others? Despite the flood of new and improved development tools that enhance collaboration, communications, and productivity (and will probably brighten our smiles and even reduce foot odor in the next release), post-deployment costs remain stubbornly high. It has always seemed to me that focusing on reducing development costs is looking through the wrong end of the telescope. O.K., I'm stepping down off my soapbox. What do you guys think about this syuff? >> End of Rant << Regards, Pete For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com --^---------------------------------------------------------------- This email was sent to: [email protected] EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h Or send an email to: [email protected] TOPICA - Start your own email discussion group. FREE! http://www.topica.com/partner/tag02/create/index2.html --^----------------------------------------------------------------