System Development Lifecycle (SDLC) or traditional development methodologies is defined as a phased approach to the creation and maintenance of a system.. The application of this approach can be in networking and online services, but is typically applied in software development. In lecture sessions it was stated that a typical SDLC framework used in the development of a software application includes these following seven steps, identifying the problem or opportunity , conducting and investigating the problem or opportunity , creation of a conceptual design ,development , testing, implementation and maintenance . Each step must be completed before moving onto the next. The steps are referred to as a cycle since it is repeated process whenever a major version of the software is available.. There are also different models of SDLC known as the spiral model, waterfall model, iterative model, agile model and the V-shaped model (existek,2018).
The Agile technique is defined as a particular approach to project management that is utilized in software development. It is a proposed solution to the length of time it takes to use the SDLC. Its major focus is on speed and not on perfection, so while it may be faster ,there is a chance that teams may not detect critical issues eg.security, scalability in a rush to get the software up and running. So, organizations feel a sense of comfort in using SDLC for critical systems whilst the agile method be of use for non core systems.This technique assists small teams of users in responding to the unpredictability of constructing software. It uses incremental, iterative work sequences, commonly known as sprints. This is the allocation of periods of time for a particular phase of a project.
However there are advantages as well as disadvantages in using each method.
Advantages of agile techniques are that the deployment of software is quicker so customers can get value sooner, there is reduction in wastage of resources since work is done on only up-to-date tasks, it results in better adaption to changes and response as well as faster turnaround times. In addition, there is also the ability to detect and fix issues or defects in s timely fashion , time spent on bureaucracy and meaningless working reduces , there is a big community of agile practitioners with whom knowledge can be shared with and immediate feedback can be acquired. Developers can improve coding skills based on questions and answers feedback, as well there is no need to worry about premature optimization and lastly experiments can be conducted and ideas can be tested because costs are low.
Furthermore, there are also disadvantages of the agile technique. It becomes difficult for new members to get up to speed when documentations tends to get sidetracked,, it is difficult to measure the progress made since progression occurs across several cycles. Agile technique is time consuming and tedious since the developers and customers must constantly interact with one another. Projects in progress can become ever-lasting since there isn’t a clear end and the clients that work with specific budgets or schedules would mot be able to determine how much the project will actually cost, and features too big to fit into one or even several cycles are avoided because they don’t fit in nicely into the philosophy
On the other hand, the advantages of SDLC are that a review is created at the end of each step which allows for maximum management control. This method creates considerable system documentation which ensures that the system requirements can be traced back to stated business requirements. However ,it produces a number of intermediate products that can be reviewed to determine whether they have met the user’s needs and have conformed to the required standards. It can be further worked on if any improvements are required , ensuring that the business gets exactly what it needs.
Then there are the disadvantages and what may seem as a major problem in the process, is that sometimes not until it is almost completed, end-users detect the required solution. The intended users of the system sometimes end up getting a system that meets the needs understood by the developers instead. There may be a loss in translation and documentation is also costly and time-consuming to create, in addition to being difficult to keep updated. Another disadvantage is that users cannot easily review intermediate products and evaluate whether a particular product meets their business requirements. Another disadvantage is it encourages stiff implementation instead of creativity since there are requirements that must be met and that is all that developers complete.
In the end both techniques have its advantages and disadvantages. However for an insurance company that needs to manage the development of several mission critical systems, I would use systems development life cycle SDLC. Even though agile technique may be less costly, there is the fact that it may overlook critical issues whereas SDLC would be more costly but will look at the critical issues. Using the step by step approach, SDLC will help solve the mission critical issues of the insurance company. This mostly relies on the point of getting the requirements done rather than allowing room for creativity.