A look into Agile development - Part 2

Aug 14, 2012 by AlexI

As opposed to Agile, older methodologies, such as Waterfall, rely on a precise order of phases throughout the whole development process (Requirements, Design, Implementation, Verification, Maintenance) and heavily focus on initial planning. The idea behind this is that the time spent early in the development process (Planning) will result in saving time in later stages.

To advocate the Waterfall methodology, many argue that an issue found early is cheaper than one found in later stages. For example a design flaw can be easily fixed during the Design phase rather than months later, when changes to design are much harder to implement (and riskier for the stability of the application).

Agile fights back! Agile enthusiasts argue that the Waterfall model is not good in practice, as it is nearly impossible to finish a phase of development flawlessly. For sure issues will arise, such as: customers may change their initial design, developers might not be aware of future difficulties when creating a design for an new software product etc.

According to the Waterfall model, testing is another strict phase (as opposed to being distributed throughout the development process), and this comes with its own problems. For example, important issues may be found too late, due to the fact that testing is performed strictly after the implementation is complete. Or some other times, due to time pressure (since testing is the last phase before releasing the product), adequate testing cannot be performed on the entire application, and is limited only to the most important parts of the software.

In the Agile methodology, testing is a very important part of the development process - not only it finds existing issues in the code, but more importantly it leads to shaping the product in advance, and to avoiding issues instead of having to fix them later.

The advantages of Agile testing are obvious: less time is spent on fixing issues, thus fewer problems in later stages. This way, it's easier to ensure that each part of the application meets the required quality and functional standards.

Although Agile, in theory, is highly praised, still it's not used in its entirety, due to a few drawbacks. The most important one is that the Agile process is not based on a clear structure, and moving from a strict development model (Waterfall) to something that has no clear guidelines (Agile is mostly a set of principles, rather than a clear development model) is not so easy. However, thanks to the fact that Agile is flexible, nowadays there are many development companies that rely on Agile-based (hybrid) software development models.

Introducing SCRUM.

SCRUM Agile processThe most popular Agile process is SCRUM, an Agile framework that structures software development into cycles called “sprints”. Sprints usually last between two and four weeks, during which developers work with a prioritized list of customer requirements, named “user stories”. By following a prioritized list, the most valuable features are implemented first.

It's clear that software development models are evolving and will continue to be enhanced, but Agile is here to stay! It has brought a new way of thinking, and also it makes room for improvement and adaptation, in response to market demands and the way each company runs its business.

If you have something to add, then don't be shy and comment below! :)

Read more about Agile development in A look into Agile development - Part 1.




Comments


Regiograph commented on 8/23/2012 7:26:05 AM

Nice information shared. It's part-1 was also informative. Thanks for the share.
     

Oana commented on 8/24/2012 2:27:08 PM

Hi - I'm glad that you liked the posts :)

     

Software Development In .NET commented on 10/4/2012 7:00:24 AM

Waterfall model has simple approach but there are lots of disadvantage to consider this model.Agile is looking far better than that.Thanks for the valuable post.
     

Website Designing commented on 1/14/2013 7:23:36 AM

While it is true that many of the practices associated with agile development have been around for quite some time, the average software development team has yet to embrace many of the principles and practices
     

Elmo Blankenship commented on 5/8/2013 12:21:53 PM

Examining is a very important part of the growth process - not only it discovers current problems in the rule, but furthermore it results in forming the product in advance.
     

bernadette commented on 7/29/2014 12:52:21 PM

Hi there! This is the good information I ever read about agile .. It has detailed information that I need to on my thesis... I can ask your name who post this article .. tnx
plz email me.. I need it :))
     

Your Comment:







Blog Home   SBP Home
RSS Feed       Contact








 Blog Archives  |  Terms of Use  |  Privacy Policy
© 2017 SBP Romania. All rights reserved.