Friday, May 23, 2008

The Cost of Perfection

I worked full-time as I attended MBA classes. I balanced work, dating, family, socializing, volunteer work, and school. I’m a person who likes the A. One semester, I worked on a big work project where I worked 50-65 hours per work for a few months while I took two MBA courses. As I tried to balance my life, I noticed the relative large cost/time increase to get the A. Then I remembered the most important thing … A’s are axcellent, B’s aren’t bad, and C’s still pay cash; my company reimbursed for C’s and above. I was getting the education I wanted and matching my effort to the grade. I was happy with B’s.

In my prior quality assurance/testing career, you learn there’s a point of diminishing returns of continuing to test. You can find 80% of the defects but it costs a lot more to find that remaining 20% because they are more hidden or exception. It could take just as long (if not longer) to find the last 20% of the defects than it took to find the first 80%. QA finds a balance between time and accepting the remaining risk.

In my firm, I see requirements gathering phase of a project taking a really long time. It’s the first stage of the project after kickoff and it tends to go longer than planned. Maybe we need to improve the requirement brainstorming and gathering technique effectiveness. It also could be that we’re trying to be requirement perfect in an imperfect world. Are we getting the bang for the buck of not proceeding until “all the requirements” are gathered? (Yes, this is a waterfall type project.)

I like the lean (or agile) approach of time-boxing. Users/Customers will tell you what’s most important first. These are things they are most familiar. Time box the requirements phase to say we will close this level of requirements gathering on x date. As the project progresses, the users will identify new/revised items that came to mind. They could be seldom exceptions or special functions for specific events like year end processing. You can introduce these through change control or have requirement entry points. I might have missed the bus at stop 1, but I can still catch it at stop 3.

THINGS TO CONSIDER: Time box requirements gathering to balance against the point of diminishing returns. Use change control or requirement entry points to manage those missing or unspoken requirements.

No comments: