Redesign for Flexibility and Maintainability: A Case Study
Chris Ackermann, Mikael Lindvall, Greg Dennis · 2009
In this paper, we analyze software that we inherited from another party. We analyze its architecture and use common design principles to identify critical changes in order to improve its flexibility with respect to a set of planned extensions. We describe flexibility issues that we encountered and how they were addressed by a redesign and re-implementation. The study shows that basic and well-established design concepts can be used to guide the design and redesign of software.