Design erosion: Problems and causes

J van Gurp*, J Bosch

*Corresponding author for this work

    Research output: Contribution to journalArticleAcademicpeer-review

    163 Citations (Scopus)

    Abstract

    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 accumulate 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 unforeseen requirement changes that invalidate design decisions that were once optimal. (C) 2002 Elsevier Science Inc. All rights reserved.

    Original languageEnglish
    Article numberPII S0164-1212(01)00152-2
    Pages (from-to)105-119
    Number of pages15
    JournalJournal of Systems and Software
    Volume61
    Issue number2
    Publication statusPublished - 15-Mar-2002

    Fingerprint

    Dive into the research topics of 'Design erosion: Problems and causes'. Together they form a unique fingerprint.

    Cite this