Search Helium

Home > Computers & Technology > Software > Software & Web Development

Software development methodologies: Waterfall vs. Agile methodologies

by Nina Drozd

Created on: May 02, 2010

Agile compared to waterfall seems like a very complicated and abstract word. However, in the world of software development this term is way simpler and more efficient than the waterfall model. Firstly, let's see the main characteristics of these two models.

Waterfall project management model is older and more structured. It is still widely used in industry, but is it efficient enough to be used in ever-changing and inconsistent software business? The model in its simple description contains of 5 different stages: requirements phase, design, implementation, verification and maintenance. The focus of this model is to thoroughly think through the requirements of the project, producing numerous documentation, measurements and assumptions, following through to the design stage when the product is made. No prototyping is needed in this model and once the product is made it can be tested and released. This might be good for an inter-city bridge project, but software is always changing and requirements of each project will inevitably change with it! It has been proven that a greater percentage of software products performed using waterfall model have failed to provide for special customer needs or failed to be delivered in time.

Now, let's look at the Agile model. There are several types of this project management mechanism, such as SCRUM and XP (eXtreme Programming), but they all have one thing in common - more focus on people and team instead of their responsibilities, prototype instead of documentation and changeability of the project plan instead of plan negotiations with customer. Agile will work its best in an open and changeable atmosphere of software engineering, with teams able to organise themselves and if the customer of particular project is willing to be part of the team. There is a substantially small amount of documentation, a bare minimum needed for customer and programmer interaction. A few selected customers can then evaluate the software during Alpha and Beta testing, and rigorously tested software can then be used publicly after GA (General Acceptance). The prototype of the system is made early on in the project life cycle and is tested and changed in accordance with the customer's requirements. The SCRUM type of Agile project management goes further by setting realistic time periods for project work. Scrums of 30 days are used to organise the teams into completing part of the project, therefore giving the team a potential deadline every month. After all, don't the programmers work way easier if there's a race against time in order to beat the deadline?!

Overall, I have experienced Agile project management and in my view this model has definite advantages over the conventional waterfall model. Agile promotes prototyping and testing, which are essential in software projects. It also makes sure to communicate closely with the customer, providing highly focused and tested software on time!

Learn more about this author, Nina Drozd.
Click here to send this author comments or questions.

Helium Debate

Cast your vote!

Is Windows 7 Microsoft's best operating system?

Click for your side.

268943

Featured Partner

GROW Africa

GROW Africa Mission: To provide wells, vaccines and food for farming in the remote villages of Africa to meet the most basic human needs of the villagers reducing death and disease while increasing quality and longevity of life. GROW...more


CONNECT WITH US

Read
our blog
Helum for writers

Write and get published
Share with other writers
Polish your freelancing skills

Join our active writing community
Helium Content Source for Publishers

Quality articles from proven freelancers
Exclusive rights, fast turnaround
Brand engagement, business blogging -- our writers do it all

Get custom content today!

INFORMATION


Helium, Inc.
200 Brickstone Square Andover, MA 01810 USA
#