Part 2: Process Mining to Implement Better DevOps
In part 1 of this series, we looked at how mining and analyzing process data automatically captured from the toolchain can help a project improve its performance and implement DevOps.
Here’s a real-life case study that illustrates the benefits of process mining.
The Scenario—A program that is creating a security system has an upcoming critical delivery. The program has been in development for over a year, with the team making multiple component deliveries. In six weeks, on June 1, the software and hardware will be integrated prior to initial full system release. The program’s Scrum Master uses Jira to manage the software team’s user stories, with each team member updating their own progress. The program manager uses Microsoft Project to plan and track program activities. The date is now mid-April and the program’s schedule shows that deliverables should be completed as planned on June 1. However, the schedule has been wrong before. The organization’s senior leadership has stated that promises to customers must be kept!
Process Mining Analysis
- The process mining data ingest function automatically collects the following data from the program’s toolchain:
- From Jira:
- Past user story completion history, including when the story was completed, story point size and other characteristics of completed stories, and the developers associated with each story.
- The story point size and other characteristics of the planned user stories for the June 1 delivery, the developers assigned to work the stories, and the planned completion dates for the stories.
- From Microsoft Project:
- The Pert network of activities leading to the June 1 delivery.
- From SonarQube:
- The number of code modules that are sufficiently mature to move into integration and the number of code modules not yet mature.
- From Jira:
The process mining analysis performs 10,000 Monte Carlo simulations of program execution, with the program’s critical path calculated for each simulation run using the Pert network, individual activity completion probability distributions estimated from user story past completion data applied to the planned stories needed for the delivery, and the maturity data on the code itself.
Based on the Monte Carlo analysis from the existing schedule, current software code characteristics, and the team’s past completion history, the program is predicted to have a 70% chance to deliver the software as planned by June 1. However, the program has a predicted 100% chance of delivery by June 8. The program therefore has six weeks—from mid-April until June 1—to move the predicted delivery from likely (70% probability) to certain (100% probability). The program manager approves one week of overtime per developer over the next six weeks (a 17% increase). The program manager briefs senior leadership on the data-driven analysis and the actions taken to make the program’s delivery a certainty.
The output of the analysis are shown below in Figure 1. The four charts show (from top left, clockwise): (1) the relative frequency of program completion dates over the 10,000 simulation runs, (2) the estimated probability density function in days for program time-to-complete, (3) the cumulative probability for the program completion on any particular date, and (4) the calculated reliability of the results.
A Successful Outcome
- The program manager and Scrum Master can assure senior leadership that extra “help” to meet the promised customer delivery will not be needed. Since extra help from senior leadership always seems to mean that the program manager and Scrum Master have to do even more work in preparing status reports and briefings, life is good for the program manager and Scrum Master in avoiding that fate.
- The developers get to spread a small amount of extra work over the next six weeks, rather than the death-march schedule that they usually endure a week or two before delivery. Life is good for them, too!
- Senior leadership has confidence about the delivery date based on data-driven facts, in contrast to the opinion-based “assurances” that they usually get.
In part 3 of this article series, we’ll discuss the benefits of using process mining and analysis in more detail.