In this article we will take a look at the Scrum methodology for software projects.
What is Scrum
The definition of Scrum in Wikipedia: "Scrum is an iterative, incremental methodology for project management, often seen in agile software development."
Scrum Teams
Decisions are
taken a team decisions.
All team
roles involved in the process are included.
Supporting
Roles: Scrum Master and Product Owner
- Scrum Master: maintains the processes
- Product Owner: represents the business/stakeholders/customer
Framework Description:
Scrum a
framework which can be used for agile software implementation.
Product Backlog: Master list of all functionality desired in a product. This is a dynamic document and can change over time.
Project is executed as a series of sprints. A sprint is a time-bound product increment which is 2-4 weeks in duration.
Sprints:
-
Sprint Planning Meeting: Product Owner provides the prioritized
product backlog.
- Team determines which items can be completed within the coming sprint.
- Items decided in #2 get moved from the Product Backlog to the Sprint Backlog. Breakdown of items into smaller tasks takes place for further planning.
- The team works in the implementation of these items
- A daily Scrum meeting keeps checks on issues and progress. This meeting is timed to no more than 15 minutes.
- At the end of the sprint, the selected items are coded, tested and integrated and a sprint review is carried out. The team demonstrates the new functionality to the product owner in the Sprint Review Meeting.
- Sprint Retrospective Meeting: Continuous Process Improvement.
Advantages
- Iterative process - quick to implement and easy to rectify mistakes
- Team Involvement in each stage. Reduces risk of mis-communication and increases participation and ownership
- Higher priority items are implemented first - this ensures that the important project features are implemented at the beginning.
- Incorporates user feedback and ensures the requirements are held dynamic.
- Daily meetings and review meetings close communications gaps proactively. Meetings are time-bound to ensure focus and take care that too much time doesn't get spent in discussions
- Regression testing - additional regression testing and system testing needed to ensure parts work together and new releases do not break existing functionality
- Trusts team work - works well in some scenarios but not everywhere
- Risk of Scope creep
-
This is an rapid release agile framework. Emphasis
does not lie on accurate estimates. This may hold a risk for the project.
Image:
Scrum methodology overview

Conclusion:
In this article we understood the artifacts, roles and procedure
involved in using Scrum methodology in software projects. Used in the right way,
this can be a powerful technique for managing software projects!
Dipal ChoksiPosted Sep 28, 2010, 1:48 PM
Thanks Mike and Mahesh! Are you guys using Scrum in your projects? Like it? hate it?
Mike GoldPosted Sep 27, 2010, 9:40 PM
Nice intro to Agile Scrums. Thanks!
Mahesh ChandPosted Sep 27, 2010, 7:24 PM
Good start Dipal. Thanks for sharing.