Simulation can be used to compare agile strategies and increase the understanding of their strengths and weaknesses in different organisational and project contexts. The "Lazy Stopping Model" is derived from the idea that we often fail to gather sufficient information within a project in order to get an optimal result. Often we can’t avoid this when designing modern software systems; we learn from our stakeholders as we go, and we are working towards moving targets. However, simulation can be used to find agile strategies that are more or less effective against the challenge of "lazy stopping".
Adam Timlett is researching the simulation of agile strategies with King’s College, London. In his research, he will simulate different strategies for software development or capital projects using the idea of lazy stopping. The simulations can be used either as an educational tool, or as a way to test a set of proposed project strategies against different scenarios.
Timlett will be speaking about simulating agile strategies using the lazy stopping model at Aginext 2020, to be held in London on March 19 - 20.
InfoQ interviewed Adam Timlett about how the Lazy Stopping Model works, hypothesising different agility strategies, and the advantages of simulation.
InfoQ: How does the Lazy Stopping Model work?
Adam Timlett: The "Lazy Stopping Model" derives its name from the idea of "optimal stopping" or "early stopping theory," (see Knowing When to Stop) but whereas those subjects are about how to find the minimum amount of information you need to make a very good decision, the idea of "lazy stopping" (which is my proposal) is derived from the idea that we often fail to gather sufficient information to get an optimal result. This idea is also inspired by Hoffman’s Interface Theory of Perception which argues that perception is "sub-optimal," as evolution only dictates that we gather enough information to survive rather than to accurately perceive our environment. This is "viability" over "optimality".
The "Lazy Stopping Model" therefore just reflects the idea that we choose how much information to gather before taking an action. If we gather less than we "should", for some reason, then we can say that the agent (a simulated person or organisation) has stopped gathering info and is taking action before it should. But in practice, it may be impossible to avoid "lazy stopping," which is where agile strategies come in.
Agility is mainly a defensive strategy against your own ignorance. It’s about dealing with the costs of previous decisions by either failing fast and thereby learning quickly, and/or by lowering the costs of adjustments and re-working them when you learn that what you had built or deployed at first is not quite right. This includes creating an environment and office culture where that is OK and expected, as long as you also learn quickly. In contrast, to maximise efficiency, a more offensive strategy would need to be used when you are confident you have enough information to act quickly in order to maximise your advantage over competitors. These defensive and offensive strategies can look similar in practice, but in reality, the rationale is quite different.
InfoQ: What different agile strategies do you plan to hypothesise in the model?
Timlett: The strategies that I plan to simulate in the model are variations on the defensive strategies theme, and I want to cover a wide range of different styles of agility which emphasise different things. There is, for example, "Continuous Improvement," which is more about modular systems and fast deployment, "Working Right to Left" which is more about culture, and "Lean UX" which is more about learning fast. I also want to model "Waterfall," which is still very much in use, but is not agile at all because it mainly bets on agents not stopping "lazily" but actually having gathered enough information before deciding to move on to the next stage of the project.
I expect the model to show that each style of agility and even Waterfall is strongest in a different organisational and project context, and that each has its own strengths and weaknesses depending on where the uncertainty or "traps" actually are in the project or organisational context. (The "traps" are where it is almost impossible to avoid "lazy stopping"). It is this ability to compare very different strategies that will, I hope, be the strong point of the modelling approach.
InfoQ: How will you do the simulations?
Timlett: The simulation method is known as an "agent-based model," which is a type of computer simulation approach that is used in biological sciences and the social sciences as a way to model systems more "holistically" by relying on many computations, rather than a small number of equations. The "agents" in the model could be cells, or they could be individuals, companies or units of an organisation. The agents interact with one another and often the modellers talk about the "emergent properties" of the system. These result from many discrete local interactions between the agents that add up to a new system state.
A simple example of this "emergence" is the way that traffic jams result from lots of individual drivers making small local decisions to respond to the cars ahead of them. By taking discrete amounts of time to respond to other cars by braking and accelerating after a short delay, these small delays in response can add up to a system traffic jam if the weight of traffic is already heavy and then someone ahead of them suddenly slows down further to look at something that is happening on the other side of the road.
For modelling software projects, the local interactions of the agents is the information available for making decisions, and then the actions the agents take affect other agents downstream, just like in traffic. But it is more like a task flow, with each agent handing over the task in a different state than the one it was in previously. The principles of agent-based modelling still apply though: you define agents, their dispositions, policies, their "driving style", if you like, and what information they can see before they act and what state of the world they inherit before they themselves can act.
InfoQ: What are the advantages of simulation with the Lazy Stopping Model?
Timlett: The main advantage of the Lazy Stopping Model is the conceptual development that it entails, which takes us from discussing agile strategies using only our own personal experiences and anecdotes, to a conversation about agility in which we are better informed and are capable of being more precise and considered than before. It also holds on to the possibility of encoding many experts’ knowledge and adding them together so that the Lazy Stopping Model library becomes a repository for expert knowledge about agile project management techniques and the traps that exist out there.
But mainly, the advantage is in us humans learning how to discuss agility using the simulation as a means of advancing our concepts and elevating our own discussion with one another. It is not necessarily about the output of the simulation itself, because at least initially, we may not be entirely confident about its predictive capacity. This is because, whilst the simulation can model scenarios, without knowing these scenarios’ base rates of probabilities, we can’t really say what is optimal in a given context.
InfoQ: Where can InfoQ readers go if they want to learn more about simulating agile strategies?
Timlett: There are pioneering complex systems scientists in this area who are involved in very exciting research, which I try to follow as closely as I can. Some of them actually work in systems biology rather than organisational economics, but there is actually a lot of potential crossover. For example, the review article cellular noise and information transmission (paid content) by Levchenko and Nemenman provides a good overview of the systems biology topic, from the perspective of the measurement of noise and information transmission in biological systems. In organisational economics, it is also worth checking out Michael Fyall’s thesis from Stanford, 2002, which makes use of an existing simulation of organisations to test out some new ideas. For an overview of some foundational ideas in complexity science, I recommend Yaneer Bar-Yam "Making Things Work".