What is Agile (in software development)

Gertjan Assies
2 min readJun 23, 2021

--

Most discussions I have about Agile software development, tend to focus on what methodology to use, Scrum, Kanban, SAFe etc. but these are just the processes involved to help you, necessary but not what Agile is really about. In its essence Agile or Agility is just:

The ability to respond to change

To be able to do that, you need to know what has changed and how to respond to it in a timely matter.

In my opinion, the following three things define an Agile implementation best:

Continuous Delivery
or Continuous Integration/Deployment/Development.

Dev teams should be able to deploy to production whenever is needed, automated tests (unit/integration/regression/compliance/security) should keep the quality high and give dev’s the confidence to do so.

This is key in being able to respond to change quickly.

Continuous Measurement

Beforehand success and failure criteria should be defined, measured and monitored.
This includes measuring the performance of the team itself, but that should focus on removing impediments. not so much quantify-ing work done

This is key in knowing what to respond to.

Continuous Improvement

The “Inspect and Adapt” method should be applied both on the software (how effective can our customers accomplish what they intend to do) and on processes (what slows us down)

Of course, software development is a lot more complex than just answering the question “What is the most important feature to build right now?”
Needs from other teams, customers, partners, parent companies and other stakeholders need to be managed but in the end, that should all just end up in a prioritized backlog. (hire good Product Managers/Owners)

Being able to continuously inspect, adapt and improve, should make you build the most important thing in the fastest way possible every time.

--

--

Gertjan Assies

Polyglot Functional Software Engineer, currently working as a Site Reliability Software Engineer