AGILE vs. WATERFALL METHODOLOGIES



Similar documents
Agile Projects 7. Agile Project Management 21

Project Management in Software: Origin of Agile

Hamid Faridani March 2011

Waterfall vs. Agile Methodology

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Advanced Software Engineering. Software Development Processes

Agile Software Development. Mohsen Afsharchi

Introduction to Agile Software Development Process. Software Development Life Cycles

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

How to manage agile development? Rose Pruyne Jack Reed

CSE 435 Software Engineering. Sept 16, 2015

COMP 354 Introduction to Software Engineering

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

Don t forget the testers

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Software Development Methodologies

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Development. Lecture 3

Role of the Business Analyst in an Agile Project

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Agile and lean methods for managing application development process

The traditional project management uses conventional methods in software project management process.

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Testing in Agile methodologies easier or more difficult?

Software Engineering. What is a system?

When is Agile the Best Project Management Method? Lana Tylka

Role of Agile Methodology in Software Development

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Basic Trends of Modern Software Development

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Building Software in an Agile Manner

Software Requirements and Specification

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

LEAN AGILE POCKET GUIDE

Introduction to Agile Software Development

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Agile Project Management By Mark C. Layton

Agile and lean methods for managing application development process

Agile Framework for Globally Distributed Development Environment (The DAD Model)

How To Plan A Project

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Introduction to Software Engineering: Project Management ( Highlights )

Agile Software Development

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Agile and Secure: Can We Be Both?

Software Development with Agile Methods

Extreme Programming, an agile software development process

The Impacts Of Agile Development On The System Engineering Process

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

AGILE SOFTWARE DEVELOPMENT

Software Development Process Models

serena.com An Introduction to Agile Software Development

Software Development Going Incremental, Iterative and Agile:

How To Model Software Development Life Cycle Models

Software Life Cycle Processes

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Governments information technology

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development

Agile Software Development Methodologies and Its Quality Assurance

Web Application Development Processes: Requirements, Demands and Challenges

Software processes that are:

A Survey of Software Development Process Models in Software Engineering

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software Development Life Cycle Models- Comparison, Consequences

A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT

Quality Assurance in an Agile Environment

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

History of Agile Methods

Agile Processes and Methodologies: A Conceptual Study

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Agile So)ware Development

Secure Code Development

Agile Software Development

RISK MANAGMENT ON AN AGILE PROJECT

How To Write A Thesis On How To Create And Maintain Documentation In An Agile Development Environment

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

A Comparison between Five Models of Software Engineering

Vragen. Software development model. Software development model. Software development model

Value, Flow, Quality BCS PRACTITIONER CERTIFICATE IN AGILE SYLLABUS

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Software development lifecycle

Transcription:

AGILE vs. WATERFALL METHODOLOGIES

Introduction Agile and waterfall are two major methodologies that software developers and project managers have the option of using. Some of the goals of developers and managers are timely delivery of projects, remaining within budget and meeting the needs of the customer. The methodology to use to attain maximum satisfaction is a vital decision for project managers to make. However, it is not easy bearing in mind that methodologies are many. This is the reason why software developers and project managers have to make the best choice of a methodology considering all factors and goals. This paper will compare waterfall and agile methodologies and consider instances where each methodology can be used.

WATERFALL METHODOLOGY The Waterfall approach is one of the heavyweight methodologies. These methodologies follow the model of requirements-design-build. They have processes that are standard and well defined. It involves a progress that is well structured through definite phases. In every phase are specific activities and deliverables that have to be completed before commencing with the next phase. Benefits of Waterfall Methodology Waterfall is well disciplined It has to start with complete requirements Analysis and design must be done first Drawbacks of Waterfall Methodology Early feedback is absent Response to change is slow There is a high cost if a requirement is missing or unclear Optimization is made for hardware ignoring the necessary qualities of a software Waterfall methodology is made complex by some factors. First, it is hard for users to present all their requirements to the developers in a precise understandable manner. In addition, with growth in system sizes, a large team of developers is required together with a complex communication and coordination. Furthermore, there are a large number of paths through a code, making it impossible to have a conclusive testing. Without mathematical tools and having difficulty in modeling the behavior of large systems, developers are forced to settle for sub-optimal confidence in the systems. Some developments have occurred with time aimed at improving waterfall methodology. This evolution has helped to: Bring optimization of waterfall method Enable developers to understand the requirements of users better through prototyping of software Reduce marketing time and pressures so that quality is improved Increase reusability

AGILE METHODOLOGY Agile methodology is termed lightweight. The qualities of these methodologies include fast marketing, responding well to the customer s interests and high application quality. Unlike waterfall methodology, which works on one rigid process, agile methodology involves interactions and changes are welcome at any stage. Examples of agile methodologies include Extreme Programming (XP) and Scrum among others. The Agile manifesto was published in 2001 declaring introduction of better ways of software creation. The values ingrained in the Agile manifesto: Instead of processes and tools, it upheld individuals and interactions Instead of heavy documentation, it moved towards working software It departed from contract negotiation to customer collaboration It upheld response to change instead of following a laid plan Principles of Agile Methodology Satisfaction to customers by delivering software rapidly Changes in requirements are acceptable throughout the development process Frequent delivery of software Cooperation on a daily basis between the software developers and entrepreneurs Building projects with people who are trustworthy and are motivated Communication is face-to-face. Progress is measured through working software. It is possible to have a maintained pace. Thus, development is sustained. Technical excellence is upheld together with good design Simplicity Teams organize themselves. Adapting to changes as and when they arise. In agile methodology, emphasis is put on speed rather than documentation. The cycle of interactions goes on until a product that exactly satisfies the needs of the customer is delivered. Agile methodology is more efficient than a waterfall because it is more adaptive. It allows for changes and the product is released to customers on time.

WHEN TO USE... the waterfall method? Waterfall is a choice model for stable programs whose design requires no major modification. In addition, in cases where developers can accurately cite expected flaws and outcomes in advance, it is proper to use waterfall. The advantage of waterfall is that it is easily managed and its cost is determined early enough. Waterfall is used when the customer provides requirements that they are certainly won t require changes. Furthermore, when the project is set for a long period, waterfall is a good choice. the agile method? Agile methodology is the method of choice when the customer is not clear about their needs. It is also applicable where the team has experience enough to handle the project. Another consideration is whether the project is required to be delivered within a short time. Agile methodology is the best for web applications where various bugs are encountered during the process. Agile Vs. Waterfall CONCLUSION It is clear that different scenarios require different methodologies and therefore a model is chosen if it suits the experience and interests of the team and users. However, an ideal model is needed, which merges Waterfall accountable and predictable qualities with the agility and adaptability of Agile model. Software development and design process keeps on improving over the years creating a stronger need for a more iterative and incremental approach when change in requirements takes place. The newest player, the Agile methodology. Its flexible feature allows the development to respond to modifications effectively and rapidly. But, in overalls, when you understand your project, you know exactly which method would work best.