Wikipedia has an entry on this topic.
What do ou think?
Wikipedia says
Barry Boehm and Richard Turner suggest that risk analysis be used to choose between adaptive ("agile") and predictive ("plan-driven") methods.[14] The authors suggest that each side of the continuum has its own home ground as follows:
Agile home ground:
Plan-driven home ground:
Craig,
I tend to agree. While the lists above may be an oversimplification, I think Agile methods have there place as well as more traditional prescriptive approaches. Some of the key decision makers are listed in the wikipedia article. I think the top factors are (1) Developers' experience level, and (2) Speed and degree to which requirements change (this can be managed and mitigated to a degree).
i still not get when to (not) use agile .....can u guys plz lil bit more descriptive
Sara
If we presume an Agile approach is usually the most suitable for your environment you'd be looking for triggers to apply more planning and discipline into the process.
The triggers that Boehma and Turner talk about are environmental and less about the application you are going to tackle and more about the business, market or problem you are tackling.
One key trigger is requirements stability. If you are going to have a stable set of requirements throughout the life of the project, it makes sense to think through the problem a bit before your dive in. You'll get more scalability from your software (and thus longer term returns on your investment) than if you jump into development without a strategic view of the problem you are tackling. The same principles can be applied to system architecture.
Specificaly Boehm and Turner refer us to Boehm's "Spiral model" of software development - which is all about identifying risks to the project and building your milestone deliverables to best mitigate these risks. THey aren't saying "forget agile" but are saying adopt a risk management perspective when modelling your development process.
Hope this is useful.
brought to you by enabling practitioners & organizations to achieve their goals using: