Various wasteful processes slow down software delivery efficiency. Eliminate waste in agile for more effective delivery.
On a scale of 1 to 10, how efficiently do you believe your company delivers software? Now, on that same scale, how efficiently do your customers think you deliver software?
Waste elimination traces back to the mid-1900s, the birth of lean manufacturing and the Toyota Production System (TPS), a strategy so successful that both Toyota’s competitors and companies outside of the auto manufacturing industry have adopted it. The three pillars of TPS are to lighten overburden (muri), reduce inconsistency (mura) and eliminate waste (muda).
You may wonder why I am talking about TPS in a software delivery blog and why now?
I played many different roles in the application development and delivery process (software developer, tester, product manager, scrum master, manager and architect) for nine years. Then I stepped into a business technology consulting role for the next seven. During my time in these roles, I have encountered numerous companies that struggle to deliver software efficiently.
I have found that inefficient software delivery processes create considerable waste, regardless of the kind of company in which they operate. Whether companies are growing through innovation or acquisitions, undergoing cross-functional transformations or depending on custom-built legacy software, their “waste debt” routinely hampers their ability to respond to their environment.
In this three-part series, we will discuss agile waste and strategies for software development.
An Agnostic of Agile
We’re living in a lean era.
On a personal level, “lean” means getting in better physical shape. Accomplishing this goal requires a systematic plan – eat healthily, eat smaller portions and hit the gym at least three times a week. The improvement does not stop there, and for sustained results, I need to execute, maintain and tweak the plan. You may agree that it takes months before you see the change you desire.
Likewise, many companies employ initiatives to streamline operations, reduce technical debt and improve their IT and business processes. The buzzwords “lean,” “agile,” and “digital” characterize the continuous improvement mindset, integrating themselves into businesses that look for ways to deliver products cheaper, faster and better. Adopting an Agile framework lays the foundation for software delivery efficiency. However, there is even waste in agile, which can hinder your company’s continuous improvement mission.
By applying the innovative Lean Six Sigma principles to software development and delivery, you can eliminate waste in agile and take enterprise dexterity to the next level.
Types of Agile Waste in Software Delivery Processes
Agility comes from optimizing application development and delivery processes. To enhance software efficacy, we must first identify the root causes of delivery inefficiencies by looking at each type of agile waste :
High wait times
- Cumbersome approval processes
- Unclear communication expectations between IT and the business.
Rework
- Imprecise business specifications and change requests that require additional meetings to clarify rework requirements
- Inadequate data and misinterpretation of requirements within the testing environment Conflicting QA and UAT timelines that lead to duplicated testing efforts and rework loops.
Over-delivery of low-priority work
- Multiple avenues for work intake that create inconsistent and time-consuming processes
- Significant time spent on low-priority tasks, like checking emails, attending meetings, status reports and training.
Context switching
- Canceled or re-prioritized projects that cause an unexpected realignment of resources
- Shared project resources that result in consistent task-switching
- Fluctuating in-scope initiatives and timelines.
Lack of automation
- Manual testing processes, log changes, and code deployment
- Absent component-level testing that results in defects later in the delivery process.
Inflexible workforce
- Monopolized resources from Vertical IT delivery organizations
- In-demand resources, such as subject matter experts, who are not available when needed.
Reevaluate Your Software Delivery Process
Let’s revisit our 1 to 10 scale. Is your efficiency level the same, or did you recognize some previously overlooked areas? Which areas are the top three in which your business struggles most?
Now that we have explored the causes and effects of agile waste, we will identify specific tools to eliminate waste in agile and show how our proven process techniques improve delivery efficiency in the next part of our series.