Skip to Main Content
Software systems often undergo changes. Changes are necessary not only to fix defects but also to accommodate new features demanded by users. Most of the time, changes are made under schedule and budget constraints and developers lack time to study the software architecture and select the best way to implement the changes. As a result, the code degenerates, making it differ from the planned design. The time spent on the planned design to create architecture to satisfy certain properties is lost, and the systems may not satisfy those properties any more. We describe an approach to systematically detect and correct deviations from the planned design as soon as possible based on architectural guidelines. We also describe a case study, in which the process was applied.