A Quantitative Study of Waterfall and Agile Methodologies With the Perspective of Project Management

A Quantitative Study of Waterfall and Agile Methodologies With the Perspective of Project Management

Kenish Rajesh Halani, Kavita Jhajharia
Copyright: © 2022 |Pages: 23
DOI: 10.4018/978-1-7998-7872-8.ch007
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software engineering is used in order to develop larger and complex software products. As software product is needed in almost all the industries, software engineering becomes really important. Software development can be done through various software development life cycle (SDLC) models like waterfall model, agile model, spiral model, prototype model, etc. SDLC is a framework that defines the tasks that to be performed at each step in the development process. Authors are mainly focusing on two models (i.e., waterfall and agile model). Waterfall model is a serial model which follows a strict sequence. Agile methodology can be divided into scrum methodology and extreme programming. Scrum methodology mainly focuses on how to manage tasks in a team-based environment. Scrum consists of three main roles. They are scrum master, product owner, and scrum team. While comparing both the models, the main difference obtained is waterfall does not allow any customer involvement while agile does allow it.
Chapter Preview
Top

Introduction

As technology has evolved immensely over the last few decades, the use of mobile phones, laptops, and computers have grown drastically; therefore, usage of apps and software increased too hence there was a need for software engineering to make sure that the applications developed are as per client’s need and requirement. Software modelling does not mean demonstrating a scientific theory or an algorithm. This is what conventionally call a software model. It means software modelling is more extensive than an algorithm or a single function. It should be able to explain the entire product's design, including interfaces, cohesion between the module, and all the software functions. Generally, Software Modelling is a way of explaining software design. It is more or less a theoretical language, picture or diagram that can be used to convey software design. Modelling helps designers develop different designs, and they pick the design that meets all the customer's requirements. This also helps designers identify the problems early in the cycle and fix them without altering the code's external behaviour. Whenever a developer selects a model, it has a tremendous effect on the testing activities. It helps to explain what, where and when of our testing activity. Mostly it also helps in deciding the testing techniques (Software Design and Modelling, 2018).

Methodologies that can be used for modelling are as follows:

  • Waterfall Model

  • Agile Model

Top

Background

Excessive studies have been done to improve the efficiency of both waterfall and agile models. Youssef Bassil, in 2009 introduced a simulation tool that would help the project managers to achieve maximum productivity with a minimum number of manpower, cost and duration. This is achieved by designing the model in such a way that all the members working on the project are busy throughout, and they waste minimum time. Mohammad Samadhi Gharajeh proposed a model in which iterative and waterfall were integrated as one; the main advantage of this is that the use of the waterfall model can be done for large complex models and the experimental results show that the customer satisfaction and project success ratio is higher as compared to the waterfall and iterative model individually. There are numerous papers proposed to improve the XP model so that the project can be completed more efficiently. Musa et al. (2011) proposed an XP model in which developers and clients both identify the security concerns at the initial stage of the project. The primary focus of this model was to ensure all the security measures are taken into considerations. He introduced security checks in all the phases of XP. Ji & Sedano (2011) compared both XP and waterfall model on a three months project with at most four developers. For five years, this project was repeatedly developed by 50 teams, and the results showed that the number of lines in the code was almost the same before and after the transition to extreme programming method; therefore, the authors concluded that any of the models could be used for mentioned criteria as the outcome of the project is exact same. Di - Bella et al. (2013) executed a case study based on a data set collected from a team of IT - professional of a large Italian company, these results were validated carefully, and it showed that the usage of pair programming leads to the decrease of new defects in the project. Li - li et al. (2011) introduced the XP high - quality analysis model it was able to get the benefit of quality feature in the kano model. This model helped to improve the client's awareness and made requirements easy to understand for the developers, i.e. errors are reduced.

Key Terms in this Chapter

Software Development: Software development is a collection of processes which are used to develop high quality computer software and applications.

Agile Model: Agile model mainly emphasizes on idea of iterative development where requirement and solutions throughout the development cycle.

Scrum Model: Scrum is one of the framework of agile whose main focus is on teamwork and accountability. It is based on an iterative and incremental process.

Software Development Life Cycle: It is process which is used by software industry to develop high quality software applications that meets the user’s requirement.

Complete Chapter List

Search this Book:
Reset