Agile - Scrum

As we know Agile is Process in which we break the entire project into small phases / sprints and collaborate all at the end of the phases / sprints.

There are so many Agile framework and SCRUM  is the most popular Agile Framework among them. It manage the tasks within a team-based development environment to complete the work. It helps the teams to work together for high-quality delivery of a product. Scrum mostly used in software development, but its principles can be applied to various other fields as well.

The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage. The rules of Scrum bind together the events, roles, and artifacts, governing the relationships and interaction between them.

Key Elements of Scrum:

1. Roles: Scrum defines specific roles for team members, including the Product Owner, Scrum Master, and The Team. Each role has distinct responsibilities and contributes to the success of the project.

    1.1 Product Owner: is responsible for maximizing the value of the product and the work of the Team. He is the sole person who is responsible for managing the Product Backlogs like,
  • Express Product Backlog items clearly.
  • Order the Product Backlog items to best achieve goals and missions.
  • Optimize the value of the work the Team performs.
  • Ensure that the Product Backlog is visible, transparent, and clear to all.
  • Ensure that the Team understands items in the Product Backlog.
  • Prioritizes the workload for the project with Team.
    1.2 Scrum Master: is the keeper of the scrum process who help the Development Team on track responsible for,
  • Making the process run smoothly.
  • Removing obstacles that impact productivity.
  • Organizing and Facilitating the critical meetings.
    1.3 The Team: the creators of the product. The Team is self-organizing and cross-functional. The Team comprises of Business Analysts, Designers, Developers, Testers, etc. as appropriate and as relevant to the project. They build your product and the respective Team Leads collaborate with the Product Owner and the Scrum Master.


2. Artifacts: Scrum uses various artifacts to facilitate communication and transparency within the team. The primary artifacts include the User Stories, Product Backlog and Sprint Backlog which helps the team to understand what needs to be done and track progress.

    2.1 User Stories: the individual goals or tasks for the project. Each User Story is a self-contained piece of a major feature of the project, and each Story has explicit acceptance criteria. We begin a project by defining these Epics and their affiliated in User Stories, and by methodically completing these User Stories in a series of Sprints.

    2.2 Product Backlog: collection of incomplete User Stories of the project. We can prioritized the Stories in the Product Backlog. The Product Owner’s responsibility to sort the Stories in the Product Backlog based on business value or risk for the Stakeholders, and it is the responsibility of the Development Team to size each Story using Story Points.

    2.3 Sprint Backlog: collection of User Stories that have been sized and assigned as per acceptance criteria. The Sprint Backlog prioritize the list of User Stories. This allows the Sprint Backlog to adapt to the changing demands of the Stakeholders or Product Owner or to the growing knowledge of the Development Team.


3. Events: Scrum includes several events, such as Sprint, Sprint Planning, Daily Standup and Sprint Review. These events provide opportunities for the team to collaborate, inspect their work, and adapt to changing circumstances.

    3.1 Sprint: A 2-4 weeks period during which a set of User Stories are locked in for the Development Team to achieve. During a Sprint, the tasks to be completed will not change, and at the conclusion of the Sprint, the Development Team will demonstrate in the Sprint Demo that each User Story is Done according to its predefined acceptance criteria.

    3.2 Sprint Planning: A Planning between the Product Owner, the Development Team, and the Scrum Master to work together to decide (1) what will be accomplished during the next Sprint, and (2) what the Done criteria are for each User Story.

    3.3 Daily Standup: A meeting scheduled Every morning between all the Scrum Members before Business start throughout the Sprint. The Scrum Master meets with Development Team to review what was accomplished the day before, any new roadblocks done, what will be accomplished today to help meet the Sprint goal.

    3.4 Sprint Review: The Development Team demonstrates the work they completed during a Sprint for approval by the Product Owner. There are three possible outcomes for each User Story in a Sprint Demo.
       (i)   If an individual User Story meets its acceptance criteria at the Sprint Demo, it will be considered Done and marked as completed.
       (ii)  If it doesn’t meet its definition of Done, or its acceptance criteria, the User Story will be rejected and revisited in the next Sprint.
       (iii) If there are tweaks or minor adjustments to be made but the current acceptance criteria have been met, then the User Story is accepted and a new Story is    captured and discussed during the next Sprint Planning.


Some other Key Components of Scrum are,

Story Points: Helps in estimate a realistic workload for each Sprint. every User Story is assigned to a relative point value.

For example, each Sprint for a particular project might contain 18 points, but Sprint A could consist of a larger 13-point Story and a smaller 5-point Story, while Sprint D might be six 3-point Stories. 

Story Point equate the effort and energy for each User Story, don’t directly translate to the number of working hours. User Story for one project might have a different Point value than a similar story in another project. Story Points help us in quantify our Velocity and productivity at each step of development.

Burndown Chart: A graph helps in tracking of the completed User Stories and their point values. The graph provides information about the Development Team’s progress, velocity as well as accurate estimates of the remaining duration of the project.

Visual Management Board: To display the status of each work item or user story in the sprint. It typically features a series of columns representing different work states and post-its representing the work, which move through the columns as work progresses.

Epic: A large user story, typically too big to be completed in a single sprint, so it needs to be broken down into smaller user stories at some point before development.

Retrospective: A regular, continuous improvement activity where the team looks at how they can work together more effectively – ‘what went well’, ‘what didn’t’, ‘things to try’ etc.

Velocity: Information about the expected number of Story Points that can be completed over the course of a single Sprint for a particular project. Velocity helps the Scrum Master and the Development Team set reasonable, accomplishable goals for subsequent Sprints.

Empiricism: Scrum is built on the principles of transparency, inspection, and adaptation. It encourages teams to continuously assess their work, learn from their experiences and make improvements in an empirical manner.

Planning Poker Technique: Estimates for the User Stories are derived by playing planning poker. The entire Scrum Team is involved and it results in quick but reliable estimates.

Scrum Tools
Following is a list of some Scrum Tools. "*" are the Open Source Tools.


Benefits

1. To Customer:
The Sprints are of shorter duration and prioritized user stories are taken up at every sprint planning. It ensures that at every sprint delivery, the features as required by the customer immediately are included. Further, if a customer raises any change request, it will be absorbed in the current sprint, or included in the very next sprint. Thus, the development team quickly responds to the customer’s requirements very fast.

2. To Organization:
Organization can focus on the effort required for development of the prioritized user stories and thus reduce overhead and rework. Due to the specific benefits of scrum to customer, increased efficiency of the development team, customer satisfaction and hence customer retention and customer references will be possible. It increases the market potential of the organization.

3. To Product Managers:
Product Manager plays the role of Product Owner in the project. The responsibility of the product owner is to ensure customer satisfaction. Since Scrum facilitates quick responses, work prioritization, absorbing changes, product manager can easily ensure that the work is aligned to customer needs, which in turn ensures customer satisfaction.

4. To Project Managers:
Project Manager plays the role of Scrum Master in the project. The collaborative nature of Scrum facilitates easy and concrete planning and tracking. The use of Burndown Charts to understand the work left, and the Daily Scrum meetings give the Project Manager awareness about the state of the project at all times. This awareness is essential to monitoring the project, and for catching and addressing issues quickly.

5. To Development Team:
Due to the time-boxed nature of sprints and working product increment delivery at the end of every sprint, the development team becomes enthusiastic to see that their work is used immediately. The built in team collaboration makes the team enjoy the work they do. As the user stories for every sprint are based on customer priorities, team also understands that their work is valued.

Certifications:

Following Scrum certifications are offered by the Scrum Alliance
    1. Certified ScrumMaster (CSM)
    2. Certified Scrum Product Owner (CSPO)
    3. Certified Scrum Practitioner (CSP)
    4. Certified Scrum Coach (CSC)
    5. Certified Scrum Trainer (CST)

Conclusion:

The main goal of Scrum is to enable teams to deliver value incrementally and iteratively, providing flexibility and adaptability to changing requirements. It emphasizes collaboration, communication, and self-organization within the development team.
Scrum is advised to team members as the Framework requires great collaboration and self-organization. If the Scrum rules are not followed strictly, a project can lead to failure. Hence, it is necessary to have a proper understanding of Scrum concepts among the entire team.


Comments

Popular posts from this blog

DevOps with Jenkins Part-2

DevOps with Jenkins

Agile Methodology With Waterfall Model