**5. Workflow for software development management**

There are many Software Development life cycle (SDLC) models that articulates series of steps, tasks, and dependencies for developing software [7]. Effectiveness of the model used for software development depends on many aspects such as requirements from users and developers, clarity and flexibility of scope changes, team size and dynamics, and need for interactions between stakeholders [8]. It is very important to consider time, cost, quality, product, risk, and resources while selecting and implementing software development model [1]. Software development models are very flexible and hence it is not necessary to stay within the bounds of each model. Various well recognized and followed models that can be modified and applied for the best results are as follows:

#### **5.1 Waterfall model**

The waterfall model is the oldest model for software development. The result of one stage can be inserted to the next stage successively in this model. Each phase is started only when the goals of the previous stage are achieved. Hence, the stages do not intersect in the waterfall model. The stages in this model are requirement analysis, System design, Implementation, Integration and Testing, Deployment of System and Maintenance. The waterfall model is straightforward. The stages are clearly categorized, and the processes and requirements are well archived. However, this model is not practical for modern complex and dynamic software development projects due to its lack of flexibility for accommodating changing requirements.

#### **5.2 V-model**

The V-model is called the verification and validation model where the execution of cycles occurs in a successive way in V-shape [1]. This model is an expansion of the waterfall model in which each testing stage is related with the subsequent development stage. The upside of V-model is that it is straightforward. However, this model is not that flexible to change as the changes are common in the dynamic world. In this model, the stages are completed in turns with verification and validation for that specific stage. One of the biggest benefits of this model is that defects are found and resolved at the early stages, which saves time later. This model functions well on modest activities where requirements do not change and are surely known. Each stage has a particular output to audit the process.

#### **5.3 Iterative model**

In this model, the implementation of a small set of requirements is done initially. In turn, iteratively, all the remaining requirements are implemented until the complete system is implemented and the software is ready to be deployed. Here, advancement starts by executing a piece of the software product that is needed to recognize the future necessities. A similar cycle is rehashed to create another form of the product toward the end goal. At every iterative cycle, the changes for the plan are developed and new functionalities are delivered. Henceforth, the basic idea of the iterative model is to foster the product through iterative cycles and incremental portions all at once. The iterative model is well

#### *Software Development Management DOI: http://dx.doi.org/10.5772/intechopen.109351*

suited when the requirements have interdependencies and they become clear with time and intermediate results. It is also well suited for large or long projects where requirements can be prioritized, and system can be functional with only partial requirements and products can be delivered in iteration effectively reducing the time to market.
