Agile Isn’t About Anarchy, At Least Not At The Macro Level
Some developers and entrepreneurs use agile development as an excuse for cowboy coding.
Some conversations that are probably happening right now at startups across the world …
“We are doing agile development. We don’t need to plan. We don’t need to commit. We are responding to change, right?”
“We are doing agile. We don’t need testers and testing. We’ll just develop it, get it out there. Stop bothering us with all this release criteria non-sense. We’re not doing waterfall here. We’re doing agile! Get on with the program dude!”
Every once in a while I encounter people who have this attitude towards agile development. It’s typically in small startup organizations that are using agile as an excuse for having a very relaxed and undisciplined process towards product development. For these people, agile development is some incarnation of cowboy coding where they have the freedom from any release structure, they can work on their own with a lot of autonomy about process and content. Entrepreneurs love this environment because it is conducive to experimentation and innovation.
Let’s map this anarchy to the overall life cycle of software development organizations.
The Marshall Model
Back in 2012 Bob Marshall created the, “Marshall Model of Organizational Evolution.”
According to the Marshall Model, organizations start in the Ad-Hoc state, which can seem quite chaotic and anarchic:
Ad-hoc: ad-hoc organisations are characterised by a belief that there is little practical value in paying attention to the way things get done, and therefore few attempts are made to define how the work works, or to give any attention to improving the way regular tasks are done, over time. The Ad-hoc mindset says that if there’s work to be done, just get on and do it - don’t think about how it’s to be done, or how it may have been done last time.
To use an example: attention to quality will depend on the people doing the work. If they’ve been burned in the past by bad quality, there is a chance that they will naturally test their work. If they’re big believers in good engineering practices they might work in a test-first model and write good test automation. But there is nothing to guarantee that. Especially if there is pressure to, “get the demo ready in time for TechCrunch Disrupt” or, “finish this feature before the next investor visit.” Even people who’ve been burned by quality problems in the past will get swayed into leaving quality behind.
We’ll Bring In The Responsible Adult When The Time Comes
The whole industry knows that at some point, if successful, startups will attempt to scale the company. Time to bring in testers and use a proper development life-cycle. This is mapped to the “Analytic” state in the Marshall Model. During this period organizations typically bring in the “responsible adult” who brings discipline, metrics, documentation, systems etc. Role specialization starts to take place. Managers are command-and-control persons whose style it is to assign resources, implement and directing everything. Entrepreneurs, those move-fast-and-break-things mavericks, don’t like this stage too much. In many cases, the point of structural organization is the point when they start to focus on other things or even move on.
Who can blame them?
Where’s The Agile In This?
Agile-ists don’t like the Analytic stage. But that doesn’t mean that Agile-ists like Anarchy/Ad-Hoc stage either. Agile actually lives in the next two states or stages of development. According to the Marshall Model, these stages are Synergistic and Chaordic. The Synergistic state of the organization is when it starts operating according to Lean/Agile principles like “Respecting people’s abilities and empower them.” And creating organic structures oriented around value streams rather than specializations. The time to focus on flow and learning.
Managers at this stage are “servant leaders” that are respected for their domain knowledge and ability to develop/coach people and achieve systemic improvements towards how the work is done. The servant leader managers create competent organizations and provide clarity of direction so empowered people can move in the right direction.
The Chaordic state takes it even further to allow faster adaptation of the organizational structure and operational system. Chaordic organizations are actually very close to anarchy as a design choice. It is like the modern fighter jet that is designed to be aerodynamically unstable so that it can have maximum maneuverability, relying on advanced avionics (and a good pilot) to keep the appearance of stability. So do Chaordic organizations need very advanced operating systems to achieve this agility without falling into dangerous anarchy.
Another way to look at it is that in the Synergistic/Chaordic states, we are enjoying the benefits of micro-anarchy. Teams and people having a lot of freedom to figure out how to do things because they know that the best designs emerge from self-organizing.
They avoid the macro-anarchy by constraining the use of timeboxes, definition of done, product/sprint backlogs, demos, continuous integration, test-first, daily stand ups and other practices.
Can We Hit The Fast Forward Button?
One thing to learn from the Marshall Model is that, maybe, we can jump over the Analytic state. As the world accepts the value of lean/agile and synergistic approaches, maybe startups can make an earlier jump from Ad-Hoc to Synergistic, enjoy the micro-anarchy that brings the best out of entrepreneurial leaders and developers, while making sure that they are actually steering towards organizational intent and following disciplined processes. In the context of quality, this would mean the enforcement of a strong definition of done that includes the right level of automation in the right scenarios and probably some exploratory tests. And, of course, passing a full regression suite whether it is fully automatic (which is ideal) or that requires some manual testing.
Bottom line, if you want your startup to succeed, start thinking about what state you are in and where would you prefer to go next. The Analytic/Mechanistic state as a result of crazy quality/delivery problems when the Ad-hoc state isn’t working anymore. Or the Synergistic state as a result of pro-actively shifting the anarchy into well-managed, disciplined anarchy.
Don’t wait until it’s too late …
Here are some additional resources to read up on the The Marshall Model: