Each minute of our life is a lesson but most of us fail to read it. I thought I would just add my daily lessons & the lessons that I learned by seeing the people around here. So it may be useful for you and as memories for me.
Article by AXA XL Team…
Which framework works best: Kanban or Scrum? If you are on the verge of a brand new project, I bet this question has posed quite the challenge to your mind. Today Kanban and Scrum have grown in popularity and have taken the place of the previously popular waterfall method.
Agile – Agile software development is based on an incremental, iterative approach. Instead of in-depth planning at the beginning of the project, Agile methodologies are open to changing requirements over time and encourages constant feedback from the end users. Cross-functional teams work on iterations of a product over a period of time, and this work is organized into a backlog that is prioritized based on business or customer value. The goal of each iteration is to produce a working product.
Scrum – The approach followed here is breaking down a complex task into simpler smaller manageable pieces which are easy to collaborate upon by the respective owners of the scrum.
Kanban – It is a Continuous improvement, flexible process. Kanban helps visualize your work, limit work-in-progress(WIP) and quickly move work from “Doing” to “Done.” It is a framework which utilizes visualization technique, limiting the number of tasks to be taken in “Work in Progress” column.
Scrum Vs Kanban
Kanban and Scrum are both iterative Agile development models, the goal is to get the most important tasks fully done (including testing) as soon as possible. The product should be potentially shippable at the end of the iteration. The difference is with Scrum the end is a set date, with Kanban it could be anytime the features that need releasing are done. In Scrum you plan a fixed period of time and with Kanban you plan just in time.
- Scrum is dependent on the scrum owners and is worked upon by them respectively. Scrum has three clearly defined roles.
- The product owner advocates for the customer, manages the product backlog, and helps prioritize the work done by the development team.
- The scrum master helps the team stay grounded in the scrum principles.
- The scrum team chooses the work to be done, delivers increments, and demonstrates collective accountability
- Kanban is independent of cross-functional team members and parallel roles. The whole team owns the kanban board. Some teams enlist an agile coach but, unlike scrum, there is no single “kanban master” who keeps everything running smoothly. It’s the collective responsibility of the entire team to collaborate on and deliver the tasks on the board.
Release cycle –
- Scrum makes use of sprints whose duration varies from one week to two weeks. The user stories are then taken up for development, testing and bug fixes. Nowadays, it’s common to have ad-hoc releases in scrum, but it’s long been a best practice to release at the end of each sprint. Teams set an objective for each sprint, the sprint goal, and either approves it for release in the sprint review meeting, or don’t
- Kanban does not follow any cycle and the process is continuous in nature. In kanban, updates are released whenever they are ready, without a regular schedule or predetermined due dates. In theory, kanban does not prescribe a fixed time to deliver a task. If the task gets completed earlier (or later), it can be released as needed without having to wait for a release milestone like sprint review.
Tracking parameters –
- Scrum makes use of velocity in planning upcoming sprints taking into account the complexity and number of user stories completed in the previous sprint.
- Kanban ensures limiting of user stories in “Work in Progress” column to avoid bottlenecks. It tracks the time taken to finish a task from the starting to the end.
The scope of improvement –
- Scrum does not encourage changes in ongoing sprints.
- Kanban is open to any changes before the completion of the project. It is flexible in nature.
Fit factor –
- Scrum is suitable for projects with clearly defined user stories. Acknowledgement on the same by the client for timely completion of the project makes it a fit.
- Kanban being flexible in nature allows variations in priorities on the basis of the current scenario.
Pick process –
- Scrum picks the entire batch of user stories from the product backlog for development.
- Kanban follows the maximum number of tasks allowed in the columns to maintain the sanity of the framework and to avoid bottlenecks.
- Scrum follows delivery based on sprint planning and prioritize based on the specifications given by the client.
- Kanban follows the continuous delivery model based on business needs.
- Scrum – Velocity i.e. the number of story points completed in a sprint—is the central metric for scrum teams. It guides future sprint commitments, or how much work the scrum team takes on in future sprints. If the team completes an average of 35 story points per sprint (Velocity = 35), it won’t agree to a sprint backlog that contains 45 points.
- Kanban – Lead time and cycle time are important metrics for kanban teams. The deal with the average amount of time that it takes for a task to move from start to finish. Improving cycle times indicates the success of kanban teams.
The above points are easy to remember if you are able to visualize working on them. Ideally where the scrum follows a rather predefined set of principles. Kanban is backed up by the principle of flexibility. It allows you to track tasks that are of utmost importance for delivery.
What Is Kanban?
In order to simplify the manufacturing process and increase efficiency, in the 1940s Toyota implemented just-in-time manufacturing—effectively, making only what is needed, only when it is needed, and only in the amount that is needed.
Kanban is great for teams that have lots of incoming requests that vary in priority and size. Whereas scrum processes require high control over what is in scope, kanban let’s you go with the flow. Let’s take a look at the same five considerations to help you decide. What makes Kanban interesting is this aspect of it – that you could be continuously developing, integrating, testing and releasing at a cadence that you feel comfortable with – and so the whole concept of Continuous Delivery becomes much more ‘natural’ with Kanban.
How Does Kanban Work?
The only essential materials for kanban are a marker, sticky notes, and a board. Create “cards” from the sticky notes representing work items that have to go through several phases, from start to finish. Then draw columns on the board for each phase the cards need to go through, with a number at the top of each column that indicates the maximum number of cards (i.e., work in progress) that can be in that phase at a time. This number probably will and should change as your team improves its ability to gauge and reduce bottlenecks. The columns could simply be labeled “to do,” “doing,” “waiting,” and “done,” or they can be more process-specific, such as in the examples below.
Another helpful thing many teams do is dividing the columns in two, with one lane for “doing” and one for “done,” as you can see in the software development kanban example above. This way, it is clear to whoever is in charge of the following column to know when they can pull another card and begin working on it.
The beauty of this system is that it helps you detect where bottlenecks are. The work-in-progress limit stimulates conversations about process problems. In the examples above, you can see some columns are at capacity and some are not, but none has more cards than prescribed.
Please feel free to share your story and any lessons you learned, you experienced, you came across in your life in the comments below.