We recently talked how small and unassigned tasks can help you manage the risk in the project. In short: they help to guarantee that despite the obstacles people keep working on the most important things.
But to take most from such approach we need one more rule. Let’s talk a little about it.
When project managers assign tasks to developers they will usually try to do it based on who they think are most qualified for them. Unfortunately when developers are in charge of assigning stories the effect is not much better. They will usually try to take tasks, that they feel most comfortable with. Frontend developers will take frontend tasks. Developers with more backend background will take backend tasks. The long term the effect is that people specialize in particular areas of code and Collective Ownership declines. And this is exactly what we would like to avoid.
This happens because sometimes the developers have different goals to your goals. They want to make their job easy or fun, where the goal of the project owners is to have the most important task get done. And the most important task is not always the most compelling, neither related to the most fancy, recent technology that the developers would like to learn and use
The solution is to have very strict and simple rule for the developers to follow. And the rule says Take the first task. Where First means unstarted tasks with highest business value. When I join the project as a developer for the first time, or on Monday after weekend, or after a two-week-long vacation, I am interested in one thing only: What can I do for you?. The answer should be immediately visible for me. I do not care if you use Pivotal, Redmine or Trello. I just want to look at the top of the list and finish your most important task today. Get it done, deliver on production and forget about it.
In next episode
The next blog post will be about Project Managers. Whether you actually need them and what are the alternatives to hiring them. Subscribe to be notified when it is out.
How about you?
Is it immediately clear to you in your current project what you should be working on as a developer? How long does it take to figure it out? Do you need to talk to someone to get that information? Leave your feedback in comments or on twitter.