A few days back, I came across a presentation by Jeff Patton on InfoQ on how not to build useless software. I would encourage you to view the 1 hour video – well worth your time.
Jeff highlights how easy it is to start building worthless stuff – things that don’t really solve the right problems (or worse, solves the wrong ones), things that do not really produce any returns, eventually leading to poor ROI on the new features added. His main appeal was to stop focussing so much on output of the software team (meaning how much code is written how fast) and to start focussing on the outcome of the software that was written. He further says that the goal should be to reduce output as much as possible while improving Outcome.
Such a subtle but a powerful message – too often we are worried about how many features are built, that we neglect caring about how much business value has actually been created. Such a waste.