Do you know what Agile is?

Thirteen years ago I heard — for the very first time — the word “Agile”. Back then, I learned that SCRUM was Agile, but later on, I noticed XP was agile and Kanban was too. All of them had quite different approaches for software development, but still called Agile, why? If you are in the same boat I was, then keep reading.

If you ask a Project Manager, Scrum Master, Consultant or a Marketing department, what is Agile? they will probably answer: (I quote some of the answers I’ve heard in the past):

“it is a methodology that allows us to apply changes as much as needed, without compromising the deadlines.”
“it is when you do standups, create sprints, have a backlog, do retrospectives and have a Product Owner in your project.”
“It is a methodology we can teach you, that may help your company to create software and increase revenue.”

The actual definition of Agile is found in the Agile Manifesto which makes it clear that Agile:

  • is not a methodology
  • is not a specific way to develop software
  • is not a framework or process

In fact, most of the things that are marketed as Agile are not, and tend to miss the main idea of what actually Agile is.

So, what is Agile?

~ Agile is a set of values and principles ~

(You were not expecting that, did you?)

Agile does not tell anyone what to do or how to do it. It gives a collection of values and principles that people can use as a common-flexible-foundation to make decisions about the best way to develop software.

Now that we know what Agile is, we can stablish some important statements:

1Scrum, XP, Kanban etc are not Agile — from a definition point of view — all of them are (agile) Frameworks, this is, a collection of different approaches based on Agile values and principles, which people could follow based on their needs, to improve software development.

2Everyone can create an Agile Framework, if none of the above Frameworks really suit their particular needs. For an example checkout Spotify’s approach to Agile.

3Following good practices of another Team/Company does not mean your Team/Company will succeed. Different people have different needs, so a rule of thumb is to apply the good practices your Team/Company agreed to follow based on Agile’s values and principles.

Last but not least: go, talk with your Team, analyze if the Agile Framework you are using is the best fit for you. If not, feel free to change it, or create your own version. Ultimately, that’s the main idea of beign Agile.