SDLC:
SDLC, or Software Development Life Cycle, is a technique for producing software with the greatest quality and lowest cost in the shortest amount of time. SDLC provides a well-structured sequence of stages that enables an organization to swiftly deliver high-quality software that has been thoroughly tested and is suitable for production usage. The SDLC has six phase and it includes waterfall model, spiral model and agile model.(Altvater, A. ,2020)
How does SDLC work?
1.Planning
2. Defining:
Once the requirement analysis phase is completed the next sdlc step is to define and document software needs. This process conducted with the help of ‘Software Requirement Specification’ document also known as ‘SRS’ document. It includes everything which should be designed and developed during the project life cycle.There are mainly five types of feasibilities checks:
- Economic: Can we complete the project within the budget or not?
- Legal: Can we handle this project as cyber law and other regulatory framework/compliances.
- Operation feasibility: Can we create operations which is expected by the client?
- Technical: Need to check whether the current computer system can support the software
- Schedule: Decide that the project can be completed within the given schedule or not.(Martin, M.)
3. Design:
"How are we going to get what we want? This phase of SDLC begins by turning the software specification into a detailed blueprint known as the design specification. All of the following stakeholders are involved. then review this plan and provide comments and suggestions. It is important to have a plan in place to collect and integrate stakeholder feedback into this document. Failure at this stage is almost certain will lead to cost overruns at best and total collapse of the project at worst. (Altvater, A. ,2020)
4.Implementation:
5.Testing:
The phase entails the evaluation of the created software. The testing team evaluates the developed product(s) in order to assess whether they meet the requirements specified in the ‘planning’ phase. Assessments entail the performance of functional testing: unit testing, code quality testing, integration testing, system testing, security testing, performance testing and acceptance testing, as well as nonfunctional testing. If a defect is identified, developers are notified. Validated (actual) defects are resolved, and a new version of the software is produced. The best method for ensuring that all tests are run regularly and reliably, is to implement automated testing. Continuous integration tools assist with this need.(Altvater, A. ,2020)
6.Deployment:
At this stage, the goal is to deploy the software to the production environment so users can start using the product. However, many organizations choose to move the product through different deployment environments such as a testing or staging environment. This allows any stakeholders to safely play with the product before releasing it to the market. Besides, this allows any final mistakes to be caught before releasing the product. (Altvater, A. ,2020)
SDLC has six models which are:
1.Waterfall model
Waterfall represents the oldest, simplest, and most structured methodology. Each phase depends on the outcome of the previous phase, and all phases run sequentially.(Roebuck, K. 2011)
2.Agile model:
The Agile SDLC model separates the product into cycles and delivers a working product very quickly. This methodology produces a succession of releases. Testing of each release feeds back info that’s incorporated into the next version.(Roebuck, K. 2011)
3.Lean model:
The lean methodology for software development is inspired by lean manufacturing practices and principles. The lean principles encourage creating better flow in work processes and developing a continuous improvement culture.(Roebuck, K. 2011)
4.Ilterative model:
This SDLC model emphasizes repetition. Developers create a version very quickly and for relatively little cost, then test and improve it through rapid and successive versions.(Roebuck, K. 2011)
5.V-shaped:
In the V-shaped model, verification phases and validation phases are run in parallel. Each verification phase is associated with a validation phase, and the model is run in a V-shape, where each phase of development has an associated phase of testing.(Roebuck, K. 2011)
6. Spiral model:
The most flexible of the SDLC models, the spiral model is similar to the iterative model in its emphasis on repetition. The spiral model goes through the planning, design, build and test phases over and over, with gradual improvements at each pass.(Roebuck, K. 2011)
Benefits of SDLC:
- It provides a standardized framework that defines activities and deliverables
- It aids in project planning, estimating, and scheduling
- It makes project tracking and control easier
- It increases visibility on all aspects of the life cycle to all stakeholders involved in the development process
- It increases the speed of development
- It improves client relations
- It decreases project risks
- It decreases project management expenses and the overall cost of production. (Roebuck, K. 2011)
Reference:
Altvater, A. (2020) What is SDLC? Understand the Software Development Life Cycle, Stackify. Available at: https://stackify.com/what-is-sdlc/ (Accessed: 10 February 2023).
Roebuck, K. (2011) Software development life cycle (sdlc): High-impact strategies - what you need to know: Definitions, adoptions, impact, benefits, maturity, vendors. Tebbo. Available at: https://www.synopsys.com/glossary/what-is-sdlc.html (Accessed: 10 February 2023).
Martin, M. (2020, January 16). Software development life cycle (SDLC) Phases & models. Guru99. https://www.guru99.com/software-development-life-cycle-tutorial.html
Tutorialspoint.com. Retrieved February 26, 2023, from https://www.tutorialspoint.com/sdlc/images/sdlc_stages.jpg
Comments
Post a Comment