Monday, March 30, 2015

When the Emperor has New Clothes.

Being an agilest is like this cartoon from
the Harvard Business Review.
This is a strange time. I live near the city of Chicago so the weather in March alternates between snow, freezing rain, bright sunshine, and temperature shifts of forty degrees or more.  In this environment of uncertainty, it made me think about agile development as I understand it.  I have been doing agile as a developer and a scrum master now for six years and I have discovered a few things along the way.

As a developer, I have discovered that upper management “loves” agile and scrum.  They like seeing work turned around quickly in smaller increments with a strong commitment to quality and helping the customer.  I have also discovered that agile makes senior leadership very uncomfortable because it exposes personal and organizational weaknesses which they may not want addressed for selfish reason.  I liken this to the short story from Hans Christian Andersen “The Emperor’s New Clothes.”  I have been laid off for pointing out the nudity of an organization and it stings.

I also understand that being an agilest person in an organization can be pretty lonely.  I spent months and years explaining to a vice president who used to work for a major consulting company that all we need are user stories and interaction from the business to start building software.  I will never get over his constant look of disbelief as he saw me push code to test and then re-factor.  He also couldn't understand why I hated technical debt so much.  If wasn't broke so he didn't want to fix it.  When you explain and provide evidence why what you are doing things has merit you will often receive the blank stare accompanied by “…that is not how I learned to manage projects.”

Finally, as a developer I learned I was never good enough.  Object Oriented Development and Web Forms with ASP.NET becomes SOLID development and using Model View Controller approaches.  Coding for ten years without having to write a unit test becomes learning how to write unit tests and learning how to use fakes.  I am always learning and relearning how to do my job so that I can do it better.  In some respects, I am like a doctor or dentist learning how to improve my skills and help others.

Becoming a Scrum Master was also a new experience.  I had to confront my beginner’s enthusiasm with the realities of working with people who had no enthusiasm.  I also understood it was one thing to understand the Scrum process it was another to put it into practice every day.  The members of your team are always watching and making sure that you are living the agile principles and practicing the values of agile; courage, respect, openness, commitment, and focus.

I also discovered that some people in an organization will never understand agile.  These people have a vested interest in having things work the “old way” and no amount of increase productivity or profits will change their minds.  I have learned to isolate these people and try to by-pass their efforts.  Some people just do not want to be reminded that they are wandering through the office naked.

Why does someone choose this lonely and often frustrating path?  I do it because I think that an office should be a more humane and satisfying place to work.  I want to build software which works and that helps people.  As long as I am an agile professional, I will continue to feel this way with both my day job and my current business.  There is a better way and I am going to find it.

Until next time.