Wednesday, January 23, 2013

I Love Lucy: A Lesson For Business Analysts

In this episode of I Love Lucy, a conversation is taking place between two people who don't understand each other's languages.  They struggle to find someone who can translate between french and english, which they fail to do.  Instead, they find linking languages between them.  So the translation goes from French to German, to German to Spanish, and finally Spanish to English.

The episode is hilarious, and it highlighted to me how difficult it is for software developers and business stake holders to communicate.  Executives, Directors, and other leaders are often fluent in their line of business.  They are also fluent in general areas of business.  Words like cash flow, just-in-time manufacturing, and copywriting are thrown around frequently, and often are lost on engineers and software developers.

Conversely, software developers speak in terms that business leaders find foreign and awkward.  Words like source control, unit testing, and SCRUM are thrown around frequently, and business leaders find themselves equally lost.

Companies often struggle with these two different languages  and rather than putting in the time, effort, and energy into investing in being somewhat bi-lingual into these two worlds, they hire a translator.  Called a business analyst, these translators specialize in speaking both languages fluently.  This is an acceptable solution to the translation problem, but it is less than ideal.

Business Analysts create the following problems:

1)  In the kindergarten game telephone, a message is whispered around the circle and the original message is compared to the final message, and they are often very, very different.

2)  Business analysts are expensive.

3)  If your job is to bridge the communication gap, then you really don't have a vested interest in bridging the gap, in fact, there is profit to be made in making sure the gap is as wide as possible.  This creates a culture of information hoarding and miscommunication.

4)  When mistakes are made, blame is spread around.  Since the analysts are in the middle, you often hear several different stories on who is at fault and what the problems actually are.

5)  Translation takes time, and therefore delays projects, decreases velocity, and hurts shipping times.

So what is a better solution?  I think business people can spend 20% of their time and get 80% of the value by spending some time learning some basic terms of software development, so they understand the challenges that developers face.  I think developers can spend the same amount of time learning to serve the business they are in.   This investment is just for the initial communication issues.  Within months, these communication problems will go away, and that investment will pay off year after year. 

This small investment has no downside, will increase velocity, and will definitely improve your software ship times, while decreasing bugs and increasing software quality. 

We prefer to have constant access to our customer so we can be in constant communication.  This helps us learn from each other and grow together.  Trust will build, and software will ship.  Everyone is happy and the communication problem is solved.