Publication | Closed Access
Design Erosion: Problems & Causes
42
Citations
10
References
2001
Year
Unknown Venue
Software MaintenanceDesign DecisionEngineeringSoftware EngineeringSoftware AnalysisSocial SciencesDesign ErosionSystems EngineeringDesign ScienceSoftware Engineering EconomicsSoftware DesignsSoftware Development ProcessDesignOptimal DesignSoftware DesignCode RefactoringSoftware EvolutionArchitectural DesignIndustrial DesignProgram AnalysisSoftware TestingDesign ThinkingDesign IssueSystem SoftwareDesign Management
Design erosion is a common problem in software engineering. We have found that invariably, no matter how ambitious the intentions of the designers were, software designs tend to erode over time to the point that redesigning from scratch becomes a viable alternative compared to prolonging the life of the existing design. In this paper we illustrate how design erosion works by presenting the evolution of the design of a small software system. In our analysis of this example we show how design decisions accumalate and become invalid because of new requirements. Also it is argued that even an optimal strategy for designing the system (i.e. no compromises with respect to e.g. cost are made) does not lead to an optimal design because of unforseen requirement changes that invalidate design decisions that once were optimal.
| Year | Citations | |
|---|---|---|
Page 1
Page 1