What is Agile Development with Scrum?
Agile Software Development
The term "agile development" is an umbrella term that covers numerous software development methodologies including Crystal, Extreme Programming (XP), Adaptive Software Development, Feature Driven Development, Dynamic Systems Development Method (DSDM), and of course Scrum.
Software development processes of the past, particularly the Waterfall method, required a large amount of project management overhead, were highly regulated, inflexible, and controlled by micro-managers who dictated to the development team. Many projects managed in this way failed miserably. With the advent of agile methods that changed. Agile stresses iterations, flexibility, and adaptation. Software development should not be done in a box. Furthermore, an application can be likened to an organism that evolves over time. Traditionally there was no room for that evolution; today there is.
Agile is not any one singular approach to software development, but rather a group of processes, or frameworks, guided by principles set forth in the Agile Manifesto. A few of those principles are the valuing of:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Define Scrum
Scrum is an agile software development framework. It promotes iterative development (sprints), daily team updates (scrums), customer involvement (sprint planning and sprint review sessions), and continual adaptation (sprint retrospectives). As with any software development project there are requirements (user stories), and results (potentialy shippable product).
Scrum Process Overview

A project managed using Scrum uses a Product Backlog, which contains all of the user stories for the product, and is prioritized by the Product Owner. The project then begins with the first Sprint Planning Meeting, where the Product Owner, ScrumMaster, and the team, plan what will be done during the Sprint. The team then starts the Sprint (which can last between 10 and 20 days) and holds daily scrums, to reaffirm what each team member is working on, and to identify impediments. At result of a Sprint is a working increment of software.

Once the team delivers the working increment of software, a Sprint Review is held. During the Sprint Review the Product Owner, ScrumMaster and team look at what was produced during the Sprint. After the Sprint Review, the team holds a Sprint Retrospective, where they discuss how the Sprint went, and how they can improve. Once that is complete, the cycle begins again.
For More Scrum Information
For more information, check out our Scrum e-books and also my Introduction to Agile and Scrum presentation. |