Eli Goldrattt, Theory of Constraints, suggests reducing batch size to bring the system into control. Limiting work to real capacity reduces delays. “Don’t work on huge things.” recommends Al Shalloway, Net Objectives in a Dec 9 online discussion. Get smaller, coordinated things going through the pipeline faster and make sure the pipes are not clogged so value can flow. An Agile mindset requires a business driven, pragmatic focus on business value delivered. Project teams can achieve predictability by eliminating waste and focusing on delivering highest value items. Delays remove the predictability. Implement Lean across the entire value stream. At the portfolio level, only start work that can be technically completed.
Systems and Structures are the framework for Lean. Waste comes from delays in workflow and feedback. Customers seldom know what they need in advance. If testing is delayed, rework expands. Lack of alignment is the norm because teams have an independent backlog. The key is to eliminate extra, valueless work. Building the right thing happens if acceptance testing comes first. Design needs to be emergent. Build quality in by synchronizing, automating, refactoring, and writing change-tolerant code and don’t inspect after the fact.
Portfolio management becomes critical to making sure individual teams are working on the most valuable items. Design of individual features is done on a just-in-time basis. Teams then must organize their work by high level feature, so that dependencies are managed and features are integrated every cycle.
Do work once and only once and tend to the ability to change. Assume that some of your design decisions will be wrong, so code to allow rework and encapsulate all your risky decisions, so integration works. Sometimes big disruptive change is what’s needed. Some cultures can’t tolerate big disruptive events.
To achieve the maximum productivity, ask what happens when you are over capacity and when task shifting and work delays are common. Kanban is a process for signaling that capacity is now available for more work. Standard waterfall project management is done in huge batches of 6 month or longer duration. The question is what is the capacity of a system? If you work on too many things, it slows down work by inserting delays while waiting on others. Cutting corners can introduce bugs. The longer the delay in finding the error, the longer it takes to track down the problem. Standard allocation of people fails because delay time causes compounded errors which don’t get accounted for in project estimation. Adding more work is like adding more cars to the freeway. It greatly increases total cycle time.
Having too much work going on at the start of a process simply moves more and more unfinished work backed up against the bottleneck points in the middle or at the end. Never let the practices get in the way of the outcomes such as visibility, small batch size and removing bottlenecks. The ultimate goal is maximum throughput of successful, high value work. Kanban boards show work flow visually. This can be particularly useful by having a visual system to show the entire organization the workloads of shared service teams which are often bottlenecks.
In a series of Forbes articles, Steve Denning writes about the need to use Agile project management as a target culture for successful delivery of software and other projects. Because Agile recommends doing projects with cross-functional Scrum teams of under 10 people, many larger organizations view Agile as workable for only small projects in small organizations. However, as Denning points out, all organizations need to be able to do their projects with the efficiencies described above. Enter Dean Leffingwell’s SAFe, the Scaled Agile Framework, which provides a systematic method of implementing Lean Agile principles starting with Program Portfolio Management and rolling down through Programs to individual teams.