As I was reading Robert Cecil Martin's The Clean Coder I stumbled upon a section in chapter 10 about estimating tasks. Using Project Evaluation and Review Technique (PERT) you can provide three values for a task: Optimal, Nominal, and Pessimistic, and generate how long it was expected to finish a task. I wanted to try it out, but didn't want to write all the equations when being asked to provide estimates. I could have used any of the PERT calculators out there, but like a typical developer, I set out to create a tool that fitted my needs, hence PERTify.
This application is optimized for desktop screens!
PERT is a statistical tool used in project management, which was designed to analyze and represent the tasks involved in completing a given project. The scheme provides a simple and effective way to convert estimates into probability distributions. For PERTify, we will be using tasks and subtasks, instead projects and tasks.
For each row (subtask) you will see the calculated probability distribution (μ) and standard deviation of the probability distribution (σ). σ measures how uncertain the task is. At the top left of the card you will find μ sequence which is the sum of all the subtasks' expected duration, and σ sequence which is the standard deviation for all the subtasks.
We will using hours as the unit of measurement. Alpha is estimated to be done in 4.2 (μ) hours. However, the estimated time to finish Alpha, Beta, and Gamma is 14.2 (μ sequence) hours with a standard deviation of 3.1 (σ sequence) hours.
Using the standard deviation we can calculate different estimates:
- 14.2 hours
- μ sequence + ( 0 * σ sequence )
- 17.3 hours
- μ sequence + ( 1 * σ sequence )
- 20.4 hours
- μ sequence + ( 2 * σ sequence )
The task is set to take 14.2 hours, or 17.3 hours, or 20.4 hours, etc... But will most likely take 14 hours after rounding down 14.2.
What I learned
- How to use
- This applications was developed using Node
v14.15.4and Create React App
- To run application clone repository and run the following commands:
npm run start