-3

I currently manage a team of 1 backend developers and 2 frontend developers. We usually split tasks into backend and frontend subtasks.

Before committing to a scope for an iteration, we assign and estimate the subtasks. Then we make sure that every developer's sum of estimates is less than the length of iteration (20 days). It's important to plan per person, not for the whole team, because otherwise we risk overloading the single backend developer.

This is a manual process at the moment, where we go through the ticket tracker and sum all the estimates. I'd like to find a better solution that would make it easier. Ideally, I'd like to quickly see whether a developer has more tasks assigned to them than they can fit in an iteration.

I tried looking into Jira, but it doesn't seem to provide such planning capbilities. It allows planning for the whole team, but not per person. (Version Workload Report comes close, but it doesn't allow any filtering, so in a larger team it would become very crowded).

  1. How can I quickly estimate work per person planned for an iteration?
  2. Am I missing something, and solving the wrong problem?
4
  • 1
  • Summing isn't always the best way; sometimes work overlaps and you can get considerable gains if one developer works on related tasks. The best technique I have found is the iteration kickoff, where each developer says yes I can or no I can't. Not sure if you can improve on that. – John Wu Jul 29 '17 at 19:31
  • 3
    I believe jira does let you see the total assigned task estimate. But are you really asking for an easier way to count to 60? – Ewan Jul 29 '17 at 20:34
  • yes JIRA got that – BlueWizard Jul 30 '17 at 3:06
3

How can I quickly estimate work per person planned for an iteration?

I suppose the answer to this question is what you're doing now: you are quickly estimating work per person. And it's not working as you want it to.

What you really want is a most precise estimate you can get, and there is no tool for that because you're dealing with humans who can make mistakes, get busy with random things, get tired, get sick, quit the job, or even die.

Even putting the human factor aside, there are always some random tasks which can appear during a sprint, and they will take more time even if you estimated known tasks precisely.

Am I missing something, and solving the wrong problem?

I think it's a matter of software lifecycle paradigm choice.

  • If some tasks don't fit into a sprint, you can just defer them to a next sprint. If it has to take that long, it will take that long.

  • You can get rid of your arbitrary 20 days time frame and just release whenever everything you want to release is complete. It's the features that are important, not the fact that they fit in 20 days, right?

  • You can put fewer tasks into a sprint. For example, plan only 70% of what you have estimated. You can spend the spare time improving quality and dealing with technical debt.

  • Even if you are forced (by your clients) to have estimates, you can explain to them that shit happens, and sometimes it takes longer.

Giving yourself a chance to make some non-fatal, predictable mistakes creates a better working environment where developers feel safe. As a developer, I know how much better it is to not have a deadline: the work still takes the same time (because it has to, you know), but I feel less stressed and produce better code as a result.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.