Some people much wiser than me have made comments such as ‘The cost of version 3 of software is exponentially greater than version 2.’
Think about that. We may never see a ‘version 3’ of ebay or amazon. And maybe we don’t need to. The cost of such an endeavor, to replicate what those applications are providing, would not be trivial and the return on such an investment may very well never be realized.
In enterprise software development projects, we see plenty of high version numbers. Some of this is valid – we learn more about our customers and we create solutions to help solve their problems. If we can say ‘Here is how this functionality helps save me time / solve a problem’ – then the software could be worth writing. If instead it is ‘It would be cool if the software did this’ or the famous ‘we need to re-architect the solution’ – then we should take a hard look in the mirror. How many applications out there have some AJAX functionality just for the glamour of it?
Software development is a sunk cost. Understand that and accept it. While I am not trying to put people out of work, understand that at some point your software is as complete as it needs to be. Instead of allowing agile teams to work collaboratively on solving the next problem, too often we create work to keep people employed (more to come on ‘Resource Planning’). The changes requested for this software don’t create any large tangible benefits, but it will keep the delivery team busy for a few months. Its ok to not have delivery teams trying to deliver all the time. Its actually probably cheaper.
Please don’t focus on keeping people busy to keep them busy. Instead focus on having your teams research and understand what your consumer wants and deliver upon that. Not only will you end up with a better offering and a competitive advantage, you will find that you now have a highly engaged agile team solving problems and not just going through the motions.
Read more by Joel Tosi @ http://communalosmosis.com/