In this blog, we will learn the difference between the four popular agile frameworks: Kanban, Lean, Extreme Programming (XP), and Scrum. firstly We will introduce each of them and compare them side by side.
Agile Main Frameworks
First: Kanban
Kanban is one of the agile frameworks that is mentioned in the Agile Manifesto. It encourages flow and attempts to keep work items from being held, blocked, or delayed.
It takes actual time to communicate potential and the whole transparency of work. because the concept is that the team works on fewer items, focusing on decreasing the time spent on every development stage. This way, there isn’t lots of time between when tasks begin and finish.
The work items are represented on a kanban board visually, permitting the team to see the state of each piece of work at any time.
Kanban Boards
Is an agile tool designed to display the visualized work, bound work-in-progress, and maximize the efficiency of the flow?
although It uses cards, and columns, and provides continuous improvement to help the project team to perform the right amount of work and get it done.
Elements of a kanban board, David Anderson divides the kanban board into five different components:
- Visual signals.
- columns.
- work-in-progress.
- commitment point.
- delivery point.
Second: Extreme Programming
Extreme Programming (XP) is an agile framework that aims to produce high-quality software and higher quality of life for the development team. Extreme Programming (XP) was created in response to problem domains whose requirements change.
The best practice for Extreme Programming (XP):
- basically Software requirements change dynamically
- The Risks due to the fixed-time projects using new technologies
- The small, co-located extended development team
- The technology used allows for automated unit and functional tests
What are the Values of XP?
XP has 5 values:
- Communication: It is very important to transfer knowledge between team members another through face-to-face discussion using a whiteboard or any drawing mechanism.
- Simplicity: The purpose of this is to avoid waste and do only necessary.
- Feedback: Through feedback, the team improves its productivity.
- Courage: The team should have the courage to accept change and feedback, and improve team effort.
- Respect: Team should respect each other through communication or accept feedback.
Third: Lean-Agile
Lean-Agile is a set of principles and practices for working that aims to minimize waste whilst maximizing value. This enables organizations to make quality a priority in their products and services.
Agile emerged after Lean, and the inventors of Agile were inspired to apply Lean manufacturing principles to software development.
Lean has 5 principles:
- Define value: identify and focus on what the customer wants and include the customer.
- Map value stream: map out the steps to production and challenge all wasted steps.
- Create flow: ensure the product flows through the value stream efficiently, eliminating waste throughout the cycle.
- Establish pull: ensure the customer is pulling on the product through this steam by asking for features and incremental deliveries.
- Pursue perfection: push the team to continuously improve the first four process steps.
Fourth: Scrum
Scrum is an agile framework that helps teams to work together through adaptive solutions for problems.
Scrum Guide has written by Ken Schwaber and Jeff Sutherland to explain Scrum clearly and simply which contains the Scrum definition. Which consists of Scrum’s accountabilities, events, artifacts, and the rules that connect them.
A Quick Summary of How does Scrum work?
1- The team works in a short period (called Sprints), Usually 2-4 weeks long but does not exceed a month.
What are sprints? With scrum, a product is built in a series of repetitions called sprints. It breaks down big complex projects into bite-size pieces. It makes projects more manageable and allows teams to ship high quality, work faster, and more frequently. The sprints give them more flexibility to adapt to the changes.
2- A Product Backlog is created, Which is an ordered list of work needed for the product.
3- Before each Sprint, the Scrum Team sets Sprint Goals for that Sprint, and they select the most necessary Product Backlog Items to deliver that goal.
4- Obviously Every day, the team meets for no more than 15 minutes in a Daily Scrum meeting to discuss the progress of the Sprint Goal and make any necessary changes.
5- By the end of the Sprint, the completed work should be in a state that meets the definition of done (DoD) and is ready for launch.
6- After the sprint is completed the Scrum Team puts the sprint under Review where they review what was done, collect feedback, and discuss what they will do next.
In the next blog, We will explain in detail the Scrum framework and what the sprint is? and what is scrum`s team role?, Don’t forget to follow up on our blog series.
Read our first blog “Introduction to Agile”
IOS developer at Rabbit Technology