Simplicity-Complexity Cycles in Software Engineering
The agile manifesto (now branded with a capital "A" as a bundled product — not to be confused with the agile manifesto) began as a developer-led rebellion against the rigid, formalized software development processes of the 1990s. Released in early 2001, its goal was to refocus efforts on what truly matters: delivering working software that meets customer needs. The agile manifesto served as a rallying cry, highlighting the importance of flexibility, collaboration, and the frequent delivery of working software.
Almost twenty-five years later, agile methodologies have become unnecessarily complicated. The rise of paid certifications, seminars, and a multitude of methodologies and roles has turned Agile into an industry — and a product — in itself.
The simplicity and core principles that the agile manifesto once captured are increasingly being lost in translation.
Since its release, several subsequent movements have emerged, emphasizing high-quality software and developer responsibility — software craftsmanship being one of the more prominent examples.
The core challenge, in my view, lies in the fact that software development remains a relatively young industry — one that is still in the process of finding itself while growing at a rapid pace (yes - even in 2025).
- We are still evolving as a craft.
- We are still defining the boundaries of a software engineer’s responsibilities (DevOps, QE, Security Engineering, etc. are branching off as their own craft).
- We are still working on standardizing processes and testing new approaches.
The field continues to oscillate between formalization and agility. This doesn’t invalidate the four values of the agile manifesto. Rather, it suggests that strict adherence to ceremonies and roles may not be necessary. Agile is better understood as a mindset within teams — a cultural approach rather than a procedural one. Today’s software development environment demands flexibility, allowing teams to adjust their strategies to meet rapidly changing needs and technological advancements.
In my opinion, we shouldn’t be searching for a definitive solution. That is trying to solve a cultural trend. These shifts will unfold on their own as the software industry continues to mature and AI becomes ever more intertwined in it.