Agile is not a methodology or framework. Agile is more of a general description of how things are done, but one that is often overused and misapplied. Agile does not have to be iterative and incremental – although strict Agile Manifesto interpretations do insist on it being for software, no one listens to that anymore.
Agile practices can be found being used in all sorts of industries and companies all over the world, but Agile itself doesn’t really strictly define any practices. In fact, the more you insist on Agile being a specific set of practices, the less Agile you become. Defining strict practices can limit adaptability, a key component of Agile.
Agile is a generic or “umbrella” term for an operational framework or methodology that strives to keep a focus on requirements by using adaptive approaches and continuous improvement practices. – What is Agile?
Agile existed before the name “Agile” was first used. The origins of Agile come from four scientific theories.
- Systems Theory
- Chaos Theory
- Network Theory
- Adaptive Systems Theory
Collectively, those four theories are called Complexity Theory. The key idea here is “Complex” or the handling of large complex systems.
Books on Agile
- Agility Shift: Creating Agile and Effective Leaders, Teams, and Organizations
- The Agile Organization: How to Build an Engaged, Innovative and Resilient Business
- Learning Agile: Understanding Scrum, XP, Lean, and Kanban
When software started to become large and difficult to conceptualize, people began to look for new ways to develop software. They brought in iterative and incremental development practices and began bringing in ideas from Complexity Theory. (*There is some debate about when this first occurred, but it was somewhere between the late 1970s and early 1990s.)
As a bit of a side note here, Kanban took a slightly different route of evolution. Although Kanban is often/sometimes regarded as an Agile methodology, its origin is a bit different.
During the 1980s and 1990s, several of these frameworks for handling large complex projects were developed. The Unified Process, Scrum, XP, Test Driven Development, and DSDM as well as many others, were created for handling the complexity of developing modern software.
In 2001, a group of people got together and decided to call many of the shared practices Agile. There are now dozens of frameworks that get called Agile, and dozens of Internet debates about what Agile actually is. We do know, though, that Agile is not a framework or a methodology.
Agnostic Agile: 12 Principles of Agnostic Agile
Agile Manifesto (Software Development Focused): Manifesto for Agile Software Development
Agile Alliance: Agile 101
Agile Business Consortium: DSDM Agile Project Framework
Complex Adaptive Systems: https://www.udemy.com/complex-adaptive-systems/
Bhasin H. Complexity Theory of Business. Retrieved from https://www.marketing91.com/complexity-theory/
Mary Uhl-Bien, Russ Marion, Bill McKelvey, Complexity Leadership Theory. Retrieved from http://theclariongroup.com/images/GooglePlus-Docs/Complexity-Leadership-Article.pdf.
Lichtenstein B, Uhl-Bien M, Marion R, Seers A, Orton J, Schreiber C. Complexity leadership theory: An interactive perspective on leading in complex adaptive systems. Emergence: Complexity and Organization. 2006 Dec 31 [last modified: 2016 Nov 26]. Edition 1. doi: 10.emerg/10.17357.289e129e99e80aa333abfde5fb792d3d. Retrieved from https://journal.emergentpublications.com/article/complexity-leadership-theory-an-interactive-perspective-on-leading-in-complex-adaptive-systems/
A practical realization !
Great resource. your right Agile is a way to do things, however organisations and people need processes / procedures that force them to adopt “Agile” practices. weather you call it a methodology or framework or mantra is only a way to justify the use of “Agile” concepts, which are ideals by which we want to deliver software and projects.
What I have seen during several years that people tend to speak about agile process or agile methods or agile framework’s. But if you check the Agile Manifesto there are Agile Values and Agile Principles.
Agile process or agile methods or agile framework’s etc are all commercial cr*p. These have nothing to do with Agile Manifesto.
Values are Way of Thinking, it’s a mindset. It’s like o compass, which you use to validate all your decisions.
For example “Individuals and interactions over processes and tools”. If your company claims that they are following Agile development values, but your boss prohibits you use tools, which help you gain results easier and faster etc, then this company doesn’t follow this rule.
If your working conditions cause stress and when you mention it and asking for changes and your requests are rejects, then your company doesn’t value people.
Or let’s take “Business people and developers must work together daily throughout the project.”. If you as developer do not have any contact with customers to who you are development, then your company doesn’t practice agile development.
Or lets think about this principle:
“Build projects around motivated individuals.
Give them the environment and support THEY NEED,
and trust them to get the job done.”
Do you get the REAL support THAT YOU NEED? Not what your boss thinks you need, but what YOU actually NEED for success?
It’s really hard to find such companies actually.
So read again Agile Manifesto.. and ask.. Do I follow these principles? Does our company follows these principles?