If we look at Undiscovered Rework, we see that it is peaking as the project ends:
While Undiscovered Rework is inherently unobservable, it is true that the final stages of a project tend to see a big increase in rework discovery. It is very much like finally putting the pieces of a puzzle together: At the end it becomes quite obvious which pieces are missing or the wrong shape. Examples of problems that can occur are plumbing systems that depend on nonexistent access corridors and ventilation shafts that are the wrong size for the planned equipment.
We can represent these concepts simply by making time to detect errors depend on the state of completion of the project.
Here we have also added in the variable fraction complete and changed project is done so that it depends on the new variable. The new and changed equations are:
fraction complete = Work Accomplished/initial project definition
Units: Dmnl
project is done = IF THEN ELSE(fraction complete >= 1,1,0)
Units: Dmnl
time to detect errors = time to detect error lookup( |
fraction complete) |
Units: Month
time to detect error lookup ((0,5),(0.5,3),(1,0.5))
Units: Month
We are using a lookup function on fraction complete to drive time to detect errors to a much smaller value toward the end of the project. Simulating now gives us:
The project ends slightly later, but there is very little rework remaining at the time of completion.
You will notice during simulation that you receive warning messages about being above time to detect error lookup computing time to detect errors. This happens because the amount of work done slightly exceeds the original amount of work to do. This is something that was expected because of the discontinuous way the project is stopped. This not a conceptual problem so we leave it alone for now.