Sunday, October 12, 2008

What's in a role ?

We are a team of over 100 people. While it is scary, we try to do our best to be as Agile as possible. And it is common sense to most that scaling Agile to fit large teams is quite a difficult task. But while we are at it, one of the things that keeps striking me, is the number of roles we ended up carving out for various teams on a big account. For some reason we have the following roles.. Program Manager, Project Manager, Agile Coach, Release Manager, Business Strategist, Release Analyst, Tech Lead, Lead Analyst, Lead QA... whew !

The other day I was going through this article in Dr Dobbs and one thing which stuck me was the naming of roles they used in organizing large teams. Having someone as a Product Owner, Team Coach, and Technical Owner, gives a feeling to me that roles have more ownership and are not doing vague things as managers. Having team coaches instead of project managers motivates someone playing that role to focus a lot more on building a great team than just crunching numbers for a project.

When I told someone about this, they just felt it was stupid. Maybe I am reading too much into the article and the role game itself.

Continous Monitoring

Well.. Thats the name which Owen suggests in his blog. When I read it, it pretty soon occurred to me that probably thats where I wanted to go with my scope monitor. Not only scope, but real time monitor of your project health.

There are some ideas on using Kodak digital photo frames in work areas for the same purpose, or even sleek LCD displays which can be wall mounted. Owen has uploaded a presentation on that which gives a lot of insight in actually implementing it at your workplace. What do I use now... well currently just a PC with a big monitor near the work area. I am still figuring out a way to put it high up on a wall somewhere.

Scope Monitor

Working as a project manager for an Agile team, I found out that one thing the team needs to keep an eye on all the time is the scope being burned down. I saw other teams putting up big visible charts in the traditional XP style, but what if you cater to a client whose requirements change every other day.

A simple thing which I tried out was to put up a Scope Monitor showing where we are in terms of burning down story points for a release. It gets regularly updated from a Jira web service at real time. Here is an example of what it shows

Scope for the release ----200

In Analysis --------------- 20
In Development ----------40
In QA ----------------------20
QA signed Off -------------20
Customer signed off ------60

A traditional practice in Agile teams also has been managers pulling out the iteration status when they close an iteration to show to the whole team. So why not take it to the extreme and give the team more focus. Another advantage is that once this is live and kicking, your mangers need not always come in standups and talk about quantity of work left etc.. since the team can already see it. A manager can now focus on other priority issues for the day.