Agile Approach
đź‘“

Agile Approach

Tags
Agile
DevOps
CI/CD
Published
February 7, 2023
Author
Oussama Belhadi

What’s Agile approach?

 
Agile software development is an iterative approach that enables teams to deliver value faster, with greater quality and predictability, and greater aptitude to respond to change. It focuses on adaptive planning, self-organization, and short delivery times using tools like Scrum and eXtreme Programming. Agile is an approach to project management that prioritizes quick delivery, adapting to change and collaboration.
 
 

Overview

Agile is an approach to software development that seeks the continuous delivery of working software created in rapid iterations.
However, the phrase "agile methodology" is misleading because it implies that agile is a singular approach to software development. Agile is not a set of prescriptions for exactly which actions to take in software development. Instead, it is a way of thinking about collaboration and workflows and it is a set of values which guide our choices in regards to what we make and how we make it.
In practical terms, agile software development methodologies are all about delivering small pieces of working software quickly to improve customer satisfaction. These methodologies use adaptive approaches and teamwork to focus on continuous improvement. Usually, agile software development consists of small, self-organizing teams of software developers and business representatives regularly meeting in-person throughout the software development life cycle. Agile favors a lightweight approach to software documentation and embraces—rather than resists—changes at any stage of the life cycle.
Schema :
notion image
 

Traditional vs. Agile project management: How do they differ?

It's time to differentiate traditional project management vs. Agile project management so you can understand why Agile project management is chosen over the traditional method.
Characteristic
Traditional project management
Agile project management
Methodology
Uses the “Waterfall” model where each task must be completed in a set order
Uses the “Sprint” model where a project is divided into smaller chunks that can be completed in any order
Approach
Relies more on a linear, sequential approach that’s rigid and prescriptive
Follows a more flexible, interactive, and adaptable approach
Focus
Project planning and control
Project collaboration, stakeholder involvement, and continuous improvement
Suitable for
Projects that are well defined and have little uncertainty
Projects that are complex and have a lot of uncertainty
Deals with
Mainly the management of physical resources or projects such as construction projects
Only digital projects, such as software development, and is not suitable for traditional physical projects
 

Agile frameworks

Agile frameworks for software development—like Scrum, kanban, or extreme programming (XP)— form the basis for popular software development processes like DevOps and continuous integration/continuous deployment (CI/CD).
Scrum is perhaps the most popular agile framework in use today but not all agile is Scrum and, honestly, not all Scrum is agile. Scrum is a framework for managing work designed for small, cross-functional teams of 5 to 9 people who break their work into actions that can be completed within a consistent period of time called a sprint. Scrum teams consist of team members, a Scrum master, and a product owner. Typically, Scrum is implemented when a large project can be broken up into 2- to 4-week sprints. Scrum focuses on feedback loops through a ceremony called the "retrospective." The unofficial motto of Scrum could be "inspect and adapt."
 
I decided to do this article in order to give you a global view of the ceremonies of a sprint scrum. How to make a good sprint scrum ?

Definition of sprint scrum

The iteration or development cycle of the scrum is called a « sprint »; this sprint scrum generally lasts two or three weeks. Short cycles allow you to have feedbacks more frequently.
But these should not be too short either, to give the team time to make developments that achieve realistic goals. These objectives, the objectives of the sprint, will also be called.
And finally, the duration of each sprint scrum must be fixed. This duration should not be changed for whatever reason.

What do you do during a sprint ?

A sprint scrum begins with a sprint schedule and will end with a sprint review and a retrospective sprint. Every morning, the development team will harmonize with the Daily and the team will do Product Backlog Refinement to help Product Owner refine the content of backlog.
Here is a small diagram to represent a sprint scrum :
notion image
 
A Scrum Master leads the Agile development team and supports the Product Owner by relaying updates to relevant employees.
Product Owners manage the product backlog and ensure the company gains maximum value from the product.
 
A sprint planning meeting is an Agile scrum session where the development team and product owner collaborate to prioritize work and regroup around sprint goals.  During the meeting, the scrum master is responsible for setting a maximum amount of time (timeboxing) for the team to accomplish a task.
 
Sprint Backlog in Scrum is a list of tasks identified by the Scrum team to be completed during the Scrum sprint.
 
A Sprint Review is an informal working session attended by the Scrum Team, development team, scrum master, product owner and stakeholders.
The purpose of the meeting is to demonstrate the hard work they have accomplished over a one-month sprint and compare it to their commitment given at the beginning of that sprint
 
 
Â