|
Planning poker is not done by negotiating. It's done by doing point estimates simultaneously by the entire engineering team. Providing simultaneous estimates reduces cognitive bias caused by having the lead engineer's estimates influence junior engineers, etc. If they all agree on the point value, no problem. If there is a big difference, then it should open a fruitful discussion so the team can reach consensus. The key is that points don't mean hours, or days or any time measure, it's all a relative measure of the work involved. As long as it is, consensus is usually easy. All tasks should be pointed in Agile. If anything was left out it's on the team to make sure a story is written for it. For example lets say my PM wants us to estimate 10 stories for the next sprint. If I know I have to do some low level work to update the database to make those 10 stories feasible I'll say we need a story for that, and it needs to be our highest priority since all the other stories are dependent upon it. But good Agile is done with a Kanban approach, we have a ranked board of tasks, and work on the highest priorities first. If we forgot a task, we add it to the board and point it, and our PMM/PM prioritize it. This can be done at any time in the schedule. When we reach the end of the sprint, we make sure all the completed tasks are done, bug free and we ship. Then we start a new sprint, working on the remaining tasks, pointing new ones, and working from the top of the Kanban board again. No one ever need to make a single time estimate, or waste more than a tiny fraction of development time doing any type of estimation. |
My main concern here is precisely that it is not negotiated. I like the idea of making sure folks are on the same page. However, the idea of another meeting to discuss what we should instead be building is nauseating.
Instead, meetings that decide what we are not going to build are much more productive feeling. Which is why they should be negotiations. If there is just a list of tasks that has to be done, just keep the list up to date and let the team work on them. If there is concern on priority, make a choice and let the team weigh in. Don't add to their work by asking them to prioritize on behalf of stakeholders.
And kanban is good, but really needs handoff spots between teams. Otherwise, you are just in a constant swarm. Often rewarding the fastest workers. Which is fine, but risks alienating the slower ones that could contribute in other circumstances.