Channels ▼

Dr. Dobb's Agile Newsletter

So how can you avoid this problem? In this organization the only way the CIO could find out what was really happening on the project was to go to the source " she couldn't trust the status reporting hierarchy within her organization which was why she struck up a conversation with me to begin with. Experience had told her that traditional status reporting wasn't going to provide an accurate picture of what was actually happening, but at best provided a sanitized version.

I believe that green shifting is a significant contributor to project failure within many traditional IT organizations. If senior management is unable to find out the true status of a project, then they will be unable to bring resources to bear to fix the problem(s) before it's too late. Or, worse yet, they don't find out about the "walking dead" projects which have no hope of success and therefore should be cancelled immediately; instead these projects struggle along for months wasting resources and destroying morale.

In agile development organizations this problem is greatly reduced. Instead of writing status reports, most agile teams hold a 15-minute daily stand up meeting where each team member describes what they did yesterday, what they intend to do today, and what problems they are currently dealing with (if any). This meeting is called a "scrum" meeting and it is one of the primary practices of the Scrum methodology. Everyone on the team must attend the scrum meeting to provide status, and anyone external to the team who wishes to hear the current status is welcome to attend the scrum. If you don't attend the scrum meeting you won't hear the detailed status: nobody is going to invest their valuable time writing you a status report.

This approach scales very well. Large projects are split into sub-teams, and one person from each sub-team scrum meeting attends a "scrum of scrums" where status is reported up the hierarchy. Status is reported back down the next day by this person in the sub-team's scrum. If you rotate the responsibility for attending the scrum of scrums then you decrease the opportunity for a single person to act as a political filter which green shifts, or red shifts for that matter, your team's status. Similarly, the status within a department or division can be communicated via the scrum of scrums approach.

To summarize, in written reports information will "green shift" the more political filters it goes through between the sender and the recipient. If you're looking for a more open and honest report, then reporting status publicly via scrum meetings is a very good way to do so. Everyone on the team learns about what everyone else is doing, greatly reducing coordination problems, and senior management has the opportunity to find out exactly what is going on simply by attending the scrum. There's one primary challenge with this approach: Can management actually handle the truth?

The term "green shifting" was introduced to me at the Javapolis conference in Belgium in December of 2005. Two attendees and I were talking about political problems in software development and we started talking about this idea. Unfortunately I didn't get their names otherwise I would be attributing the source of this term to them. Anyway, if they happen to be reading this newsletter, please send me an email so I can acknowledge them as the source in future writings.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.