Last month, I got the task to explore the prerequisites and create an implementation plan for establishing the Scaled Agile Framework (SAFe) within a department in the Swedish public sector. (If anyone has experience with this, feel free to reach out!)
Simultaneously, I stumbled upon an article in the Journal of Engineering and Technology Management that set my thoughts spinning: “Understanding the development of emerging complex intelligent systems” by Appu Balachandran and Nicolette Lakemond from Linköping University, along with Gunnar Holmberg from SAAB.
The article delves into complex development environments and the various forces driving change and evolution. It builds upon Van de Ven and Poole’s model from 1995, which categorizes organizational change processes based on four fundamental perspectives: lifecycle, teleology, dialectics, and evolution.
Let’s summarize these four theories and consider how they relate to well-known system development paradigms of today:
- Lifecycle Theory: Change occurs through a predetermined sequence of stages. This can be likened to the waterfall methodology in system development, where each step must be completed before the next one begins.
- Teleological Theory: Change is driven by goals and purposes. This aligns with Agile development, where projects continuously adapt based on feedback and shifting objectives.
- Dialectical Theory: Change emerges through conflict and synthesis of opposing forces. We see this in Scrum (and perhaps SAFe), where stakeholders and team members work through disagreements and discussions to reach a common solution.
- Evolutionary Theory: Change happens through variation, selection, and retention. This resembles DevOps, where continuous integration and delivery enable ongoing improvements and adaptations.
What I find intriguing is the article’s conclusion that emphasizes the importance of combining multiple development perspectives concurrently within organizations to address the increased complexity faced by modern system development projects.
Does this mean we should allow waterfall, Agile, hybrid-Agile, DevOps, and all upcoming system development trends to coexist? Could it imply that the perennial debates about the “best” overarching development paradigm might become a non-issue, focusing instead on our ability to effectively blend and utilize methodologies based on the specific nature of our assignments at hand?
For those of us who focus on testing and quality assurance within these organizations, could it be worthwhile to enhance our skills in effectively addressing all four fundamental development perspectives alongside their respective testing methods? Would this enable us to adapt efficiently, and support decision-making based on the prevailing development paradigm at any given moment?