Monday, November 7, 2016

Complexity is not cool

Complexity does not help.
One of my biggest frustrations as an agile coach, scrum master, and software developer is how blithely business people think complexity is a good thing.  I do not refute that contemporary society is complicated and that living and working in global economy is challenging.  That does not mean that business people have a right to make this situation more complicated because complexity hides inefficiency, corruption, and stupidity better than any conspiracy theory could imagine.  This week I want to talk about simplicity and why it is important in agile and business.

This week the Harvard Business Review came out with a great article about the bank crisis of 2008 and how eight years later we still haven’t recovered from it.  At the heart of the article was the thesis that career specialists in an industry don’t make good decisions.  Worse, career specialists suffer from three characteristics which hurt their industry: hubris, blinkered vision, and lack of foresight.  With these three traits it was only a matter of time that these experts created a situation which nearly ruined the global economy.

I run into these situations all the time.  I remember having a discussion with an executive which sold medical supplies to nursing homes.  We were talking about how we set prices for our customers and how we do the accounting.  I was given a lecture about how our business was different from a traditional “retail” business because the products were going to nursing homes.  I remarked that the rules of accounting have not changed in 100 years and that everyone learned accounting from the same textbooks in college.  I was told that I had a bad attitude and that I should adjust the accounting system to meet the needs of the business.  Shortly, I left the company.  It was clear it was the kind of culture which used complexity hide misconduct.

Another instance was a company president who could not purchase an MSDN licenses to make sure all of his software was upgraded.  They would rather pay for a license here and there.  This meant the office had versions of office ranging from 1995 to 2003 and applications could not communicate with each other.  It was a nightmare that could have been solved if someone picked up the phone and purchased a license for the entire office.  Instead, it was easier for someone to go to the office supply store and pick up another shrink wrapped box of software which they would have to integrate with the rest of the office.  A complicated problem could be solved with a simple phone call but leadership choose complexity over simplicity.

According to the principles of the Agile Manifesto, simplicity is the art of maximizing the amount of work not done.  This means as the agile coach and as a scrum master, I spend a great deal of time asking if we really need to do something.  I spend plenty of time trying to find the simplest path to a solution.  I also say no to plenty of requests.  It isn’t easy but if you are going to reduce complexity at the office someone needs to be smart enough to say, “I don’t understand this, and because I don’t understand it, I can’t make it work.”

Until next time.