System Development Lifecycle (SDLC) or traditional development methodologies is defined as a phased approach to the creation and maintenance of a system. This approach can be applied in the areas of networking and online services, but is usually applied in the development of software (techterms, 2018). 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, waterfall, iterative, agile and the V-shaped model (existek,2018).
Agile technique is defined as a approach, particularly in project management which is used in the development of software. It serves as a proposed solution since it is time consuming when using the SDLC. Agile technique’s major focus is on speed and not on perfection, so while it may be faster ,there is a possibility that the teams may not detect critical issues eg.security, scalability, when in a rush to get the software up and running. So, a company would 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 as it uses incremental, iterative work sequences, commonly known as sprints. This is the allocation of periods of time for a particular aspect of a project (linchpinseo, 2018).
However there are advantages , as well as disadvantages in using each method. Advantages of agile techniques are that there is effective delivery of software so customers get value sooner, there is reduction of wastage of resources since work is done on only up-to-date activities , it results in better adaption to changes and responses ,as well as faster turnaround times. In addition, there is also the ability to detect and fix issues or defects in a 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 (Olic, 2018).
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 (Olic, 2018).
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 (wordpress, 2018).
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 (wordpress, 2018).
In conclusion , both techniques has 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 these critical issues. Using the step by step approach, SDLC will help solve the mission critical issues of the insurance company and ensure that it follows a process which in turn would lead to better results . Since it mostly relies on the point of accomplishing the requirements needed rather than allowing room for creativity, it will get the job done.