Thursday, March 13, 2008

Product Management 101

Good product managers do NOT need to have any technical knowledge. They DO however need to be able to communicate with the entire team though, techies included. More importantly, the key to designing great software is once again, "Walking that fine line". Though time to market is often critical, rushing bad and buggy software out the door is equally critical. Many users will only give you one chance, they do not understand (nor should they) the product/production lifecycle and how that works.

While off-shoring much of a products development makes a lot of sense (especially for a money tight start-up), proper development and budgeting for same is much more then going to India/China/Russia and paying $10-$15 per hour to hero programmers. At the critical early stage of a products lifecycle, a product manager (or CEO) needs to have their core team in house, this is a must.

An earlier Carnegie Mellon study "Quality Software development @ Internet speed" dictates a framework that works well at walking the fine line between Hero and Level 5 development. Hero being that scrappy buggy code not well thought out in advance, and Level 5 being the "Best Practices" of development environments:

The model uses the 3-phase approach: requirement analysis, design and implementation. It is in the requirement analysis stage that I am a big believer that someone with a Product management/ Marketing background need be involved, even more then the technical lead. Though I am certain there are MANY competent programmers able to lead here, my experience has shown that often a programmer looks at software differently then the mainstream. They often get hung up on arcane features, and niche detail that only they would use, or even understand. Remember "KISS" Keep it Simple Stupid, this could not apply more to the software development process. Software more then ever needs to be "Grandma Proof". Bury the details at this stage of the development process and focus on the UI...this is the foundation on which you will latter build great software.

At the other extreme we have "Analysis Paralysis". Analysis Paralysis is when your project leads refuse to get the software out the door until it is bug free and perfect. Note to team - YOUR SOFTWARE WILL NEVER BE BUG FREE, NOR PERFECT - It will always be a work in progress. Remember, walk the line and you'll be fine

No comments: