Skip to content

Instantly share code, notes, and snippets.

@randomcamel
Last active March 1, 2022 23:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save randomcamel/d5b6d16d2ce47df1e6811c5321b42fe0 to your computer and use it in GitHub Desktop.
Save randomcamel/d5b6d16d2ce47df1e6811c5321b42fe0 to your computer and use it in GitHub Desktop.
Chris's Software Estimation
  1. know how much roadmap-project work people can do in a week. commonly it's 40-60% of their time. call that PR (for Project Ratio).

  2. make a spreadsheet: [Story, Description, People, Weeks, Person-Weeks].

  3. break the work down into comprehensible pieces, where you feel confident saying things like "this will take 2 people, working full-time, 3 weeks to implement." in particular, break down milestones that deliver value; where, if the business told you to do something else, that would be okay, and the work done wasn't wasted.

  4. fill in your spreadsheet columns appropriately (say 2 people, 3 weeks, 6 Person-Weeks).

  5. sum up the Person-Weeks. ("People" and "Weeks" are for later.)

  6. Person-Weeks / PR gives you the raw number of Person-Weeks involved (call it TPW). this assumes no technological pitfalls, and infinitely parallelizable work.

  7. TPW / # of people on the team gives you the minimum amount of time the project will take, as you've laid it out. call it TW.

  8. you know your people, their skills and challenges, and the environment you're working in. think about the delays involved in integrating with products or projects outside your influence; delays in waiting for other teams; hazy, hand-waving areas in the implementation.

  9. based on your thinking in #8, and being pessimistic, pick a number from 3 to 10, and multiply that by TW.

  10. there you go.

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