Waterfall Development

Just as ASD (Agile Software Development), the waterfall model for software development gets the job done. The question is: How?  Unlike ASD development, this methodology is sequential, you can’t skip one step just like that, you’ll need thousands of reasons to do it. Waterfalls always flow from top to bottom, and it is the same way in the technical concept.  There are five main stages in the waterfall methodology:plainicon-com-45868-512px

  • Requirements
  • Design
  • Implementation
  • Verification
  • Maintenance

As you can see, the stages are basically the same as in ASD. But the difference is that it is sequential. In this context, sequential means much more than just a structure. It paves the way of the development. I consider this methodology to be excessively sequential. When an stage is over or completed, once you step on the next phase, you never go back. That means that in order to step into the design phase, the project requirements must be heavily specified, because as I said, there is no turning back.

There are a few situations in which is better to use Waterfall methodology, according to Base36 Inc., these are the top three situations:

1. When there is a clear picture of what the final product should be.

2. When clients won’t have the ability to change the scope of the project once it has begun.

3. When definition, not speed, is key to success.

Credits to: PlainIcon.com and WallPaperSafari.com

Agile Software Development

Agile Software Development is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto.
Solutions evolve through collaboration between self-organizing, cross-functional teams utilizing the appropriate practices for their context.

  • The satisfaction of the customer must be guaranteed throughout all the development process.
  • Change is a key of the ASD, developers must be capable of changing and adapting to the customer’s needs.
  • Deliver new releases frequently.
  • A friendly environment must be present between business people and the devteam.
  • Promote motivation among all individuals involved.
  • In order to be efficient, the communication must be face-to-face.
  • Progress is measured by stable and working releases.
  • There must be sustainable development by keeping a constant pace between sponsors, developers and users.
  • There is constant attention to provide technical excellence.
  • Keep things simple.Period.
  • The devteam must be sustainable and self-organizing.
  • Everyone involved learns from their mistakes and move on.

As everything in this world, ASD was criticised. There was an anti-agile movement called the Dark Manifesto for ASD. You can read it here.

It was also heavily criticised by Aaron Gray because of the working environment of ASD, in this critic, the author establishes that people is not always willing to work, or the team might not be so motivated to work in a team, and rather prefer to work alone.  The biggest argument is that programming or coding is not measurable, because of the environment uncertainty.

Written by Miguel Cabral and Juan Pablo Ramírez