Agile software development methodology is suitable for time-boxed iterative system development scenarios. The software product is released as various versions or releases, typically in time-boxes of a month. Agile development assumes and welcomes delays and late requirements or scope changes even during development/testing phase! Agile software development might not be suitable for all software development scenarios eg: it might not be suitable for something like surgical software development where a failure or delay is not desirable. It is most suitable for software product development where product changes are most expected in a routine fashion.
There are different Agile methodologies that exist today including Xtreme programming. Scrum is one of the Agile methodologies that is widely used in organizations and is proven to be successful to support and maintain evolving product development scenarios.
A scrum team generally consists of 5-10 team members including Product Owner, Scrum Master, BA, designer, developer, and tester. The team maintains a list of Product backlog (high level requirements for the product that need to be implemented). The team also maintains a Sprint log, which is basically the list of requirements that will be implemented for a particular Sprint. A Sprint is nothing but a development time-box which usually extends for a week to a month. A Sprint consists of each work day where team meets and discusses what is left on the sprint list and assign out tasks. There is a review meeting as well as what was done and what need to go back to Sprint backlog.
The outcome of each Sprint is production deployable code and the Sprint continues until product continuously evolves and as product backlog gets filled in.
(c) http://www.getallarticles.com – 2001
Article copyright (c) 2010 – Deepesh Joseph (firstname.lastname@example.org)