Chapter 12: Agile Scrum Methodology

Agile Scrum Methodology is one of the popular Agile software development methods. There are some other Agile software development methods but the popular one which is using widely is Agile Scrum Methodology. The Agile Scrum Methodology is a combination of both Incremental and Iterative model for managing product development.

  Agile Scrum Methodology – Working Process

In Scrum, the project is divided into Sprints.

Sprint: Each Sprint has a specified time line (2 weeks to 1 month). This time line will be agreed by a Scrum Team during the Sprint Planning Meeting. Here, User Stories are split in to different modules. End result of every Sprint should be potentially shippable product.

The three important key factor involved in Scrum are RolesArtifacts and Meetings:

ROLES IN AGILE SCRUM METHODOLOGY:

Product Owner:

Product Owner usually represents the Client and acts as a point of contact from Client side. The one who prioritizes the list of Product Backlogs which Scrum Team should finish and release.

Scrum Master:Scrum Master acts as a assistant to the Scrum Development Team. Clarifies the queries and organizes the team from distractions and teach team how to use scrum and also concentrates on Return on Investment (ROI).

Scrum Development Team:Developer’s, QA’s. Who develops the product. Scrum development team decides the effort estimation to complete a Product Backlog Item.

Scrum Team:A cross-functional, self-organizing group of dedicated people (Group of Product Owner, Business Analyst, Developer’s and QA’s). Recommended size of a scrum team is 7 plus or minus 2 (i.e, between 5 to 9 members in a team)

ARTIFACTS IN AGILE SCRUM METHODOLOGY:

User Stories:

User Stories are not like a traditional requirement documents. In User Stories, stake holder mention what features they need and what they want to achieve.

Product Backlog:

Product Backlog is a repository where the list of Product Backlog Items stored and maintained by the Product Owner. The list of Product Backlog Items are prioritized by the Product Owner as high and low and also could re-prioritize the product backlog constantly.

Sprint Backlog:Group of user stories which scrum development team agreed to do during the current sprint (Committed Product Backlog items)

Product Burn down Chart:A graph which shows how many Product Backlog Items (User Stories) implemented/not implemented.

Sprint Burn down Chart:A graph which shows how many Sprints implemented/not implemented by Scrum Team.

Release Burn down Chart:A graph which shows List of releases still pending, which Scrum Team have planned.

Defect Burn down Chart:A graph which shows how many defects identified and fixed.

Note: Burn Down Charts provide proof that the project is on track or not.

MEETINGS IN AGILE SCRUM METHODOLOGY:

Sprint Planning Meeting:The first step of Scrum is Sprint Planning Meeting where the entire Scrum Team attends. Here the Product Owner selects the Product Backlog Items (User Stories) from the Product Backlog.
Most important User Stories at the top of the list and least important User Stories at the bottom. Scrum Development Team decides and provides the effort estimation.

Daily Scrum Meeting: (Daily Stand-up)Daily Scrum is also known as Daily Stand-up meeting. Here each team member reports to the peer team member on what he/she did yesterday, what he/she going to do today and what obstacles are impeding in their progress. Reporting will be between peers not to Scrum Master or Product Owner. Daily Scrum will be approximately 15 mins.

Sprint Review Meeting:In the Sprint Review Meeting, Scrum Development Team presents a demonstration of a potentially shippable product. Product Owner declares which items are completed and not completed. Product Owner adds the additional items to the product backlog based on the stakeholders feedback.

Sprint Retrospective Meeting:Scrum Team meets again after the Sprint Review Meeting and documents the lessons learnt in the earlier sprint such as “What went well”, “What could be improved”. It helps the Scrum Team to avoid the mistakes in the next Sprints.

When do we use Agile Scrum Methodology?

The client is not so clear on requirements
The client expects quick releases
The client doesn’t give all the requirements at a time

From above theory we can say that:

In Agile Scrum Methodology, all the members in a Scrum Team gathers and finalize the Product Backlog Items (User Stories) for a particular Sprint and commits time line to release the product. Based on the Daily Scrum meetings, Scrum Development Team develops and tests the product and presents to the Product Owner on Sprint Review Meeting. If the Product Owner accepts all the developed User Stories then the Sprint is completed and the Scrum Team goes for the next Sprint in a same manner.

principles of Agile Software Development:

1. Highest priority is to satisfy the customer through early and continuous delivery of business valuable software
2. Welcome changing requirements, even late in development
3. Deliver working software frequently
4. Business people and developers must work together daily with transparency throughout the project
5. Build projects around motivated individuals
6. The best form of communication is to do face-to-face conversation
7. Working software is the primary measure of progress
8. Able to maintain a constant pace
9. Continuous attention to technical excellence
10. Simplicity – the art of maximizing the amount of work not done – is essential
11. Self-organizing teams
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly