The art of building software: Gut instincts

Monday, March 22, 2010

Gut instincts

This is a story about how I knowingly voted with a group to make the wrong decision.

As a group, we were evaluating several alternative technology stacks for building a healthcare application.  We listed out all the qualities that were important to us in the stack - things like quality of development environment, availability of third party tools, and so on.  We gave each of these qualities a numerical ranking of importance.  Then we evaluated each technology stack for each quality we'd listed, and ranked how well that stack supported that particular quality.  We had a handy spreadsheet that calculated the total for each technology stack.  As a group, we all agreed to all the numbers on the spreadsheet.  The spreadsheet told us which stack won - and that's the one we went with.  Bam, done.  We could even explain to others why we'd chosen this stack.

Yet the spreadsheet gave us the wrong answer, and the group didn't figure that out until several months later.  My gut feeling at the time also told me we were picking the wrong technology stack.  I tried to explain why the choice was wrong, but because I couldn't express my gut feeling in this spreadsheet, my explanations were not effective.  I even tried manipulating the weights of each quality, and even added new qualities to the list to try to get my choice to come out as #1, but I couldn't do it in a credible way.  I think a few other team members were in the same situation too.  But we ignored our gut feelings and went with the #1 on the spreadsheet.

Several months later the group realized they'd picked the wrong horse and started over again with another one.  How is it we chose the wrong technology stack?  We consciously tried to pool our knowledge in this spreadsheet.

Maybe the problem was that this spreadsheet approach simply excludes gut feeling, right-brain, non-rational thinking from the process.  So we even added a row to the spreadsheet for "gut feeling".  Really, we did that.  That didn't help the spreadsheet come up with the right answer though.

Sometimes it's a mistake to over-formalize the decision making process of a group.

Should a group leader/manager/architect have veto power over whatever decision a group comes up with?  Would that have helped this group by making the right decision to begin with?

Should you always trust your gut instinct?  Probably not.  But you should seriously pay attention to it.

No comments:

Post a Comment