Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

High-level project planning using Monte Carlo simulation

High-level planning is planning the initial budget and also the range of the time frame for that project. It does not include detailed project plans – these will be developed later. Management has to plan in order to make sure they have the financial means and the resources for all the projects the company has.
We don’t plan in detail what is not absolutely necessary to plan. So, the plan itself is created with the appropriate buffers protecting the decisions that have to be included in the plan from the "common and expected uncertainty" aka common cause variation.
The short-term details, like the scheduling, are done based on the immediate needs and capabilities - and we look on these schedules as the execution of the higher level plan.

We propose a probabilistic approach for preparing high-level plans. Based on existing historical statistical data recorded about a software development organization/team, predictions can be made that could be used for planning new projects.

Here are the SIPs for the baseline project http://modernmanagement.bg/data/SIPs_MonteCarlo_FVR.xlsx

Here is the planing simulation in Excel http://modernmanagement.bg/data/High_Level_Project_Planning.xlsx

The video http://youtu.be/GE9vrJ741WY on how to use the Excel files

  • Inicia sesión para ver los comentarios

High-level project planning using Monte Carlo simulation

  1. 1. Dimitar Bakardzhiev Managing Partner Taller Technologies Bulgaria @dimiterbak High-Level Project Planning using Monte Carlo simulation
  2. 2. Management is prediction. Theory of knowledge helps us to understand that management in any form is prediction. W. Edwards Deming
  3. 3. High-level planning • The initial budget and the range of the time frame • Does not include detailed project plans • The plan is created with the appropriate buffers • Schedules are the execution of the high-level plan
  4. 4. We challenge the project management paradigm and suggest it is better to model projects as a flow of work items through a system
  5. 5. A project is a batch of work items each one representing independent customer value that must be delivered on or before due date. The batch can contain even only one work item.
  6. 6. A Project in a Kanban System Input Queue DEPLOYED! Project Backlog Development Test QA WIP 5 WIP 4 NO WIPWIP 2
  7. 7. Z-curve
  8. 8. 1st leg – Setup time • climbing the learning curve • conducting experiments (spikes) to cover the riskiest work items • setting up environments • adapting to client’s culture and procedures • understanding new business domain • mastering new technology
  9. 9. 2nd leg – Productivity period If the project is scheduled properly the system should be like a clockwork – sustainable pace, no stress, no surprises…
  10. 10. 3rd leg – Cleaning up • Clean up the battlefield • Fix some outstanding defects • Support the transition of the project deliverable into operation
  11. 11. Project delivery time T 𝑇 = 𝑇𝑧1 + 𝑇𝑧2 + 𝑇𝑧3 Where: 𝑇𝑧1 – is the duration of the 1st leg of the Z-curve 𝑇𝑧2 – is the duration of the 2nd leg of the Z-curve 𝑇𝑧3 – is the duration of the 3rd leg of the Z-curve
  12. 12. Takt Time is the time between two successive deliveries Start 5 days 7 days 2 days 2 days 1 day 5 days Finish 0 days 0 days 5 days 7 days Project delivery time = 5 + 7 + 2 + 1 + 5 = 20 days
  13. 13. How manufacturing measure Takt Time?
  14. 14. How knowledge workers measure Takt Time?
  15. 15. Average Takt Time 𝑇𝑇 = 𝑇 𝑁 • T is the time period over which the project will be delivered (delivery time) • N is the number of items to be delivered in period [0,T] • 𝑇𝑇 is the average Takt Time for period [0,T] at the Dev System level
  16. 16. Calculating Delivery time for a project : 𝑇 = 𝑁𝑇𝑇 • T is the average time period over which the project will be delivered (delivery time) • N is the number of items to be delivered in period [0,T] • 𝑇𝑇 is the average Takt Time for period [0,T] at the Dev System level
  17. 17. Project delivery time 𝑇 𝑇 = 𝑁𝑧1 𝑇𝑇𝑧1 + 𝑁𝑧2 𝑇𝑇𝑧2 + 𝑁𝑧3 𝑇𝑇𝑧3 Where: 𝑇𝑇𝑧1 is the average Takt Time for the 1st leg of the Z-curve 𝑇𝑇𝑧2 is the average Takt Time for the 2nd leg of the Z-curve 𝑇𝑇𝑧3 is the average Takt Time for the 3rd leg of the Z-curve 𝑁𝑧1 is the number of items delivered during the 1st leg of the Z-curve 𝑁𝑧2 is the number of items delivered during the 2nd leg of the Z-curve 𝑁𝑧3 is the number of items delivered during the 3rd leg of the Z-curve
  18. 18. We should NOT use the Average Takt Time as a single number but a distribution of the average Takt Time instead!
  19. 19. Stochastic Information Packet (SIP) • Comprised of a list of trials of some uncertain parameter or metric generated from historical data using Monte Carlo simulation (resampling) • Represents an uncertainty as an array of possible outcomes (distribution) • It is unique per context (business domain, team, delivery process used etc.)
  20. 20. How to predict project delivery time? 1. Collect Takt Time data for each of the Z-curve legs of a Baseline Project 2. Using Monte Carlo simulation generate Average Takt Time (AvgTT) distribution (SIP) for each of the Z-curve legs and store them for future use Then when a new project needs to be planned: 1. Using Monte Carlo simulation generate Delivery time (T) probability distribution based on the baseline AvgTT SIPs 2. For predicted delivery time use the 85 percentile of the Delivery time (T) probability distribution
  21. 21. 1. COLLECT TAKT TIME DATA FROM A PROJECT TO BE USED AS A BASELINE How to predict project delivery time?
  22. 22. Data for the baseline project • Fortune 500 Staffing company • Technology – Java; Spring; Oracle; • Delivery time of 199 days • Project scope of 238 user stories • 42 stories delivered in the 1st leg of Z-curve • 161 stories delivered in the 2nd leg of Z-curve • 28 stories delivered in the 3rd leg of Z-curve
  23. 23. 2. GENERATE SIP FOR AVERAGE TAKT TIME (AVGTT) USING MONTE CARLO SIMULATION How to predict project delivery time?
  24. 24. Takt Time SIPs for each of the three legs of Z-curve
  25. 25. 3. GENERATE DELIVERY TIME (T) PROBABILITY DISTRIBUTION BASED ON THE AVG TAKT TIME DISTRIBUTIONS (SIP) USING MONTE CARLO SIMULATION How to predict project delivery time?
  26. 26. New project to be delivered • THE SAME Fortune 500 Staffing company • THE SAME development organization • THE SAME technology – Java; Spring; Oracle; • Delivery time TO BE PREDICTED
  27. 27. Project scope The team would break down the requirements, account for Cost of Delay, add work items for Dark matter and Failure load and decide that: • 12 stories TO BE delivered in the 1st leg of Z-curve • 70 stories TO BE delivered in the 2nd leg of Z-curve • 18 stories TO BE delivered in the 3rd leg of Z-curve
  28. 28. Monte Carlo summation of… …will give us the time needed to deliver the project! 12 work items 70 work items 18 work items
  29. 29. Mode = 76 days; Median = 77 days; Mean = 78 days; 85th perc = 90 days
  30. 30. References Here are the SIPs for the baseline project SIPs_MonteCarlo_FVR.xlsx Here is the planing simulation in Excel High_Level_Project_Planning.xlsx Content is inspired and based on ideas from David J. Anderson, Troy Magennis, Alexei Zheglov What is SIP?

×