Since the introduction of software development life cycles (sdlc) and agile methodologies , the world of software engineering has been made more efficient and has allowed for greater on takings of larger and more complex projects.
The objective of this poster was to compare and contrast the difference of agile and sdlc lifecycles. Our main objective is to display the findings in a concise and clear way to help future developers or those of them who are currently studying. software engineering to understand the lifecycles in order to help them in both their personal projects and out in industry.
V Model, Waterfall Model, Iterative Model are all for low risk, low budget projects. Whereas in comparison to Spiral Model and Agile Methodologies are used for high risk, high budget projects. In V Model, Waterfall Model and Iterative Model have requirements that are initially defined and have subsequent features added on throughout the Iterative processes. However, in the Spiral Model and Agile Methodologies the requirements are dynamic due to Client involvement. In the Spiral Model and Scrum the Client is regularly involved from beginning to end and is consulted throughout the Project, unlike in the Other Models where the customer is only involved the requirements stage and deployment phase. Spiral Model is partially sequential approach as it uses both sequential and iterative processes whereas the other models are plan driven and take on a sequential approach.
All Models have Individual Phases for testing in which the project is developed further. On the other-hand V Model has testing integrated into every phase of development this is ran in parrel throughout all phases. A Unique Feature of the Iterative Model is its use of conceptual system design. This is when developers meet designers to discuss and resolve design and develop issues before they arise. Prototyping is very important in the Spiral Model, similar to the Iterative Model this is done in order to minimise unknown errors before production continues to a later stage. This is done at the beginning of every planning phase. One key feature of the Waterfall Model is the use of High and Low Phases. This is where the project is split into two different cases. On the High Level Phase architectural diagrams and data are discuss. Whereas on the Low Phase coding is discussed, slight introduction of testing begins here through pseudo code. The Development of these lifecycles differ greatly depending on the type of project and customer involved, for projects that are less customer involved and easier to understand, V Model, Iterative Model and Waterfall Model may be used. For larger projects Spiral Model may be used. However Agile may be used for both Large and Small Projects due its functionality and adaptability. Time estimation in all lifecycles can be pre-determined through the requirements however, Spiral Model can go on indefinitely due to ever changing requirements and its capability of using agile methods such as scrum making the maintenance and programming more modular.
All the models rely on using testing before they deploy their product, however in the V-Model there is a large emphasis on testing early on unlike the other models which test later on in the lifecycle. V-Model relies on unit testing , Integration Testing and System testing. This is done in parallel with the development of the product and allows work to be delegated into development and testing sections. Uniquely also is the use of prototyping used in spiral model, This is used so that the developers and client can see and correct problems before beginning the phases. This speeds up the lifecycle as it avoids going back phases to fix errors. In waterfall model due to its iterative step-wise approach , testing does not begin until late in the lifecycle and cannot be started until all necessary phase gates have been completed. This is to ensure the requirements are completed to avoid backtracking. Similar to V-Model testing begins early and often in agile lifecycles , this is done so testing of new features can occur as the product is being developed and therefore will shorten the time to deployment. Testing is prioritized equally as much as requirements in agile.
Deployment in all the of the lifecycles occurs at the end of the lifecycle. This can only be done once all testing is carried out and completed. The lifecycles use a method called gated phasing in which the lifecycles need to complete all other requirements in each phase before the product can be passed. Maintenance is very important in keeping projects up to date and always improving , therefore V-Model , Waterfall and Iterative use monitoring and continuous testing in order to maintain and improve the projects. However in the Spiral model the client is very much involved in the overall process and hence the revisiting of the project is very important. This allows the client to always have a well maintained and optimised projects always.
In conclusion , we have shown in our research that all lifecycles have a use case and software engineers have a wide variety of choice in order to maximise efficiency and quality in any project undertaken. This has allowed engineers to come to a common goal before beginning and therefore leading them down the path to a quicker and higher success rates of projects since they have been implemented.
The Economic Times Tutorial Point Team Gantt QATestLab ArtOfTesting Geeks for Geeks Agile Guide Mountain Goat Software Iterative V-model Paper