From Waterfall to Agile: Developing the Software of the Future
Touch screens, holograms and virtual reality are some of the things we think about when we think about innovative technology.
Yet, innovation is also taking place offline thanks to methods like Agile.
According to the Merriam-Webster dictionary, being agile means “having a quick resourceful and adaptable character.”
That’s exactly what this disruptive method wants to help us become within IT departments and beyond.
Now, how well does it transfer from paper to execution?
Waterfall vs. Agile Methodology
Due to conventional education, most of us are trained to function linearly.
We set the pan, ignite the stovetop, pour the oil and crack open the egg right into it.
This is called the “waterfall method,” and it worked wonders when most tasks could be done by hand.
However, the products and services the market demands today can’t be produced at the rhythm necessary if we’re following a step-by-step process.
Creating digital products of the future requires a different approach to software development, not to say a different general thinking approach.
Consider a programmer who is tasked with developing an app for monetary transactions.
While he’s still coding the basic functions, regulatory laws have changed, and the client is requesting a new form of eKYC to be implemented.
Before these changes are done, the company has already rebranded itself and is asking for the app’s look-and-feel to match the new style.
Our products and services are now living, breathing things, and as such will remain ever-changing.
This is why the Agile methodology focuses on releasing iterations, or what we’d call software updates, of the same product on an on-going basis.
The idea is to ensure the consumer always has the best, most optimized version of a product or service at any given time.
The Agile Method’s origin story
At the turn of the millennium, February 2001 to be exact, a group of 17 tech experts met up at a ski resort in Utah looking to find common ground when it came to software development.
Although each had dedicated their careers to different tech avenues, all of them had used a similar approach to develop software.
Thus, the “Agile Manifesto” was born.
Its core values are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile is different way to do things that can be better suited for fast-paced projects and environments.
It doesn’t focus on the production chain but rather on involving all those who care about the product.
But how does including more people and forgoing a linear structure make a company more prolific?
Applying Agile to the workplace
Although this methodology supposes a big change for corporations, Agile can help teams optimize their workflow.
Applying Agile requires a leap of faith. José Luis Soria, our Continuous Improvement Manager, likes using the following image to illustrate what it’s like to implement Agile for the first time:
Innovative caveman tries to introduce other cavemen to his new invention. Unfortunately, the others are too busy trying to solve the problem at hand to see that the invention is the solution. Image via imgur.
“To successfully implement Agile, you have to acknowledge and understand the team’s perspective. Even if the method is foreign to them, what you need to convey is the flexibility and autonomy Agile creates. And it doesn’t just enhance productivity and quality, it also creates a better work environment by encouraging communication,” he shared.
For us at Ria, Agile works wonders by helping us align our development teams located all over the world, from the United States to Spain to Malaysia.
We started implementing Agile almost a decade ago, and we continue to fine-tune our approach every day.
In the end, it’s the method’s very essence that keeps Agile relevant, with its open dialogue and its system of continuous releases.
And isn’t that the very recipe for innovation?
This article is the first installment of our “Workplace Methodologies” series. Don’t miss out on our next post, “Applying Agile: Scrum vs. Kanban.”