FINLANDIA SCHOOLThe Software Development Life Cycle (SDLC) is a structured, formal process that engineering teams use to design, develop, test, and deploy high quality software.
Using an SDLC helps to:
a. manage complexity and cost
b. ensure the final product meets the user's need
c. reduce bugs and errors
d. make the process predictable and repeatable
THE 6 phases of the SDLC
Phase 1: Planning and Requirement analysis-most important phase. it involves gathering requirements from stakeholders
Phase 2: Design-architects and senior developers create the blueprint for the system
Phase 3: Implementation (Coding)-developers take the design documents and write the actual code in their chosen programming language
Phase 4: Testing and Quality Assurance-software is tested to find and fix bugs
Phase 5: Deployment-The software is released to the public or the client. The software is now "live"
Phase 6: Maintenance and updates-it involves
a. fixing new bugs that are discovered
b. adding new features
c. providing user support
SDLC MODELS
1. WATERFALL MODEL: This is a linear sequential model. You must finish one phase completely before you can start the next.
Pros
a. very simple to understand and manage
b. good for projects where the requirements are known and fixed from the start.
Cons
a. highly inflexible
b. very slow
THE AGILE MODEL
This is an iterative, incremental model. It is the opposite of Waterfall. here, the team builds in small, fast pieces called "sprints". In each sprint, the team goes through all the phases.
Pros
a. Extremely flexible
b. Fast feedback
Cons
a. Harder to manage
b. Less predictable on the final deadline and cost