3 ms·
The reason for the name Agile is that it was defined in opposition to what came before it- heavyweight, big design up front, fixed requirements, documentation h
by mattmcknight 16y ago
The reason for the name Agile is that it was defined in opposition to what came before it- heavyweight, big design up front, fixed requirements, documentation heavy, non-incremental, non-iterative processes. These methods had names- CMM, RUP, V Model, MDA, MIL-STD-498, and we needed a name for the anti-method to go against them and not be labeled a cowboy coder with no process at all, and sidelined from all important decisions.
These were attempts to take the risk and uncertainty out of the process. Agile is an attempt to provide practices and approaches for dealing with the uncertainty- "embrace change" is very much the opposite of the "change is too expensive" mindset that it was trying to reset.
This adjective "agile" is important, if only to be used as a defense against 300 page requirement documents set in stone by a contract, 500 diagram architectures created before a line of code was written, developers who never got to talk to a user.
If we didn't have agile coaches and advocates, people who sat down to come up with a way to run their project might come up with the naive algorithm and head straight over the waterfall.
I can see how the name doesn't seem to make much sense now that it is bandied about in very prescriptive step by step methods that probably seem not very agile to a person who had not lived through the horrors that came before. However, that is how it should be understood.