Monday, July 27, 2015

No More Heroes - Why?

Their is a difference between fast and agile.
I hit a nerve last week with my blog.  I spoke about the quite heroism that goes into keeping the global economy running.  It was greeted with a great deal of enthusiasm but I also received some push-back.  Someone I respected, Geoffrey Dunn, mentioned that he didn’t want to work for firm which expected heroism from its employees.  He preferred boring work days punctuated with routine successful software releases.  He even put together a hashtag stating that we need #nomoreheroes in the world of software development.  After some thought, I realized he had a point.  The global economy must also be sustainable where heroism is not necessary.  

One of the most important principles of the Agile Reformation is:

Agile processes promote sustainable development.  The sponsors, developers, and users should be able to maintain a constant pace indefinitely.  

I think that this is one of the most overlooked principles of agile.  Work that requires attention to detail, creativity, and intellectual muscle power just isn’t successful when it is being rushed.  Psychologists, describe a period where we are most productive as a state of “flow.”  This is a state where we have focus, and complete immersion in what we are doing.  It typically requires being well rested, limiting distractions and having the opportunity to do something which is intrinsically rewarding. 

Sadly, most companies do not see software development and technology as a “force-multiplier” for their business but as a cost center to be controlled.  Thus, they try to jam as much software development into as little time as possible with employees they consider expendable.  The worst example of this is in the computer game industry. “Crunch time” and “death marches” have become synonymous with software development because many people who control businesses is have no understanding how software is built and who does the work. They just think software is magic that can be conjured up in a moment’s notice. The reality is that human beings require sleep, food, clear goals, and empathy to accomplish goals. 

The global economy is moving very fast.  So fast that it is hard for business people to stay ahead of the decision curve.  This means they make unrealistic demands on the people who help keeping the business running; the software developers and engineers.  This is why they are being asked to work long hours.  This is why they are under so much pressure.  It is also why there is so much desire for outsourcing and contract workers because in a “gig economy” workers need to be added and removed from projects at a moment’s notice.  

I want to argue there is a difference between fast and agile.  A fast workplace grinds out work at a blistering pace but it may be of questionable quality and utility.  An agile workplace delivers on a constant basis and it is high quality and provides value to the business. A fast workplace burns through its employees like they are fire wood.  An agile workplace treats its people like the skilled artisans and helps them grow and develop.  A fast workplace is moving quickly but has no idea where it has gone and where it is going.  An agile workplace knows where it has been and where it is going to go next.  When plans change they easily make changes.  A fast company will crash in a spectacular way and then make a course correction.  

I agree that companies should have #nomoreheroes.  If firms are led correctly and with attention paid to more agile means of doing business success should be a routine activity rather than the result of heroism.  

Until next time.