What
is an Agile Methodology?
In the late 80’s, increasing dependence on the success
of IT projects and their high failure rate spurred the re-evaluation
of the development methodologies of the day. IT projects were
beginning to be recognized as the complex, chaotic animals
that they are. The very structured, well defined, and rigid
prescriptions of traditional methodologies such as Waterfall,
PSP, Unified Process, etc. failed to allow for the dynamics
of change, and in many cases failed to deliver a product before
customer needs had already evolved to make the project inappropriate.
Development strategies that expected and embraced change,
intensively involved the people who would ultimately use the
product, and focused on building a business solution rather
than an IT solution began to be formed by individuals, organizations,
and consortiums. In the mid 90’s these evolving new
ideas began to coalesce into branded methodologies (DSDM,
Scrum, FDD, Extreme Programming, Crystal, and others) which
collectively became labeled as Agile Methodologies.
Agile methods place a key focus on the following concepts:
- User/Customer Involvement –achieving user/customer investment
and ownership
- Incremental development and early delivery of benefit
- Adaptable to change through prioritized requirements, scope
control, and short development increments.
- Create end-to-end BUSINESS solutions, not IT solutions
- Continuous review and testing of the product under development
via prototyping and integrated testing
- Use of collaboration and facilitation techniques and processes
to ensure speed, increase communication, and to drive decision
making about features and functionality to users and developers.
|