Agile Cycles

I have been really enjoying reading Thinking Forth by Leo Brodie and On Lisp by Paul Graham (both great books available for free!). One thing that stood out to me as I read the books "wow this is actually agile, more agile than what we do today" I don't think that this is "a discovery". The agileness of both books just slaps you right in the face. In the preface to the 2004 edition, Leo himself even mentions that people have compared "Thinking Forth" to "Extreme Programming". On Lisp similarly goes on about Bottom Up Programming, REPL driven development and other techniques that make Lisp programmers be more iterative and deliver faster.

To add more to this, I studied Software Engineering in university (before agile was popular). In Software Engineering we were taught about Boehms Spiral Model which was introduced in 1988, as well as other techniques such as Throwaway Prototyping. Techniques which are cornerstones of agile.

Both these books, and Boehms Spiral model predate the Agile Manifesto (which was written in 2001).

This got me thinking and looking at the state of agile right now. From personal experience, I don't think that most companies are currently really "doing agile". This is somewhat backed up by Ron Jeffries calling many of the forms we see around us Dark or Faux agile.

Since Forths philosophy and most of Paul Grahams writing predates agile, clearly, agile existed before the agile movement. However, given that agile seems to be fading, I want to question, is agile cyclical?

If agile existed, why the Agile Manifesto?

As mentioned above, many have compared Leo Brodies "Forth philosophy" to Extreme Programming. And from just reading "On Lisp" and other articles you get real agile vibes. For example in "Programming Bottom-Up" and "Beating the Averages" both talk about the importance of tight feedback loops and even refactoring (perhaps even before refactoring was a word?). But why was the Agile Manifesto written? had things "gone south"?

So is agile cyclical? I don't think so. What looks like a cycle is really just agile practices moving between visibility and obscurity in mainstream business.

I think that whilst agile methods existed before the agile manifesto, I think that the manifesto authors were targeting a very different audience to Leo Brodie and Paul Graham. Leo mentions in Thinking Forth about teams of 5 being large and Paul Grahams writing seems to focus more on startups. The agile manifesto authors, many of them worked for big consultancies and enterprise teams (Example Martin Fowler at ThoughtWorks and Alistair Cockburn had at least done some work with IBM).

The agile manifesto authors, were (going by the manifesto itself) tired of "red tape" and the wrong software being delivered. We have all seen the famous tree swing cartoon? A simple but powerful comic showing miscommunication between the different silos when building software. Even though this was just a cartoon and perhaps a bit exaggerated, I imagine that the manifesto authors saw a lot of real life analogies to this cartoon and wanted to do something about it.

But given that now one of the most prominent manifesto authors is calling most modern agile "Faux/Dark" (this tracks with my experience), what happened? what has agile actually changed?

Agiles impact and my experience

I was a young Software Engineer, fresh out of university when the "agile movement" was hitting. Living in London at the time, there were also many events held around the "Silicon Milk Roundabout" (Special shout-out to the Skillsmatter exchange) and of course, there were many books written by the Agile Manifesto authors that were becoming extremely popular (example Clean Code, Test Driven Development).

I was hopeful that we would get to be properly Lean, but I was also willing to advocate for Scrum over large Process Initiation Documents (PIDs) that could take a long time to write and then fail due to some unknown unknowns.

Scrum was the methodology that all companies seemed to be adopting. In my opinion, scrum wasn't really agile, and I always hoped scrum was just a stepping stone towards true agility and "leanness". There were some nice things that scrum brought along, like the retros (retros were nice for a while). In my opinion, adopting scrum contributed to more bloated estimates, more delays and "we have already started the sprint" excuses.

Parallel to scrum, and what I think had more / better impact (ironically) is in the "Tools side". On the tools side, we saw things popularised such as easy builds, unit testing frameworks, CI/CD pipelines. This is the biggest and most positive impact that I have seen from Agile over the years.

After the introduction of Scrum, I was still hopeful that more agile and lean methods would be adopted (in a future post, I may write what this 'utopian' lean enterprise would look like), however in came the "Scaled Frameworks". These frameworks really don't have anything that could be called agile. And if "the sprint has already started" was an annoying excuse, now it is "the Program Increment has already started".

Why didn't things go leaner?

I think that there is a very simple explanation as to why agile worked for Paul Graham and Leo Brodie which is not team size. It comes down to the fourth point in the manifesto

Responding to change over following a plan

Businesses, want plans and certainties. Scrum and Scaled Frameworks promise these certainties. Lean methods don't. In my experience, businesses care more about the processes and the plans than delivering outcomes. It won't matter if estimates are bloated (do businesses know how much something should take? cue "It's one banana Micheal. What could it cost $10?") as long as a ticket is closed in time.

Can things change for the better?

Yes! I still believe that agile works and can be implemented in medium and large companies. Even though I've written mostly about negatives so far, I have also had the pleasure in working in some teams that were very lean and the projects were successful and from my experience, there are some things (perhaps things that need to be added to the manifesto? maybe it is time for a manifesto 2.0?) that are necessary:

  1. The right people - Having the right people is the most important thing. Good developers and managers. In general, I found that working with people that work "for the team" rather that "for the role" do best in agile teams. Business Analysts that aren't afraid to contribute to testing, Testers that aren't afraid of doing small pull requests, Developers that pair up with Product Owners and so on. Ultimately everyone in the team needs to be smart and have the correct attitude.
  2. Upper management alignment - Upper management needs to be comfortable with agile/lean. They need to embrace uncertainty and ask for the right metrics (metrics is a whole other topic). Allow teams to be "results/outcome driven" rather than ticket driven. With no upper management alignment, metrics and other requests will come to the teams. Some team leads will be able to protect the team for a while, but eventually the bad metrics and 'faux/dark agile' patterns leak through

With the right people and correct alignment, agile is possible. It is possible in startups, medium and large enterprises.

Conclusion

Is agile cyclical? No. Agile has always existed and will always exist. Startups and small teams are more likely to take advantage of it, but it is also there for some more savvy medium and large companies to take advantage if they wish. The question isn't whether agile works, it's whether your organization has the humility to embrace uncertainty and the discipline to hire people who care more about outcomes than processes.

There is of course much more to being a successful agile company. I am looking forward to writing more about how to use agile to succeed in future posts.

Published: 2025-12-24

Tagged: agile

Archive