Thursday, May 7, 2015

Trust and Humility Keeps You out of the Box!

It never ceases to amaze me how susceptible we are to Groupthink.  Software developers compound the problem with that unique egoism they have.  If you want to be an "out of the box" thinker, it's important you not let yourself get pulled into the box by the Group.  This doesn't make you any less of a team player if you understand the dynamic.

I see this happen all the time on software projects:  two or more developers announce they are struggling with vexing problem X, and the rest of the team piles on, with each next developer thinking he or she is the sole genius who can solve X.  Many hours and emails and lines of code later, eventually someone figures out that all along the problem was really Y.  And worse, now in retrospect it seems so obvious.  How did the whole group miss it, and why was so much time and energy wasted chasing X?

Today in our office while I was on a call, there was a weird, annoying high pitched noise coming from someone's desk.  The office-mates came to investigate and help stop the noise.  Somehow it got planted in the group's collective mindset that the noise was coming from the printer.  They tried unplugging it, pressing buttons, swearing, casting spells, etc. all with no success.

When my call ended, I walked over to see if I could help somehow.  People kept yapping about the printer.  I initially had no idea if the problem was the printer or not.  But I did have enough faith in my teammates' abilities to realize that if it was the printer, they would figure that out with or without me.  The only help I could provide was to test their primary assumption.  There were a lot of devices on that desk, and my ears were not so certain it was the printer in the first place.  I started fiddling with the other devices on the desk, and ultimately realized that some clutter on the desk was pushing a button on the phone, and lo and behold it turned out the phone was the culprit.  Poor printer, nobody ever apologized to it.

I was able to avoid being drawn into the Box by simply trusting in my teammates abilities to solve problems.  If smart people were struggling with a problem, then maybe somehow they had been mislead as to the real problem.  I made a conscious decision not to accept their premises, and not step into their Box.

It is true that sometimes the problem really is X, just as the team initially believes.  And that means sometimes you will waste time and resources challenging the assumption of X and looking into whether the real problem is Y or Z, instead of just jumping into the Box.  But on good teams, in the long run, it is usually best to have someone look around the Box first before throwing another brain into the Box.