Many enterprises today are utilizing practices from Lean Manufacturing to improve existing processes. Lean Manufacturing was derived from Toyota's operating model from the 1930s called "The Toyota Way," and has since influenced many of the DevOps practices and cultures, as seen from books like the DevOps Handbook by Gene Kim. It is a production method that consists of five key principles: 'Precisely specify value by specific product, identify the value stream for each product, make value flow without interruptions, let customers pull value from the producer, and pursue perfection.' Let's discuss how to improve your software delivery with a practice known as Metrics-Based Process Mapping.
Metrics-Based Process Mapping(MBPM) is a lean process improvement technique. Often used in the context of software delivery, MBPM is an excellent tool for analyzing and optimizing the software development lifecycle, including requirements gathering, software development, and delivery. The steps MBPM are as follows:
Step 1: Document the current state
Step 2: Analyze the current state
Step 3: Document the future state improvements
MBPM shares similarities to another practice called Value Stream Mapping(VSM). The difference between VSM and MBPM is the scope to which they map processes. In a Value Stream Map exercise, you want to focus on how processes deliver a stream of value(where processes form a feedback loop of value). In an MBPM practice, you want to focus on the steps within a process. If you have a good idea of the process you want to improve upon using MBPM can help hone that specific process. Spending a day to map measurements or metrics to each step allows you to do away with unnecessary steps and to introduce automation.
There are three standard metrics used in MBPM. Lead Time, Process Time, Percent Complete & Accurate. Lead time is the elapsed time or time from initiating the phase to completing it. Process time is the amount of time it takes to handle the said request. And Percent Compete&Accurate (%C&A or PCA) is the percentage occurrence where the finished output was correct according to the requirements of the customer of the process.
At the end of an MBPM exercise, you should expect a linear timeline of events. The events form no cycles within MBPM, and each event belongs to a swimlane, which is defined by the organizational functions or roles that manage the event. When facilitating an MBPM practice, avoid branching processes out by forming decision trees. Focus on one use case/process. A best practice is to select the most common event in the process when mapping the current state. Let’s discuss each step of the MBPM practice.
You want to draw wide swim lanes on a large blank space. Write the process name at the top of this space. You’ll need to define fence posts for the process, which is the start event, and the final event for the process. On the left are external functions. If that group handles an event, that event belongs to that swim lane.
Fill in the remaining events that make up the process. Each event should have a verb/noun format. At the end of step 1, you should up with a series of items that are related.
Assign the key metrics to each item within the process. Use the mean or median values when assigning the key metrics on the event card. You may also benefit from numbering the events, writing the number of people involved, and including barriers for flow through the timeline. An example of a barrier could be "Jira ticket require" between Event 3 and Event 4.
Next, define the critical timeline path. The timeline narrows the events you analyze as you may have branches or parallel steps in your MBPM. A key concept is to pick the path resulting in the highest LT. In this case, our critical path goes from 1 to 9, ignoring step 2b. Now let's perform an analysis of the current state on this timeline path.
Draw two additional rows at the bottom of your blank space. We want to sum up the total timeline LT and total timeline PT values for the critical path. Percent Activity is the total PT divided by the total LT Sum times 100. In this example, we have 63.16% activity in our timeline. % activity calls to attention steps like the change approval process, which has a lead time of 4 days, yet the work to approve takes 15 minutes. It's not that the change approval board(CAB) is not busy, but rather the process's current state holds work that is sitting idle for four days. Specific metrics for each step can help indicate the most significant opportunities for improvement for our processes. Let's continue discussing the qualitative measurements needed for analysis.
Rolled Throughput Yield (RTY) is a measure of quality. Multiply the %C&A values of every step in the process. Here we have ten items, and the RTY value is 4.13.
And finally, we want to add up the total number of people involved in the process. If we have ten people involved in a deployment with a low RTY score, the future state should be one where the number of people involved goes down, and the quality of the process goes up. Then we know we've freed up capacity for those people to do more meaningful work. Full-time Equivalent (FTE) is a measure for the number of full-time staff required for a process.FTE = total PT of the process (in hours) X # of occurrences per year# hours worked by one full time employee per year. The number of available work hours for an employee is typically 2,080 hours per year. It is the number of full-time hours minus paid holidays, vacation, and sick time.
Use this step to analyze the current state of the process. The illustrations above show a fairly simplified software delivery process. Your MBPM may contain more events than shown in these examples. The more detailed your MBPM the more opportunities for improvement. I recommend spending some time with your team to point out the pain points that can be improved.
When planning for the future state keep in mind the goals of MBPM:
I recommend making improvements by performing root cause analysis. The future state may have fewer steps, more automation, and or a higher PCA. Participate in a blameless retrospective and set a plan to reach a future state based on increments of prioritized work.
Improvements should be made incrementally. A standard method for prioritizing is the PACE Prioritization matrix, which based on the ease of implementation and anticipated benefit. If you want to learn more about High Impact, Low effort prioritization, I suggest the Open Practice Library.
Below is a table you can use to measure and predict improvements. The last row includes another metric. Freed Capacity is the current state FTEs - Future State FTEs.
MetricCurrent StateProjected Future StateProjected % ImprovementTotal Timeline PT164.25 hours
Total Timeline LT260 hours
Total PT196.25 hours
Feel free to use this table for noting future state results, and for informing future improvement exercises across your organization.
This post described how to improve your processes using Metrics-Based Process Mapping(MBPM). We took an everyday process as a use case for MBPM and learned how to map that process into a timeline. We then discussed what metrics map to each element of a process, and how to effectively pinpoint areas of improvement around the cost of time, effort, and accuracy for software delivery. If you’d like another format for learning MBPM, here is a link to a youtube video.
Businesses on their digital transformation journeys are looking for new and innovative ways to service their end customers. A process map allows for tracking and planning for improvements that involve fewer manual processes and barriers for flow.
Celebrate efficiency and effectiveness at the end of each iteration. Part of moving fast and not breaking things is giving people autonomy so that they can do more meaningful work. If you resonate with this goal for Software Delivery, Harness may be the right service for your business. Try Harness for free here!
Enjoyed reading this blog post or have questions or feedback?
Share your thoughts by creating a new topic in the Harness community forum.