Agile

At the other end of the rigidity spectrum is the Agile design methodology. In this you break the project down into smaller sections and go through the phases with each one. The client can then be shown these prototypes and give feedback early on in development. Agile is a form of iterative development as you repeat these development cycles for each section.

These smaller sections could either be individual parts of a larger program or the whole program going from a very rough system to one that gets more finalised with each iteration.

The phases for an agile project look more like the following:

  • Initial analysis of the main project
  • Development iterations
  • Deployment and maintenance

And within each development iteration you would have the following mini-phases:

  • Analysis
  • Design
  • Implementation
  • Testing

You might make documentation as you go along for these smaller parts which is usually put in the Deployment and maintenance phase, but it is much less strict than with the Waterfall process.

Pros

  • Early notifications of changes from clients
  • More flexibility to react to changes
  • More feedback from clients about progress

Cons

  • More time spent demonstrating to clients
  • More time overall on design and testing
  • Too much flexibility might mean the client is always wanting something more added

A lot of developers like the freedom that Agile methodologies give them as it avoids that initial large analysis and design phase and allows them to more quickly implement new ideas. But because you are revisiting the project multiple times you end up spending longer on the analysis and design in the end.

Report a Glow concern
Cookie policy  Privacy policy

Glow Blogs uses cookies to enhance your experience on our service. By using this service or closing this message you consent to our use of those cookies. Please read our Cookie Policy.