Agile, Scrum and Kanban:

A Quick Overview for Tech Project Managers

Trying to get a job in tech as a project manager? There are different areas you should focus on to ensure you can both pass the interviews, and be successful while on the job.  These concepts, Agile, Scrum and Kanban, are often spoken about as interchangeable terms, however, they are not synonymous and you should be able to speak intelligently about these concepts and their differences during interviews and in front of technical teams. 

In this quick article, let's look at the differences between, Agile, Scrum and Kanban.  

 

AGILE

Agile is a mindset, a methodology and a set of practices. Agile can be best described as an organisation that focuses heavily on collaboration, communication, flexibility, focus and responding to change.

 

Once you've established this mindset within your team it's important to focus on these five principles in order to establish your Agile culture:


(1) Customer collaboration: The Agile team not only focuses on what the customer wants but also what the customer needs. Rather than thinking of software development as being a one-way process to produce a product, Agile encourages the customer to add value through collaboration.


(2) Small positive iterations: In order for new features to be added within an Agile team, it's important that new features are small and simple. In order for small and simple ideas to be implemented, teams need to take risks. This means that in small iterative steps the Agile team will try new things and build upon previous work in order to get something of value.


(3) Working product: The Agile team's focus is not on just creating a product or software solution, but it's also about having that product be a working solution.


(4) Responding to change: An important difference between waterfall and agile delivery is the way in which change is handled. In waterfall projects it's possible to underestimate the impact of change and include several convoluted processes to manage this. However, with Agile development change can be dealt with quickly through cross-functional teams. Dealing with small changes means that teams are able to react quickly and reduce their impact on deadlines and sprints.


(5) Acceptance by the whole organisation: In order to make sure that the Agile mindset has been adopted properly throughout an organisation, there needs to be a focus on education. This means that the whole team needs to understand how and why Agile works. They'll need to understand what was wrong with traditional methods and how Agile can help.

 

SCRUM

 

Scrum is a framework for implementing an Agile method. Scrum focuses on defining roles, events and artifacts in order to deliver product and data in cycles called sprints. Each of these cycles are around 2-4 weeks long and have certain events within them, such as planning, daily standups or sprint review/retrospective session.

It is important to note the differences between Agile and Scrum:

Scrum is not a methodology. Scrum is a framework for implementing Agile. This means that there are no specific steps to follow, instead the team focuses on implementing some level of Agile within their sprint cycles while adhering to the framework and making sure they are following the roles, events and artifacts described.

 

KANBAN

 

Now let's look at Kanban.  What is Kanban and how does it fit into the Agile framework? Kanban is an Agile methodology. It's a simple framework that helps teams manage their work. In essence, Kanban is a way to visualise work and make sure that the team focuses on what they can achieve rather than what lies ahead. Kanban is similar to Scrum in terms of roles, events and artifacts but it's important to note the differences in implementation.

 

KANBAN Vs. SCRUM

 

The biggest difference between Scrum and Kanban is the number of sprints and the concept of limits.

An example of a Scrum project could be a website design for an entrepreneur that requires WordPress, an online ordering system and a payment system. This project will likely have multiple sprints in order to create all these different components and integrate them together at the end of the project.

However with Kanban, a team might receive all three components from another team at the start of the project. Instead of work in sprint iterations like in scrum, the team would focus on managing their work in the backlog on a continuous basis, not in time boxed iteration cycles. 

 

CONCLUSION and OVERVIEW

In conclusion, Agile is an organisational, technical and cultural approach to software development.

Agile can be used to deliver a variety of products and services including mobile applications, websites, desktop applications, games and many more. The way in which you use Agile depends on the project/company you're working on.

Scrum is a framework for implementing an Agile method. It focuses on defining roles, events and artifacts in order to deliver product and data in cycles called sprints. Each of these cycles are around 2-4 weeks long and have certain events within them such as planning, daily standups or sprint review/retrospective session.

It is important to note the differences between Agile and Kanban.

Kanban is an Agile methodology. It's a simple framework that helps teams manage their work. In essence, Kanban is a way to visualise work and make sure that the team focuses on what they can achieve rather than what lies ahead. Kanban is similar to Scrum in terms of roles, events and artefacts but it's important to note there are some differences in terms of how they're implemented.

 

Kanban & Scrum: The biggest difference between Scrum and Kanban is the number of sprints and the concept of limits.