Be careful what you say – you might just get it

13 April

"Agile without automation is just waterfall." This was a statement made to me in an online chat discussion a few years ago, that had me challenging what that might mean and the implications it might have. 

Agile as an umbrella label is made up of different approaches to working such as Scrum, Kanban, Lean and so forth.  Agile is about shortening the feedback loop, engaging business throughout development and employing principles that are meant to be more humanistic in nature (and less about command and control).  So, what about automation?

Automation (in its various forms) is a tool that enables individuals and teams to deliver items of work quicker or allow a machine to take care of the tedious work whilst the human(s) are engaged in more thought provoking activity. Automation is an enabler and if done right, can enable really well. 

I am a fan of automation when it is appropriate, when used at the right time and for the right purpose. If not, then what could happen is wasted effort and the false premise that it’s working, when hidden issues could surface at inopportune times (such as in production!)  Poor automation creates an illusion that the software works and forms technical debt that will only increase the cost of the project and business (due to re-work). 

So what is the problem with assuming that Agile and automation go hand in hand?

The problem is that this implies that Agile must have automation otherwise it’s not Agile - it becomes waterfall.  Automation is not necessary to develop software within an Agile framework but it could help.  Automation may be a tool of Agile, just as with any software development model. The danger here is that we begin to focus on the right-hand side of the Agile manifesto, which in this case is "individuals and interactions over processes and tools." When we use statements that appeal to authority, then we lose the flexibility that Agile can offer. In other words, we are not bound by the tools, we adapt whatever is useful in our quest to deliver good, working software.

So we could reword the statement to say "Agile without some degree of automation might not help us uncover problems quicker".  In this case, it becomes a little clearer what the intent is and in what context.  This becomes important especially in the Agile world where the context and frameworks will often vary between projects.

Successful teams are able to balance the brilliance of individuals, the power of teamwork, the enabling factor of tools, worked within a framework that works for them.  Now that's Agile.

Post by Brian Osman

Thank you!

Your details have been submitted and we will be in touch.

CHAT
CALL