Friday, November 13, 2009

Coaching Self Organizing Teams

At QCon London 2009, Jospeh Pelrine gave a talk about coaching self organizing teams. The main point behind the talk was a metaphor comparing coaching to cooking chicken soup. The team is the ingredients and the coach is the cook. The cook has to constantly control the heat. There are several stages:

1. Burning (stressed, burn out, keep fighting).

2. Cooking (border of chaos or anarchy). This is when the team is most creative.

3. Stagnating. What was good is becoming bad and moldy. People stop coming to meetings, no one writes tests, and everybody is procrastinating.

4. Congealing. It’s like jelly. There is still some flexibility, but it is starting to take hard shape. Team is disinterested, there is no ongoing discussion.

5. Solid/Frozen. This is the way things get done here, 9 to 5, no initiative, do my job and leave.

The high and low stages show similar behavior patterns. The key is to control the heat and to keep the team cooking by managing time and tasks.

This presentation is available on InfoQ at

Monday, November 2, 2009

Agile Project Metrics

Dave Nicolette presented Agile Project Metrics at Agile Conference 2009. He explained that there are 3 levels of maturity in agile teams:

1. Six week iterations. Stories are divided into tasks. Estimating is done in ideal time. Burn down chart is updated daily.

2. Two week iteration. Stories are divided but estimates are made in story points.

3. One week iteration. Stories are kept small. No daily burn down chart.

Also, teams are composed of generalized specialists where everyone can contribute in different areas, Tech lead/Chief where junior members are combined with a tech lead to help out in different situations, specialists with internal handoffs from one member to the other.

Collect metrics for self improvements and discontinue once goal is achieved. To the customer, working software is the most important measure of progress. Things to measure are:

1. Running test features

2. Hard financial values (benefit of using software after every release)

3. Earned Business Value (have customer value features)

4. Velocity

5. Static Code Analysis (statements per method, LOC covered by tests, cyclomatic complexity

6. Earned Value Management

The talk concludes by giving an example of a sample scorecard divided into 4 quadrants:

1. Value delivered: Earned Business Value, Running tested features, Burn down charts.

2. Delivery effectiveness: Burn down with team focus, story cycle time.

3. Software Quality: Customer satisfaction, non functional requirements, testing metrics, static code analysis, observations.

4. Continuous Improvement: Build frequency, escaped defects, use of TDD, refactoring, overtime, issues from retrospective

This presentation is available on InfoQ at