Friday, January 12, 2024

Scheduling: Don't do this

'The mistake' to avoid in scheduling is to construct a milestone-success situation that strictly depends upon two or more tasks scheduled (planned) to finish at the same time.
So, what's the big error here?
  • First, as regards milestone success, each of the tasks leading into the milestone is a risk to success (success means: it is achieved on time)
  • Second, total risk is the product of all the input risks (as seen by the milestone) . 
  • So, whereas each task coming into the milestone may not be too risky, say by example 90/10 (*), three tasks of 90/10 each would present a risk to the milestone such that success is reduced to about 73/27 (**)
What are you going to do about this?
Bring on the time buffers! (***)
  • You might be able to add a buffer on one or more of the input tasks to raise the success of that task to 99/01, or so
  • You might be able to add a buffer following the milestone, such that any late success is absorbed by the buffer (This tactic is called "shift right" by schedule architects)
Reconsider the schedule architecture
  • You might be able to reorganize the schedule to eliminate this milestone
  • You might be able to shift resources, activities, or other criteria to change the properties of the milestone
What if there are common vulnerabilities among the tasks?
  • Common vulnerabilities means the tasks are really not independent; there are couplings between them.
  • The "math" of independent events, as given in the footnote below, is less accurate.
  • Generally, the 'tail' situations are more prominent, meaning the central tendency around the most probable finish time "smears" out a bit, and thus possibilities further from the central figure are more prominent.
(*) 90 successes out of 100, or 90% chance the task will finish on time, or early.
(**) Here's a footnote to those estimates: It's assumed the two tasks are independent, meaning:
  • They don't share resources
  • They don't have the same vulnerabilities to a common risk
  • The progress, or not, in one does not affect progress in the other
(***) A scheduled event of zero scope, but a specific amount of time, aka: a zero-scope time box.

Like this blog? You'll like my books also! Buy them at any online book retailer!