CHANGE … ADAPTIVE-LEAN
Software development it is and must be a continuous learning experience. So… my previous understanding Agile = Adaptive was changed to Agile = Adaptive-Lean. The Lean aspect of Agile is highly underrated: I realized that when I tried to investigate how Lean aspect it is concretely performed with Agile practices.
Agile Design = Adaptive-Lean Design
OLD FIRST PAGE
Agile, as an overall movement, has failed until now to keep its promises, especially because of disregarding the principles related to technical excellence and good design. We consider that is our mission, as professionals, to fix these problems and to find a roadmap to an Agile Design. The root intention of Agile was to build the capability to be adaptive.
Agile Design = Adaptive Design
Alistair Cockburn about the history of Agile Manifesto:
<<Side note about selecting the name ‘agile’: I facilitated the name-finding session, so I have a fairly detailed recall of how that went: “Agile”, for example, was not a sure winner for a name at any time, “Adaptive” tied it at the final round. We filled pages with brainstormed names. We selected a handful and said why we did not like them, odd though that procedure sounds. The dominant meme in that discussion was “I don’t want to have to wear pink tights and a tutu when I say it”! We voted down to five, then voted for a winner but found a tie between agile and adaptive, then selected “agile”.>>
Martin Fowler about the essence of Agile: Agile Development: is adaptive rather than predictive + is people-oriented rather than process-oriented.
Definition of Scrum from Scrum guide:
<<Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.>>
Here are proposed topics:
TDD, Refactoring, Clean Code, Law Of Demeter, Agile Modeling are some of the practices that could be used to get an Adaptive Design. We need to practice and use the full arsenal of Agile techniques and not only the reduced set from a single method.
First known references about “Adaptive Programming”:
- Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
by Karl J. Lieberherr; PWS Publishing Company, Boston, 1996 - See also http://www.bradapp.com/docs/demeter-intro.html
First known references about “Agile Design” and “Agile Architecture” :
- Scott W. Ambler essay about Agile Design strategies
- Scott W. Ambler essay about Agile Architecture strategies