Agile scrum methodology is a project management system that relies on incremental development. Each iteration consists of two- to four-week sprints, where each sprint's goal is to build the most important features first and come out with a potentially shippable product. More features are built into the product in subsequent sprints, and are adjusted accordingly based on stakeholder and customer feedback between sprints.
Whereas other project management methods emphasize building an entire product in one iteration from start to finish, agile scrum methodology focuses on delivering several iterations of a product to provide stakeholders with the highest business value in the least amount of time possible.
There are several benefits to agile scrum methodology. First, it encourages products to be built faster since each set of goals must be completed within each sprint's timeframe. It also requires frequent planning and goal-setting, which helps the scrum team focus on the current sprint's objectives and increase productivity.
The greatest benefit of agile scrum methodology, however, is its flexibility. With the sprint-based model, the scrum team typically receives feedback from stakeholders after each sprint. If there are any problems or changes, the scrum team can easily and quickly adjust product goals during future sprints to provide more valuable iterations. This way, stakeholders are happier because they get exactly what they want after being involved every step of the way. Compare this with traditional project management systems, in which stakeholders do not provide frequent feedback and time is wasted making changes to the product halfway through development — or worse, starting from scratch after the product has already been built.
To implement agile scrum methodology, there must either be a scrum expert in the company or an outside scrum consultant to ensure scrum principles are being correctly applied. Agile scrum methodology involves precise execution, which could result in a disaster if not properly done.
Agile scrum methodology consists of two sets of roles: core roles, known as "pigs," and ancillary roles, known as "chickens."
There are three core roles: Scrum Master, Product Owner and Scrum Team, all of whom are committed to the scrum project.
- Scrum Master– The Scrum Master is the facilitator of the scrum development process. In addition to holding daily meetings with the scrum team, the Scrum Master makes certain that scrum rules are being enforced and applied as intended. The Scrum Master's responsibilities also include coaching and motivating the team, removing impediments to sprints, and ensuring that the team has the best possible conditions to meet their goals and produce deliverable products.
- Product Owner– The Product Owner represents stakeholders, which are typically customers. To ensure the scrum team is always delivering value to stakeholders and the business, the Product Owner determines product expectations, records changes to the product and administers a scrum backlog, a detailed and constantly updated to-do list for the scrum project. The Product Owner is also responsible for prioritizing goals for each sprint — based on their value to stakeholders — such that the most important and deliverable features are built in each iteration.
- Scrum Team– The Scrum Team is a self-organized group of three to nine individuals who have the business, design, analytical and development skills to carry out the actual work, solve problems and produce shippable products. Members of the Scrum Team self-administer tasks and are jointly responsible for meeting each sprint's goals.
Ancillary roles, on the other hand, are other stakeholders who are involved in, but not committed to, the scrum project. Typically, ancillary roles consist of customers, management and members of the executive team who are involved for the purpose of consulting, progress reporting and feedback gathering to better work toward delivering the highest value possible.