Thursday, September 30, 2010

Core Agile Values

I have always felt that agile is really about values: Openness, Honesty, Courage, and Trust. Personally Whenever I remained true to these values things went OK. In those (rare) cases when I have given into temptation, danger was lurking.

Thanks to Geek and Poke
This cartoon illustrates a classic case. Three levels of management get three different answers about the state of the project. As the report moves up the management chain, its status changes from Red to Yellow to Green. Sound familiar?

Why does this happen? A project leader colleague of mine was literally afraid of losing his job if he told his managers the truth about his project. So he didn't. Until one day, the truth could not be hidden any longer. Unfortunately, this was three days before a release party (which had to be canceled). Bad thing.

Did the impact of the truth get smaller as time went on? No. Did it become easier to deal with the problem as time went on? No. So why do people hide the truth? I think lack of trust (and the fear it inspires) is the root cause.

In another case, a ScrumMaster I know didn't want to show the release burn down to the product owner or discuss how much the team had worked on the project during the first sprint. The team hadn't met its goals for the sprint (and had spent much more time than planned on support duties from a previous project).

Why didn't she want to show the P-O this information? "He'll flip out when he sees the project is late after just one sprint." I insisted and she made the information available. She was right, though. The P-O did flip out. And when he settled down, he and the relevant managers had a talk about the amount of support work the team was allowed to do, which eliminated the problem.

If someone is afraid of the consequences of being honest, then that person is more likely to tell people what they want to hear. An policy of trust implies that people can tell possibly unpleasant truths without fear of retribution.

A policy of openness means that all stakeholders in a project have a right to complete, correct and up to date information about the state of the project. It means that there is no good news and bad news, just facts, and we want to react to facts as soon as they become known. If you know the facts, you can deal with them.

Some of you may be thinking, "we can't tell the customer about that." If you think openness is a bad thing, consider the alternative. What are the consequences of a lack of openness? What will happen when the information eventually comes out? (Don't worry, it will come out!) Can you have a policy of selective openness? And if yes, how will that impact your customer's trust and how will that impact your business?