Hacker News new | ask | show | jobs
by valuearb 3120 days ago
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.

1 comments

Apologies for the delayed response.

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.

We seem to argue a lot for people who agree so much.

My viewpoint is let marketing estimate the value of features, my job is to give them a rough estimate of how hard each one is to build, and they can decide priorities based on those two things, and tell me what to work on first. If I go too fast and lesser developers feel left out, I'm happy to pair program and do code reviews with them to help them improve.

Yea, all my projects have to have a defined release process (code freeze, final bug fixing/deferall, final acceptance tests), you can't kanban your way through that, but you can kanban your way to it.

I wish more arguments were like this. :) And I have found violent agreement to be much more of a discussion than some disagreements. At least online. (Which yeah, sorta sucks.)

And I should be very clear, if what you are doing is working for you, that is by far the most important thing. I am decidedly not trying to convince you to stop and change.

Further, If it can be formulated and shared with others, I'd be interested in the results. However, I have come to find that I do not expect things to generalize between people nearly as often as my instincts would want them to.

I do take this as a challenge to how I've viewed stuff. Currently, I'm on leave for about a month, but when I get back I plan on paying more attention to the process. I'm hoping I don't miss any retrospectives on projects that were finishing up as I took leave. I'm not convinced people typically zero in on the important points. I am still fully convinced you should always try.