What Is Agile Development?

Agile development is a powerful technique used to create web assets. It provides for multi-channel development and a consistent process for development, testing, and improvement.

Agile development contrasts with waterfall development, which is a linear process.

In this blog, we’ll look at both processes and look deeply at how agile development can help to create web assets quickly and consistently.

Waterfall vs Agile Development

Waterfall development is a linear track involving specific steps taken one after the other. The steps to waterfall development include:

  • Project planning
  • Requirements gathering and documentation
  • Analysis
  • System design
  • Coding
  • Testing (code, unit, system, user acceptance testing)
  • Deployment

These steps are taken in order.

The primary advantage to waterfall development is its familiarity. Like building a house, it starts with step one and ends on the last step. This helps some clients to feel better when they hire a developing partner; it’s predictable and known—it’s the same process used for many years in software development.

There are a few downsides:

  1. Nothing is launched until everything is done, preventing the company from moving forward.
  2. There are few revisits to improve the product. It’s pushed out after completion and a single round of testing.
  3. Changes can be expensive since the entire design is built in layers.

Agile, in contrast, is a methodology for web development that begins with two simultaneous tracks and a cycle that repeats development.

One track includes research and development, estimation, and wireframing. The second track includes support, launch, and quality assurance. The cycle includes wireframing, design, prototyping, development, and quality assurance.

As its name suggests, agile is widely seen as a more flexible development approach (source: Liventus.com). Not only are multiple tracks being accomplished simultaneously, but the process is continually in development to provide a more complete and updated product.

There are two significant disadvantages to agile development.

  1. Those who aren’t familiar with this method can be uncomfortable with a process that launches before everything is completed.
  2. The initial product often lacks some features that are desired but are still in development.

Agile development has become the standard in web development—it makes your web assets available more quickly. While the initial release is often a “minimum viable product” (MVP) and may lack some features, it enables users to engage with it faster.

A Brief History of Agile Development

All agile development processes are based on the Agile Manifesto, a set of guidelines put together by a group of developers who wanted to codify their ideas about how software should be developed.

Their core principles 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

These values might not work when building a house, where you need to build a solid foundation before you can put the roof on. In software, the real foundation, the language, is already created. Each part of a piece of software can often stand on its own while other parts are still under creation.

The Manifesto then breaks these values into 12 principles that guide every agile development. These principles can be found here.

The Agile Manifesto was published in 2001 and has changed little since. It’s a way of looking at software development that is more reflective of the natural processes behind the creation of software.

Why Choose Agile Development

As was mentioned above by Liventus, agile development is more flexible than waterfall development. Software is often not a predictable project. The product might start out as one idea and then rapidly migrate to something else. New ideas are presented or new features are needed.

Waterfall development might require going all the way back to the beginning, re-evaluating goals, and starting development all over again. With agile development, changes are simply made in the existing framework and everyone moves on.

Because agile development starts with multiple tracks operating simultaneously, it’s faster. Combine that with the fact that the initial product that’s launched is simultaneously usable and a work in progress, and you have a system that delivers results (and often revenues) faster than traditional methods.

If, at any point, there’s a desire to add something, take something out, or change directions, the agile development method enables that to happen without having to tear everything down and start again.

Agile development is less expensive. There’s a lot less time spent in planning. With waterfall development, you have to know everything you’re going to do and most of the issues before you can start. This planning stage can take a long time and cost a lot of money.

With agile development, you start with a basic idea of what you want and what features you’d like to see. Then the developer gets started, creates an MVP, and more features are added constantly.

Agile development provides for a shorter time to market. In their article, Agile Web Development Methodologies: A Survey and Evaluation, authors Nasrin Ghasempour Maleki and Raman Ramsin present this as one of its greatest advantages. They go on to point out that the decision on which development method to use can be a significant predictor of a project’s success.

A Couple of Examples of Agile Development

While they might not have started this way, both Google and Microsoft exhibit agile development principles.

When Google launched in 1998, it appeared quite different. During discussions of what the page should look like, it was decided that it should just be a white page with a search box, not the busy pages with ads and news that everyone else had. Since then, they have changed the algorithm hundreds of times and continue to develop their real product, an effective and instant search engine.

Anyone who worked in Windows in the 1980s, 1990s, and even the early 2000s knows that Microsoft has been evolving their product for decades. Founded in 1975, Microsoft first released Windows in 1985, and the operating system has been a work in progress all this time.

It’s important to note that both companies have had failures, from entire products that failed to features to their core products that were added and then removed. Agile development will deliver dead ends and successes, but each “failure” is an opportunity to learn what doesn’t work.

Getting Comfortable with Agile Development

For developers who are new to it or clients who are confused by it, the four core principles above will help to make all agile decisions make more sense.

Get to market faster, create a more exciting product, and have fewer complete failures using agile web development as the foundation of your project.