Skip to content

HMZElidrissi/Understanding-Agile-and-SCRUM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Understanding Agile and SCRUM: A Beginner's Guide

Imagine you're planning a cross-country road trip. You've got your route all mapped out, your destinations planned, and your accommodations booked along the way.

You hit the road, but as you go, you encounter unexpected road closures, detours, and amazing roadside attractions you hadn't heard of before. In the traditional, non-Agile approach, you'd stick to your original plan no matter what, even if it means missing out on exciting new experiences and struggling through closed highways.

This would be frustrating, isn't it? This is true in the software development process too. Developing software takes months or years, and it is hard to determine all the features in this highly demanding world.

This is where the agile way of thinking came in, you're open to change. You adjust your route on the fly, explore new places, and adapt your plans to make the most of your journey. It's about embracing the uncertainties of the road and being flexible to enjoy the unexpected gems you encounter along the way.

Just as in software development, Agile methodologies encourage adaptability, collaboration, and a willingness to change course when it makes sense. It's like taking a dynamic road trip where the journey itself becomes as rewarding as the planned destinations.

What does AGILE Actually mean??

Agile in its true definition is a project management and software development approach. It is originally comes from the Agile Manifesto, which is a set of guiding values and principles for developing software in a more adaptive and customer-centric way. The Agile approach is often contrasted with the traditional "Waterfall" model of software development, where everything is planned upfront, and changes are difficult to accommodate once the project is underway.

For implementing these Agile principles we use specific frameworks and methodologies such as Kanban and Scrum which we will be focusing on in this article.

What is SCRUM??

sprint_cycle-c.png

Scrum is the most popular agile framework in use today as it helps developers and teams to work collaboratively while building high-quality products. To understand Scrum, we need first to understand its terminology:

  • A sprint is a short, time-boxed period when a scrum team works to complete a set amount of work.
  • User story:
    • A user story is an informal, general explanation of a software feature written from the perspective of the end user. Its purpose is to articulate how a software feature will provide value to the customer.
    • It's tempting to think that user stories are, simply put, software system requirements. But they're not.
    • User stories are used to describe work items in a non-technical language and from a user's perspective. . As a {type of user}, I want {goal} so that I {receive benefit}.
  • Product Backlog: A prioritized list of features and functionalities that need to be developed.
  • A sprint planning meeting is held at the beginning of a sprint where a team breaks down story descriptions into detailed tasks.
  • Daily Standup(a.k.a Daily Scrum): A short meeting that happens every day to discuss progress, issues, and feedback.
  • Sprint Review is about demonstrating the hard work of the entire team: designers, developers, and the product owner.
  • Sprint retrospective: This is when you and your team review what happened in the sprint by celebrating what went well, what needs improvement, and why.
  • Scrum Master:
    • The Scrum Master is a crucial role in the Scrum framework. They are responsible for ensuring that the Scrum team follows the Scrum process and principles.
    • Key responsibilities of a Scrum Master include facilitating Scrum events (such as sprint planning, daily standup, sprint review, and sprint retrospective), coaching the team in Agile and Scrum practices, and removing impediments that hinder the team's progress.
  • Product Owner:
    • The Product Owner represents the interests of the stakeholders and ensuring that the product being developed aligns with business goals and customer needs.
    • The Product Owner is responsible of creating and maintaining the product backlog, making decisions about what to work on next, and ensuring that the team delivers value with each sprint.
  • Definition of Done: is a critical concept in Scrum that provides a clear criteria for completed work.
  • Poker planning, also known as Planning Poker, is a technique used in Scrum and other agile methodologies for estimating the complexity or effort required to complete a specific task or user story. It is a collaborative and consensus-driven approach that involves team members, typically developers, testers, and product owners, to come to a shared understanding of the work involved in a particular backlog item.

How to implement SCRUM??

  • Step 01: Create user stories or tasks in the product backlog
  • Step 02: Start a sprint
  • Step 03: Hold the sprint planning meeting At the beginning of a sprint, you should hold the sprint planning meeting with the rest of your team. The sprint planning meeting is a ceremony that sets up the entire team for success throughout the sprint. In this meeting, the entire team discusses the sprint goal and the stories in the prioritized product backlog.
  • Step 04: Hold the daily standup meetings
  • Step 05: Hold the sprint review meeting The sprint review, or sprint demo, is a sharing meeting where the team shows what they've shipped in that sprint. Each sprint usually produces a working part of the product called an increment.
  • Step 05: Hold the sprint retrospective meeting
  • Step 06: Repeat

Resources:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published