Why we use Agile Development vs. Waterfall Development

Home>Intranet Software>Why we use Agile Development vs. Waterfall Development

Why we use Agile Development vs. Waterfall Development

By | 2017-09-15T09:49:08+00:00 July 27, 2015|Intranet Software|

Software development is a complicated process. With the end goal of meeting our customer’s needs in mind, we gather requirements, plan, design, code, test and finally deploy product features or enhancements to our Intranet Connections product within our ongoing software release cycle. To facilitate this work, our development team embraces the agile development methodology.

What is Agile Development?

One can think of agile development as an iterative process that breaks the work of building software into manageable “sprints”. A sprint is a short-term, highly focused development cycle. The goal of agile development is to incrementally build software over a series of sprints to achieve an end product that is well tested and more accurately meets the needs of end users. Each sprint produces an iteration of the software feature and each iteration becomes more refined until we are satisfied with the end result. There is no set number of sprints required to achieve an acceptable finished product. One can achieve a satisfactory result within one sprint. However, the point of breaking down the work into sprints allows for feedback and requirement adjustments during the development process, which can result in a better designed and more robust end product.

What are the advantages of using agile development?

  • Requirement modifications are expected, so re-factoring the program is part of the development lifecycle.
  • Scaling back features or adding additional features are easier to implement.
  • Feedback is welcome at the end of each sprint which allows for changes in project priorities and an end product that better meets the customer’s desire.
  • Testing happens throughout the lifecycle, which helps to discover and fix bugs.
  • Thorough testing prepares the product feature for release at the end of any sprint, making it more likely to meet release targets.
On the flip side, a disadvantage to agile development is that the development is heavily affected by feedback, therefore the end product can result in something much different than originally intended, for better or worse. In addition, refactoring and refining the product over too many sprints can result in late delivery of the product.

What is Waterfall Development?

The waterfall development methodology mirrors manufacturing or construction workflows in that it is a sequential process with distinct phases. Each phase is completed in sequence until the entire process is complete. The phases can be described as:

  • Requirements
  • Design
  • Coding
  • Testing
  • Implementation
  • Maintenance

An advantage of the waterfall methodology is that the requirements set forth in waterfall development are well scoped and thorough, which assist with the design and coding phases. In addition, expectations are set out at the beginning of the project so customers understand the timeline, cost and scope of the project.

Another advantage is that any changes in resources, such as developers, project managers or quality assurance agents, have a limited effect on the end product. This is because the documentation is well defined and new contributors can be brought up to speed quickly.

However, the disadvantages associated with waterfall development are:

  1. Strict adherence to the sequential process means developers cannot revisit a previous stage until the entire process is complete.
  2. Poorly defined, or incomplete requirements will doom the project.
  3. Testing is performed near the end of the life-cycle which exposes the code to cascading issues from bugs not identified early in the process.
  4. Any changes to customer’s needs will result in an over-budget project with delayed delivery.

Which Is Better?

When deciding how to approach a software project, one should understand that there is no right or wrong way to develop software. Both agile development and waterfall development have their advantages and disadvantages. Choosing the methodology that suits your development team and philosophy is the important decision for meeting your customer’s needs and your company’s goals.

At Intranet Connections, we simply choose agile development over waterfall development because it best suits our team and management, and we feel it best meets the needs of our customers.

I would love to hear your thoughts on agile development vs. waterfall development. Please use the comments section below.

Download the IT's Guide to a Simple Intranet

The IT Guide

Discover the guide to a simple intranet and simple intranet management.


Related Posts

By | 2017-09-15T09:49:08+00:00 July 27, 2015|Intranet Software|

About the Author:

Paul is a veteran Web Developer with over 10 years’ experience designing and developing web applications for a variety of industries. He brings a strong passion for software development, software design patterns and test-driven development to the Intranet Connections team. In his spare time, Paul cycles, runs and swims and in the summer he is often found “chasing plastic” on the Ultimate Frisbee field.

Leave A Comment