Skip to content

salhernandez/pertify

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

PERTify

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!

Demo

PERTify gif

PERT

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 an in depth explanation of the calculations, please visit The Clean Coder: Estimation, Wikipedia and LinkedIn.

PERTify

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.

PERTify static image

What I learned

Links

Development

  • This applications was developed using Node v14.15.4 and Create React App
  • To run application clone repository and run the following commands:
    • npm install
    • npm run start