Agile Coach Online

Expert support on demand

Agile Coach Online Logo

Agile methods

Agile is not a methodology. It is a way of thinking. There are many different methodologies you can use and adopt to be Agile. Some have been around for a long time - since long before Agile got a name - and some are quite recent. Do not let someone come to your organisation, show you a methodology and set of techniques, then claim they have made you Agile. They haven't.

With all the methodologies, there is no point in just 'doing them'. That can give the impression of Agile without the benefits. It is essential to understand why we do these things

The 'top-level' methodologies you are most likely to adopt in Agile are: Scrum, Kanban, Lean (I will also mention DevOps). Any of these (or any combination) can be used to achieve Agileness if they are suitable for you. They are all compatible with the values of Agile

Scrum

Let's start by discussing Scrum. This is probably the most commonly used Agile approach and is the one that causes most confusion - people often think that Scrum and Agile are the same thing. Scrum is defined by the Scrum Guide. This was first published in 1995 - 6 years before Agile got a name. It is still updated and continues to be improved

The core of Scrum is to make decisions based on actual information - not feelings, beliefs, biases or who shouts loudest. To me, that is a statement of the obvious, but it is scary to see how many organisations do not work like that. It immediately challenges large organisations, hierarchical structures and many 'authority' models. So you can see why a lot of large organisations resist. In Scrum, this is termed 'empiricism' (though other definitions of the term exist). Scrum suggests that the empirical approach requires 3 things ('pillars')

We are already getting into an approach which implies openness and honesty about everything we are doing - another big challenge for large organisations. This is a 'no blame' culture. We take responsibility for everything as a team. If there is a problem we fix it, understand how it happened and take steps to make sure we have learnt from the experience so it does not happen again.

From that basic model, Scrum proposes a few things which people tend to identify with Agile.

Kanban

The short version of Kanban is that it is like Scrum but without sprints. It is a much older method - starting in the 1940's with Toyota. The name is about visualising things and relates strongly to visibility and transparency as key Agile values

Instead of sprints Kanban works with a continuous pipeline of work. The team has a capacity of work in a pipeline of things being progressed. There is a backlog of smallish items just like scrum. When an item is completed it ceases to be current work and the team will look at the backlog to choose another item or items to work on

Lean

If you reduce it to a sentence, Lean means do not do anything you do not need to do.

DevOps

DevOps is an approach that is more recent than Agile. It tries to be compatible with Agile ideas and values, but concentrates on a different bit of the software life-cycle.

Other techniques

After those big statements we can explore a few more things. These are things that are often mentioned in the Agile context, but remember that anything can be Agile if you think of it in the right way