One of the calling cards of poorly or hastily developed software is lack of flexibility: it cannot easily be reconfigured, enhanced or adapted to changes in your business. Rigid software can make adapting your application to evolving business needs extremely time-consuming and expensive. In fact, sometimes it can be more cost effective to consider a "rewrite" than to pursue costly maintenance of inflexibly designed code.
More...