Is Agile All You Need?
Taking a step back and working out the core principles when coding in the age of AI
It’s common sense that in order to build large systems, a good strategy is to start with a simple base model and iterate until the whole system satisfies the desired criteria.
This was one of the core ideas behind the Agile Manifesto.
But there are other, more mature, human-built systems around: in law, math, physics, biology, etc.
Yes, we must start from a simple idea and iterate, but at some point, we have to take a step back and figure out hidden patterns and principles.
I’m not an expert, but look at memory safety mechanisms: garbage collection at runtime and the borrow checker at compile time. These concepts didn’t just happen by going “agile all the way” to the solution.
At some point, families of problems are categorized and defined from first principles, always looking to solve both the original specific case and the more general problem patterns that we find.
This isn’t the common path in most software agile projects.
Iteration is a good thing, but taking a step back to think can solve problems that wouldn’t be solvable any other way.
I would love to hear your thoughts on this topic.
Thank you for reading this post.
This is a very interesting point of view. Do you have any books related to that to share?