Currently, software industries are using different SDLC (software development life cycle) models which are designed for specific purposes. The use of technology is booming in every perspective of life and the software behind the technology plays an enormous role. As the technical complexities are increasing, successful development of software solely depends on the proper management of development processes. So, it is inevitable to introduce improved methodologies in the industry so that modern human centred software applications development can be managed and delivered to the user successfully. So, in this paper, we have explored the facts of different SDLC models and perform their comparative analysis.
In the modern world, technology is playing a vital role in everyday life. To make our life easier, day by day new technologies are invented and developed. To reach the level of human comfort, development of the driver software is getting technically complex. To develop the software, development process in the software industry must be more dynamic and adaptive to deal with the complexities [1][2] [3]. From several decades, researchers have proposed several software development life cycle models [4]. A software development life cycle model defines the sequential stages of an entire lifetime of a software product [5]. The model is used to divide the project into several actions. Each of the activities goal to provide the good planning and management of the project. The proper planning and management will allow the development team to deliver the product in time and minimize the development cost [6]. From the 60's several SDLC models have been proposed and applied to achieve the better development situation and economic success. SDLC represents the entire process life based on specification, design, validation, evolution [7]. The SDLC gives the outline for the documentation which is necessary to understand client requirements. SDLC helps to define the budget, schedule of the software project [8]. It also provides the elements to analyze time and cost information. SDLC facilitates the guideline to project manager to organize and planning for the project [9]. SDLC contains a sequence of stages [10] where each of them can be characterized as follows:
• Inquire about the organizational objectives.
• Understanding the problems and how to fit with the organization.
• Interviewing client-side stakeholders (end users).
• Description of cost and benefit.
• Identify project goals.
• Identify functionalities.
• Code Writing.
• Initial deployment the project to end users.
• Continuous evaluation till final deployment.
• Changes from initial software.
• Assessment of the development process
• Prevention from disclosure of any sensitive data.
• Disposal activities must ensure new systems.
Following above characteristics, various SDLC models have proposed. Some of the popular SDLC models are: Waterfall, Incremental, Iterative, Spiral, Prototyping, XP, SCRUM, RAD, DSDM and so on. These models have their own effectiveness level based on the project and industry. These models are clustered into two different categories: Agile Process and Plan Driven Process. A typical software development process model has generally several stages. Planning and gathering information about the project, Analyze and define requirements, Design and define the product architecture, development, test the product per requirements and technical perspective, deploy product, maintenance.
Rest of this paper is systematized in following sections: In section II and III, we have described the plan driven and agile SDLC models and their advantage and disadvantages. In section IV, we have provided the comparative analysis of the facts of plan driven models and agile models and future work and conclusion in section V.
The products are planned and progress is calculated based on the plan [5]. It is costly to the immediate adaption of changes in requirements for ongoing projects. A plan driven model is best suited for the large teams and enormously critical products which are hard to scale down [11]. These models are effective when the development environment is stable. Experienced stakeholders are required only at the beginning of the project. The success is dependent on structure and order. But these models are less effective for the dynamic development environment. If the changes in requirements befall recurrently, then it is costly [6]. Basic characteristics of several popular plan driven models are described below based on their use in industries:
The waterfall model is the oldest development life cycle model. The waterfall follows sequential development approach. The model facilitates the early planning stages. This model emphasizes to analyze all the requirements and design of the software before started developing [12] [13]. Here the development stages such as requirement analysis, design, development, testing, maintenance depend on the previous phase like the designing phase will be started after finishing off the requirement analysis. So, the software life flows like water falling from the mountain which we know as waterfall. It is still the mostly used SDLC. This model recognizes milestones and widely used for mature products [36]. The waterfall facilitates with a variance of team members. As all the stages depend on the previous one, so any severe flaw appears on any stage the next stages are going to be stuck and go back to previous stages to update. So, the extra time is elapsed from planned time duration. This model does not ensure the feature versions after product deployment.
The waterfall model does not accommodate any change
This content is AI-processed based on open access ArXiv data.