What is Agile?

Adam Shingleton
Ziegert Group Tech
Published in
3 min readJun 3, 2021

--

Ziegert Group Tech’s Agile Coach Adam Shingleton takes a look at the basics of Agile and how it became the most popular methodology for software development in the 21st Century

So what is Agile? Moving quickly? Being nimble? The short answer is yes, the long answer is of course not! (but also yes).

Frameworks and Values

The main two Agile frameworks used these days are called Scrum and Kanban. Essentially, these are project management frameworks that software development teams use to make valuable software, but sometimes even departments like Sales, Marketing or HR like to use them too.

Some of the main values are:

— Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

— We welcome changing requirements, even late in development. We harness change for the customer’s competitive advantage.

— Business people and software developers must work together daily throughout the project.

— Simplicity: the art of maximizing the amount of work not done, is essential.

— Teams should reflect frequently on how to become more effective.

— Great results emerge from self-organizing teams.

​​​​​​​ — Deliver working software frequently.

These frameworks and values are crucial due to the unique issues and obstacles that developers face when creating valuable software. What are these unique issues?

A key aspect to remember here is that developers / programmers / engineers / coders are essentially wizards — ask them to make literally anything and they will find a way to make it happen, from creating and solving puzzles, to computer games, to blockchain or even Mars-landing rocketry software. However, defining exactly what needs to be created can be very challenging, and developers and business people will usually find unforeseeable obstacles along the way. This means that making predictions on the eternal question “how long will it take?” can also be very tricky, or sometimes even impossible for long-term projects.

Waterfall

A traditional approach to long-term software projects was a methodology called Waterfall.

Back in the bad old days, a Project Manager would take a long time to collect all of the requirements from stakeholders, then spend another long time designing all aspects of the final product with designers, then spend an even longer amount of time coding and implementing with the developers (followed by an extremely small and insufficient amount of testing time) only to be told that half of the features are no longer required because the market has moved on or a competitor was quicker. Quickly adapting to change was extremely difficult using Waterfall methodology.

The Result — Agile

This is how the Agile methodologies were born into existence: through the expensive and painful experiences of slow design, costly re-design and difficult re-implementation that could result in millions of dollars paying for completely non-viable software. To avoid this, Scrum is our answer to the Waterfall problem — Scrum is our default Agile framework that we use as often as possible here at Ziegert Group Tech.

Scrum for Software Development

Think of Scrum as an extremely compressed version of the Waterfall approach— rather than deliver an entire project or product after multiple months or years, Scrum (usually) uses 2 week iterations to deliver small but valuable software increments. If the market moves, or business priorities change, a Scrum Team is agile enough to change direction in a very short amount of time without costly redesign efforts.

Agile, however, is not a magical elixir to solve all of the unique challenges faced by developers — and a company needs to offer significant support and co-operation to their development teams to ensure that Agile methodologies are successful. But when an organisation really understands the importance of agile values for developing great software, they are the ones that put development teams in the best position to succeed.

--

--