About “Standing on Bits”
In this book we have outlined a solution that merges and takes the best of both worlds, Agile and the Theory of Constraints.
In particular Agile practitioners will enjoy a more financially sound way of prioritizing and selecting the work to be done; a better way to deal with multiple projects (or product development streams), stakeholders, deadlines and teams; finally resolve the conundrum of dependency management at scale by collapsing the combinatorial explosion of dependency networks in a simple linear queue in front of the Constraint.
Likewise TOC practitioners, by leveraging on the techniques that are well established in Critical Chain Project Management, will be able to create the behavioral habits and response patterns that are typical of Agile settings. By using the Work Execution Signals (Aging Signals and Buffer Signals), we trigger intense, frequent and engaging collaboration between all players, leading to an environment that unleashes the organization’s collective intelligence via co-creation and social learning.
The instrumentation to collect Flow Metrics at the team level enabled us to identify and reason in terms of the Work Flow Constraint, Work Process Constraint and Work Execution Constraint, bringing together information from the past, the outlook of the future and the current conditions of execution. By understanding and observing the interactions between the three, we create the setting for effective Constraints Management even in the field of software engineering management.
With the solution that we have outlined, Agile and TOC can now co-exist, and work better together. Any other Agile or TOC concept can be leveraged on top of this solution too.
Whether you have an Agile or a TOC background, you will learn about a new way to handle software engineering management at scale.
In this book we are considering the field of software engineering management at scale, though the ideas expressed could be applicable in other knowledge-intensive fields too.
The core problem addressed by the book is the conflict between the needs of business performance and the needs of human performance. The former is addressed by the Theory of Constraints; the latter by Agile. To reconcile the two needs, we propose focusing on four flows: Financial Flow, Operational Flow, Informational Flow and Psychological Flow.
Work is organized in target scope work packages, called MOVEs (“Minimal Outcome-Value Effort”), that represent the balance between the internal forces tending to stability, and the external forces tending to growth. This allows us to delineate a separation of concern, where the external forces focus on Money, while the internal forces focus on Time. The objective is to optimize for the speed of generation of Money.
Any MOVE can be associated with an expected Throughput Rate. Using the Throughput Rate incoming work can be prioritized and sequence based on its Throughput Rate. The business side will provide estimates for Money, while the engineering side will provide estimates for Time.
More specifically Time is estimated through probabilistic forecasting with Little’s Law, using past Flow Time distribution data.
Every team’s Work Process can be represented via Kanban boards. We identify the Work Process Constraint by finding the Work Process State that has the longest average Flow Time.
We can thus employ Drum-Buffer-Rope scheduling by placing a DBR Buffer in front of that Work Process State. The Replenishment Signal of the DBR Buffer will dictate the release of work into the Work Flow.
When multiple teams cooperate in a Value Network, we identify the Work Flow Constraint as the team that has the longest Virtual Queue Time that can be forecasted for its portion of incoming work. Hence the Work Process Constraint of the Work Flow Constraint will be the source of the overall system DBR Replenishment Signal.
During execution of MOVEs by any team, we use a CCPM-style buffer associated with the MOVE. Such a buffer is constructed by using Little’s Law with respect to the incoming Workload, and the historically measured average Operational Throughput. Similarly, the Buffer Consumption is derived using the actual Operational Throughput to date.
With knowledge of the Buffer Consumption and the Target Scope, we can compute the Buffer Burn Rate. When multiple teams are performing work on multiple MOVEs, we can visualize the relative criticality in terms of Buffer Burn Rate via an animated Bubble Fever Chart. We thus identify the Work Execution Constraint as the MOVE/Team that generates the worst Buffer Burn Rate signal.
The arrangement can be integrated with classical Critical Chain Project Management, especially if there is a mix of physical and software engineering activities. The overarching project is governed by the logic of CCPM, while the software engineering activities are converted into MOVEs and governed as proposed.
The focus given by finding the Constraint in the system allows us to address one of the greatest problems in contemporary software engineering: dependency management. The combinatorial explosion of dependencies can be imploded into a single linear sequence of activities that are ordered in front of the Work Flow Constraint, making the management effort orders of magnitude smaller.
To better cater for different kinds of works, MOVEs are categorized into: Value, Outcome, Development Precursor, Delivery Precursor, Architectural Elements, Exploratory and Failure Demand MOVEs. Each one of which allows the company to exercise better informed financial responsibility over the development efforts.
The human performance element is addressed by striving to create the conditions for both team and collective Psychological Flow States. One effective way to achieve this is to calibrate the position and size of the team’s MOVE Buffers so as to keep them in the “yellow” Buffer Zone, creating the right balance between challenge and skill levels.
To better foster continuous collaboration and use of the team’s collective intelligence, the signaling technique based on Buffers that are customary Critical Chain Project Management (CCPM) is repurposed to work with cumulative in-state Flow Time Distributions. This will allow the teams to detect Aging Signals on the individual Work Items that are part of any MOVE. The signals will be frequent, yet allow the teams to see where to focus attention and action.
Teams are encouraged to develop agile attitudes and behavioral responses when such signals are detected. They will develop new habits centered around collaboration. This is even more important when running of daily meetings, which now get a clear indication of what is important to focus on. The highly visual environment and the behavioral responses that are cultivated create the environmental conditions that are rich in Psychological Flow triggers.
The teams are encouraged to use the Work Execution Signals and the Aging Signals to escalate problems, when needed, to the right level of management attention and intervention. In this way the vertical feedback loops are exercised more proficiently: the span frequency and latency of decision making feedback loops improve. Critical decisions are made faster, and with less effort. Finally a few agile bootstrapping expediencies are proposed, to help the adoption of the proposed method through five steps.
Steve Tendon is the Managing Director of TameFlow Consulting Limited, where he helps clients create high-performance organizations and teams by applying the theories and practices described in his books. The focus of his research and work is on creating breakthrough organizational performance-innovation.
A sought-after adviser, coach, mentor, speaker and consultant. He holds a MSc. in Software Project Management from the University of Aberdeen; a Fintech Innovation/Future Commerce Certificate from Massachusetts Institute of Technology; and Blockchain Strategy Programme Certificate from the Saïd Business School, University of Oxford.