It is an adjective whose meaning is widely spread depending on how and where you’re using it. It even comes capitalized if used properly. There is agile construction. Agile learning methodology. There is Agile software development. Oh… and there is the Wallis WA-116 Agile, the mightily-armed gyrocopter that James Bond flies over a volcano in the ‘67 classic You Only Live Twice.
Wherever you may increasingly encounter the word, it essentially shares the meaning of its original definition: agile, to ability to move easily and quickly.
When it comes to software development, it can be traced back to the early days of the new century in 2001, with the publication of the Agile Manifesto by prominent devs, who were pushing back against the prevailing heavyweight methods of software development, and promoting alternative, lightweight methods.
The heavier they come the harder the fall
Pre-90s software development was dominated by the a stage-gates approach, which built into the development process structures of micromanagement, and heavy regulation and planning, so that a project would have to trickle down into each step, getting authorised and approved, before continuing it’s journey via each and every step.
Then the ‘90s came along, and in the spirit of the disruptive sounds of an Oasis riff, fresh methods were written to shift the trajectory of which would dominate the offices of world-class development and strategy consultancies. Methods like RAD, UP, DSDM, XP, Scrum all emerged separately at different moments in the decade, before being collected together in what is now known as the Agile Manifesto — and as a group refers to the different Agile methods.
The question behind the shift was “why do projects have to be burdened by heavy documentation and process?” And with this, the focus shifted towards getting the right individuals into teams and optimizing how to work together, rather than relying on following highly-specified processes.
It is this way of working — that prioritizes people and teamwork — that the best tech agencies cultivate and sustain over time. So how does Agile methods work in practice?
Under heavyweight dev processes, the team spends (wastes?) a lot of time on collecting all requirements and carrying out the specifications. And only then do they begin the act of building. So much time is focussed on the pre-building phase. Agile zooms out and replaces the focus on solutions.
Under heavyweight dev processes, the mental mindset concentrates on arguing with your client on what ought to be included into the scope, and then during the project, you could invent a drinking game where every time someone says “that’s not on the requirements doc” you must take a shot of your favorite — or least favorite if you hold masochistic tendencies — liquor. A good SFCC tech consultancy who uses Agile cultivates customer collaboration through clear and frequent communication where people speak with each other and not at each other.
Under heavyweight dev processes, teams struggle to adapt to unforeseen circumstances and changes, or even feeling uneasy about straying from the requirements doc. Agile allows you the flexibility to respond to these changes that are inevitably going to appear down the line.
PS: UV is one of the world’s leading Demandware (now Salesforce Commerce Cloud) agencies. Contact us to see how we can work together.