Skip to content

Instantly share code, notes, and snippets.

Last active July 30, 2020 11:27
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save spion/1e27159101394cd26e8410fb74d82108 to your computer and use it in GitHub Desktop.

Software estimation Q&A

Q: What do the points mean?

A: Lets say we have two engineers, E1 and E2, estimating a story S. E1 believes the story can be done in time T1. E2 believes it can be done in time T2.

We assign the velocity numbers V1 and V2 to these two engineers, such that

V1*T1 = V2*T2 = Ps

where Ps are the story points.

Q: What if the V is different for all tasks?

A: This is quite likely, and thats why you need a calibration session. The engineers sit together and try to find example tasks for 1, 2, 3, 5 points. That way the coefficients should be reasonably well adjusted.

Q: How do you still eliminate the discrepancy between points depending on who estimates?

A: The whole team sits together to estimate all tasks using a pointing poker tool. The result cannot be seen until everyone gives a value (or "i don't know"). If there is a discrepancy, its discussed! If someone thinks a task would take more time or less time, that might mean some knowledge sharing is needed e.g. the team might not be aware of the complexities in certain parts of the code or certain aspects of the feature

Q: How do you take risk into account?

A: Calibrate using risky tasks too. The goal of story points isn't so much in estimating the size of an entire project, but mainly:

  • what can be done in the next sprint or two.
  • do we need to share more knowledge about certain areas since we have discrepancies about what work they involve

Once you have the scale, if you do need to estimate bigger things, you might want to try and do 3-point esitmation: on them, but you should realize it will likely take a lot of time and it will require things to be broken down to stories of the size no bigger than the maximum points that are being used (typically no bigger than 1 sprint)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment