Recent Posts

Wednesday, November 24, 2010

Too Much Code!

We are releasing some new software soon and I discovered that the developer put in some extra functionality. This functionality was not requested; He just thought that it would be valuable in case there was ever an issue and we needed to trace things back.

He had mentioned it to me some time ago but I didn't understand the full gist of it and I let it go. However, just the other day we were testing our software and a bug related to this feature came up. So he's putting in a fix for this. The bug was the result of doing some a-typical behavior but nonetheless it's something that should be resolved once detected.

However my concern is with why is that feature there in the first place? It was never requested. Developers need to understand that adding new features comes at a price. I not only serve as PM, but also BA & QA on this project. I am also the PM on multiple other projects and my time is limited. Adding any new feature => (means) adding more code => creating additional pathways => testing more code. This can grow exponentially. Simply put, the price you pay is additional testing time but also increased probability of bugs.

Users who request features with abandon and software teams who accomodate them get into lots of problems. Feature requests need to really be evaluated for the payoff they'll deliver. The thing with software is that it is invisible; you can't touch it or taste it or see it. So it's easy to overlook the amount of time, effort & money that goes into producing it. This message needs to be constantly sent to users in the form of pushing back or pricing each feature. Say No if you don't believe the feature will provide enough value vs. what will go into producing it. Or give a price tag: if they want something the user will have to pay for it somehow: either monetarily (cash, budget xfer, etc) or time-wise (this will delay the next feature x amount of days/months, etc)

You constantly need to remind users of the cost of producing quality software (and that includes QA time). It's easy to forget. Again, I need to point to the guys at 37signals.com; They turn down LOTS of feature requests in their quest to keep their software bug free and clutter free.

No comments: