You have been fighting for the right for your SCRUM or OpenAgile team to do the right thing and allow the TEAM to estimate the work for a project instead of having a PM, senior manager or Committee just make something up for team. Congratulations…
Then you realize.. Oh, Oh.. Now what ? How am I going to pull this off ? You will find all kinds of interesting material on the net with complex formulas and calculations. There are some well written and recognized books about this topic that can help. *Agile Estimating and Planning by Mike Cohn is a great place to start.
What is important is that the TEAM should estimate the work required to complete a Sprint (or a Project). The people doing the work, really know best how long their work will take.
Please remember though, estimation is just that, and should not be cast in stone. The reality is that at this early stage (or even 1/2 way through a project), there are still many unknowns.
I have used the following approach with as many as approximately 20 team members at the same time. Maybe it will work for you.
The following procedure assumes you already have a team or teams that are familiar with their velocity and capabilities.
Here’s how it works….
At this early stage, their may be some stories, but likely everything is in Epic or Theme sizes. Perfect. You don’t need too much detail.
The Product Owner can give a brief overview of the vision. You might find it useful to have stakeholders there to listen in and answer questions at this early stage. This will help them to have an idea already of what obstacles they will need to be removing for the team in the future :->
Then, let the team use what they already know…. Planning Poker Cards. For an overview of the process, here’s a link for a documented procedure from Mountain Goat Software.
Just change the scale of the cards to be 10 times more. A 2 would become 20, a 20 would become 200. The team members already know this system. It will be easy for them to learn.
So, if your usual numbers are 1,2,3,5,8,13,20,40,100, use the same cards for team voting. The values would just be 10,20,30,50,80,130,200,400,1000..
You will quickly get an overall estimate for each Epic with numbers from the team. Just add up the numbers to get an overall number and divide it by the overall velocity and you’ll have some idea of how many sprints of work are left.
More importantly, you will also have started the process of communication among the team members and the Product Owner. The Product Owner will already know which parts of the project may present challenges to assist them in their overall product planning.
As estimates really are just that, don’t get excited if the numbers aren’t what you deem to be perfect. You will have an idea based on existing velocity of the “broad estimate” for the project.
Nothing fancy, works quickly, and gets everybody thinking about the big picture.
NO, it is NOT perfect. That’s not the idea. Spending too much time on this won’t necessarily give you more accurate results. I find that letting everyone know it’s not perfect, removes a lot of pressure and keeps things moving forward. People will STILL do what’s right and give their opinions on issues that really matter to them. Don’t worry about that ! :->
The hardest part is to keep things moving forward, especially with a larger group. Be prepared for this or this will take far too long.
You may find that the numbers are Not what you expected and may be higher than you had hoped for. Think about it this way. If today, the team is telling you based on what they CURRENTLY know that the project will take 6 months to complete, what is the point of saying, NO, the exact amount of scope will get done in 3 months? As agilists, we know better. Besides, at this point in time, we really don’t know what the work actually is yet.
Try and avoid having only developers, or only a certain group, and please don’t exclude testers or BA’s. The idea here is that since you are working cross-functionally, you should be getting a cross-functional vote. Depending on your group size, you may have a hard time getting your WHOLE team involved. Just resist the temptation to only have a few people. You’re really missing the benefit.
This process has also worked for me half way through a very large project for a new team (it was not possible to do this at the beginning). I was fortunate to be in a company that had a great attitude towards the results and used the information obtained to re-align their corporate objectives based on the teams’ input about how long epics would take. That was a great experience and allowed for a very successful project delivery!
Listen to what the team is telling you! They have all given their input this way. There is no reason to think they are wrong about the their capabilities or the capabilities of the company to keep up with them. The team will also automatically factor in the environment they work in and the corporate development culture.
I’ve successfully used this technique with a group as large as approximately 20 people from a variety of teams working on the same project in the same room with a Product Owner and 2 Stakeholders.
That same team also estimated approximately 6 months worth of epics in just under 2 hours. Longer than that would not likely have produced better results.
The goal isn’t to create procedures here, but to find a way to allow the team to estimate work instead of schedules being handed down to them. More importantly, it will start the goal of communication between the Team and the Product Owner.
Maybe this approach will work for your team. If you try this, please let me know how it worked out for you either way.
Mike Caspar – Mike Caspar’s Blog
OpenAgile – http://www.openagile.com
Scrum – http://www.scrumalliance.org
*Agile Estimating and Planning by Mike Cohn