Unsustainable development is an all-too common situation today in the software industry. Unsustainable development is a development pace that is typified by stress, frustration, and a sense of not being in control. It is most evidenced by a continually increasing cost of change and defect rate and a corresponding decreasing ability to respond to changing conditions. This chapter explains how unsustainable development begins, and how to head it off before it spirals out of control.
When you hold you hand up and say
“I can’t maintain this bunch of spaghetti any more. Its time to rewrite the whole module/application”
If you get the go ahead to do this then you can take the opportuninty it provides to incorporate all the “New” features demanded by Marketing/Product Management into the new version.
However many in management won’t see it this way and think that taking this approach is not right and insist that you continue modding the existing codebase.
IMHO, society in general is forgetting the art of applying common sense to problems and only acting “By the Book”. The article is based upon common sense but I wonder how many organisations are brave enough to adopt its principals.
I personally think that asking the question “Do we continue modding this app in its present state? and if we do, what are its long term cost implications?” when any modification beyond a simple bugfix is required should be mandatory.
I was involved in porting some software from one old version of VB to one at least three releases later recently. The original code base was real spider code. Lots of mods & enhancements had been made over the years. My proposal to rewrite it from scratch was rejected out of hand. 3 months later the app is still in test when it should have been done and dusted now. The PM still won’t accept that it would have been cheaper to re-write it. But as they say in Yorkshire,”There’s nowt as queer as folk” (queer == strange/odd/weird and certainly not gay).