Thursday, May 30, 2013

Standing Up for Stand Up

    Earlier this week a disagreement occurred amongst some technical team leaders regarding how stand up meetings should be held.  One camp felt the meetings were becoming a bit cluttered.  The team is a remote team and several interested parties from the home location like to participate in the daily stand up via Google Hangout.  One of a few complaints is that the cross site communication makes the stand up kludgy.  There are regular interruptions to repeat things, for instance, since the microphone is directional, etc, etc.  Other annoyances were also noted.
    The other camp insists that the good that comes from the cross site participation far outweighs any headache it causes.  The home location values maintaining a strong relationship with the remote team and accepts the soft costs of doing so.  As is usually the case, both camps are correct and are now entangled in a very fine grained philosophical disagreement.
    But none of that is as important as the fact that it caused me to gut check my own reasoning and make sure that I was staying true to the principles that guide me as a leader.  You see, I believe that a human being's best work is the result of a harmony amongst the many forces acting on that person's life.  I think this because I latched on to the teachings of Lao-tse very early in my own life and value them even more today than I did 25 years ago.
    One does not need to know very much about Lao-tse or the Tao Te Ching to know that he believed a perfect harmony between heaven and earth existed naturally and could be found by anyone.  The idea he put forth is that the more a person interferes with the natural order of things the more that person will struggle against, and retreat from, harmony.  I am convinced that this concept is important to the technical work we do and the way in which we lead our technical teams.  There are examples of similar or identical thoughts all over the software world about "signal to noise ratio" or "context switching" and slightly more etherial things like "flow state".
    So bringing the point back to the decisions that impact development teams, I stand firm on the opinion that genuine annoyances are to be removed.  Knowing the human beings that choose to team with you is the job of a leader.  Working towards harmony through techniques and tools and improved (or removed) process is a leader's responsibility.  Above all else, the people who you ask to follow you deserve an opportunity to be happy and do the best work they are capable of doing.  In doing so they may experience their true nature without the arbitrary and false interferences business would otherwise impose.
    These are lofty goals.  It is likely that, as a leader, I will fall short of these goals on many occasions.  The desire and effort to achieve these things will give me an opportunity to expose my true nature, however.  And for that reason, I have no choice in the matter.
    Completing our round trip then, what should be done with the stand up meetings?  Give the remote team what they want so they can go be productive without being annoyed.  The need to coordinate between sites is an artificial constraint that the leadership has imposed on the project.  It is the job of those same leaders to find ways to satisfy the tangential needs of the project and not impede the harmony that naturally exists between a developer, a keyboard, and problem in need of solving.
    That's the way Lao-tse saw it then and that's the way I see it now.