Agile Methodology and Emergence
What is Emergence?
“It is the behavior of a system that is not explicitly described by the behavior of the components of the system, and is therefore unexpected to a designer or observer” – Cunningham & Cunningham, Inc.
“…emergence is the way complex systems and patterns arise out of a multiplicity of relatively simple interactions” – Wikipedia
In short: The principle of emergence is 2 + 2 > 4
What is Agile?
[When I started working on this post, I was desperately looking for a decent definition of agile but could not find one. So, I modified the definition in Wikipedia to something acceptable]
“…refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.” – Wikipedia
In short: In agile software development …
…team dynamics emerges
Therefore, applying the principle of emergence we can say that when you use agile software development methodology:
- The final solution is better than the individual pieces of requirements that you had specified in the beginning and
- The team produces more than the sum of the capability of the individual members
Without detailed planning and top down management
For any “manager” it is a paradigm shift in thinking.