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

Hello World!

> echo "Hello World!"

Welcome to NuggetBytes.net! I am a Principal Technologist / Software Engineer with nearly 20 years of profesional experience.

Welcome to my blog. Here I will muse about software engineering, agile, and perhaps even review some books.

Why NuggetBytes?

Why not? I like the name. One of my cats is called Nugget and lets say he likes to bite. Then nugget (tiny chunks) and bytes- I thought it was a clever little play on words that worked well together with the cat name reference.

A blog? what year is this?

Hey! it's never too late to start writing a blog! I have had many ideas for posts and for "series" of blogs that I have been wanting to write for a while.

I have a few ideas that I feel would be fun to write about. It is cheap to write a blog and it is cheap to host (many places to host for free). If anyone reads my blogs and enjoy, then better, but if not, I will mostly be using this as motivation to keep sharp and to get my hands dirty with side projects and to generally improve my writing.

OK... tell me more

Having made my way from Software Engineer to Principal Technologist, I am someone that enjoys writing Software, and also realises that there is much more to Software than writing code.

I enjoy the whole process. The blog will focus a lot about programming languages, design patterns and software process (ermm agile and not agile)

I would like to cover a broad range of topics related to software development.

What about AI?

Of course, AI/LLMs are everywhere right now. I don't have any plans to write about AI/LLMs, but who knows.

I will use AI to bounce ideas and to check my work. But all the content here, I can say is my own.

Tools

This site uses Quickblog to generate html from markdown files. Quickblog can run in Babashka or Clojure. Massive thanks to Borkdude for putting together this lovely blog static site generator.

I am using the almost classless LaTeX CSS framework. I loved using LaTex at uni, and LaTeX CSS really brings the readability of LaTeX to the web.

But what IDE?

I don't use an IDE. I have always resisted using an IDE. I have always been a Vim person, and more recently NeoVim and Tmux. NeoVim and Tmux will likely feature as topics in some posts.

How about site analytics?

I am writing this mostly for myself, however, it is nice to see the traffic that has been coming through (especially if I hit the jackpot and get nice traffic from HN or Lemmy) - however, I don't want to use any tracking that does not respect users privacy. For this reason I have opted to use Cloudflare Web Analytics since according to them:

"Privacy-first, lightweight, accurate web analytics—for free"

Free, lightweight, accurate and privacy first! ticks all the boxes.

Hope you enjoy!

Published: 2025-12-22

Tagged: intro about

Archive