Home > Computers & Technology > Software > Software & Web Development
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.
Below are the top articles rated and ranked by Helium members on:
Software development methodologies: Waterfall vs. Agile methodologies
by Bob Lloyd
In the early days of software development, the development time frame was long, the computers were relatively slow, the
by Scott Kirwin
I'm in my 11th year of IT. During this time I have been exposed to most of the software development methodologies around.
by Nina Drozd
Agile compared to waterfall seems like a very complicated and abstract word. However, in the world of software development
Featured Partner
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