Developers are reluctant to put timings on things,
This is because they are smart and have learned from experience that this is a stupid idea which has no upside for them.
project managers think story points are a waste of time and
Your project managers need training.
clients just want things done!
That's right! But estimates have nothing to do with getting things done. Spending lots of time and creating anxiety around hour estimates will actually have a negative impact on productivity (getting things done.) This is especially the case if you hold your developers to them. They then need to be strategic in their estimates and this takes time. Time spent not programming; not getting things done.
Using hours is almost the worst possible way to estimate:
- What's an hour exactly? If the developer takes a bio-break, is that an hour? What if a PM interrupts asking for estimates or percent completion on their task, forcing the developer to spend 30 minutes getting back to what they were doing? Is that an hour?
- How many hours are there in a day? 6, 8, 10? How many hours are there on weekends? Thinking in hours leads to the bogus idea that you can make up for lost days with more working hours.
- Are all hours in a day the same? Scientific studies show they are not.
Story points are much more effective but the PMs need to know how to use them. People are not good at judging how long things take when they are in flow which is characterized by a lack of sense of time. However, people are good at comparing things. If I know that building the authentication page takes 3 points, and I think that the home page is roughly the same amount of work, I tell you 3 story points.
What the PMs are supposed to do is take those estimates and determine, using empirical analysis, how many days it takes to the team to complete 3 story points. There will be variance in these numbers. There's this whole field of human knowledge called statistics that helps us to make use of that kind of information. Using these calculations the PMs then predict when the work will be complete what level of precision is appropriate. For clients and 85% estimate (i.e. it will be on time or early 85% of the time) is good enough but for other clients a 95% estimate is needed. You can also use the data to help you show the cost of features and how changes modify performance.