Differentiation: Stand out in the Cloud
November 4, 2015
Are Default Options Going to Increase Your Revenue?
October 19, 2016
Show all

Agile Versus Waterfall: Which Method for Building Cloud Solutions?

Reading Time: 5 minutes

Agile Method

Look anywhere online and you will find an endless supply of articles describing the choice between Waterfall versus Agile development methods. Most of these articles pit the two methods against each other, and describe the two as mutually exclusive choices: waterfall OR agile. Here we will describe the main principles of each method, and debunk the belief that we must always pit the two mythologies against one another.

The Waterfall Approach

The Waterfall Method

Waterfall practitioners lead their projects with a fixed, concrete plan from day one, it’s a sequential process with clear, separated gates between each task. Developed in the 1970’s by Winston Royce, the Waterfall approach is traditionally used in the construction and manufacturing industries. The approach uses stage gates between phases, and treats each stage as a separate, fixed component. There is no going back between stages.

Advantages:

  • Because the project plan is viewed as fixed from the outset and change is discouraged, the plan is very strict, and predictable.
  • Promotes a stable, repeatable process with few unknowns.
  • Stresses strong documentation.
  • Ideal for cases where the same problems are recurring, such as recurring manufacturing projects.
  • Suits projects where requirements can be defined up-front, and where changes in a project are very costly.

Disadvantages:

  • Since the project plan is set at the outset, there is no way to accommodate change into the project as it goes along. For example, there is no time allocated to testing our assumptions about customers’ needs, until project completion. If we learn our assumptions were wrong, we would have to start over, from the very beginning.
  • Because the approach does not break the project down into smaller iterations or sub-projects, there is no deliverable to review and test until the very end of the project.

Examples:

  • Construction projects.
  • Standard manufacturing cycle projects.

The Agile Approach

The Agile Approach

If you’ve ever heard the terms Lean, Kanban, or Scrum, you’ve come face to face with some of the many tools developed out of the Agile approach.

To understand Agile, let’s go back to the origins of the approach. Agile was first developed from a group of software developers, who gathered together at Snowbird ski resort in 2001, and decided to create a manifesto about what they viewed as great software development principles. Here are the principles they developed on that day in the Utah Rocky Mountains:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

“That is, while there is value in the items on the right, we value the items on the left more.”

(Source: Forty Design’s excellent agile article.)

What followed from this manifesto was a development methodology, and an entire industry of tools and services supporting companies to adopt its practices.

Unlike Waterfall, the Agile approach embraces change and uncertainty as a core philosophy. It’s a piece by piece approach, where a project is broken into several iterations, often called sprints. Each iteration or sprint is a mini project in its own right, with a goal to deliver a working feature, before moving on to the next iteration.

Advantages:

  • The approach embraces change, which is essential for new products and processes, and industries characterized by uncertainty.
  • Agile creates many opportunities to integrate customer feedback, incorporate changes in business priorities, and react to changing nuances that may affect the project.
  • In software development, the smaller iterations provide opportunities to test and de-bug along the way, rather than facing insurmountable QA obstacles at the project deadline.
  • Because each iteration delivers a new outcome, there are many deliverables to test, review and share throughout the project, not just at the very end.

Disadvantages:

  • Traditionally, the approach stresses getting the project done more quickly over fine documentation.
  • The process can’t really be predicted, because only a small iteration is planned at the outset.
  • It may be challenging to implement in a project team that is unable to embrace the fluid, dynamic nature of the approach.

Examples:

  • New software developments.
  • User interface design consulting (see an example by the design company Forty, here).

The Agile / Waterfall Spectrum

Agile / Waterfall Spectrum

Writers often love to pit the two methods against each other, suggesting the choice is black or white. In reality, Agile and Waterfall are more appropriately viewed as two extremes on a spectrum. When we think about applying some of these principles to our organizations and projects, we are most likely to gain success by looking critically at the main goals and benefits for each approach, and creating our own blend that’s optimized for our particular business— and the specific project at hand.

For example, a cloud solutions provider working on a new Software as a Service (SaaS) development will likely love the speed and flexibility of the Agile method, allowing the project to create incremental prototypes and pivot as needed. However, Agile’s lower value for documentation may not meet the needs of every team. For example, if the team expects to hire new developers during the project lifecycle or if turnover has been an issue in the past, they may prefer to integrate some of the Waterfall method’s principles for its strength in documentation.

In some cases, a company may implement both methods simultaneously to suit its different business units. For example, a cloud service provider may benefit from the Waterfall approach for its core products, servicing established customers. The defined, repeatable nature of the Waterfall approach would be ideal to sustain established products and services, during their lifetime. Meanwhile, the company may be engaging in new activities which will be a key to future growth, such as migrating customers to cloud solutions, or developing new Service and Infrastructure as a Service offerings to keep pace with competitors. The new technologies and the new customer demands will introduce many unknowns to the project, and will require many opportunities to be adapted from customer feedback— both during development, and after initial launch. These innovation projects would be a great candidate for the Agile methodology.

Design Your Own Approach

Design Your Own Approach

If there is any uncertainty about the product or the market, we strongly recommend incorporating some of Agile’s philosophy into the project. This will give the project room to grow and change, with a structure to experiment, adapt, and refine as the uncertainties are gradually understood. We recommend picking and choosing elements of the Agile philosophy that work for our projects and teams, without feeling the need to follow the approach devoutly.

Take the principles that you believe will work for your company, and create your own style that will allow for those principles to be achieved. Each project and team will be unique, and the success will lie in creating a unique method that works for the particular company, project and goal.

If you’re curious to learn more, here is a great white paper from The University of Missouri to further your knowledge about Waterfall and Agile principles.

 

  •  
  •  
  •  
  •  
  •  
Sharka Chobot
Sharka Chobot
With over 25 years of marketing, leadership and coaching experience, Sharka has held senior leadership positions with Stratford Software and Bedford Software, ATI Technologies and Pivotal CRM. She was selected as one of the Top 40 business individuals in British Columbia, Canada by Business in Vancouver magazine and nominated as one of the 20 Most Influential business women in British Columbia, Canada.

Leave a Reply

Your email address will not be published.