- What is SDLC ?
- Why do we need SDLC ?
- Phases/Stages of SDLC.
- Agile Methodologies .
- Examples of SDLC .
1.What is SDLC ?
SDLC(Software Development Life Cycle) is a process of developing various quality software. A life cycle model represents all the methods required to make a software product transit through its life cycle stages.
2. Why do we need SDLC ?
Without using an exact life cycle model,the development of a software product would not be in a systematic and disciplined manner.A software life cycle model describes entry and exit criteria for each phase.without software life cycle models,it becomes tough for software project managers to monitor the progress of the project.
3. Phases of SDLC.
Requirement analysis is the most important and necessary stage in SDLC.Senior member of the team perform it with inputs from all the stakeholders and domain experts or SME s in the industry.Business analyst and project organizer set up a meeting with the client to gather all the data like what the customer wants to build,who will be the end user,what is the objective of the product.
The next stage is to certainly represent and document the software requirements and get them accepted from the project stakeholders. It is accomplished through “SRS”- Software Requirement Specification document which contains all the product requirements to be constructed and developed during the project life cycle.
The third phase is about to bring down all the knowledge of requirements, analysis, and design of the software project. This phase is the product of the last two, like inputs from the customer and requirement gathering.
In this phase, the actual development begins, and the programming is built. The implementation of design begins concerning writing code. Developers have to follow the coding guidelines described by their management and programming tools like compilers, interpreters, debuggers, etc. are used to develop and implement the code.
During this stage, unit testing, integration testing, system testing, acceptance testing are done.It is tested against the requirements to make sure that the products are solving the needs addressed and gathered during the requirements stage.
In this phase ,no bugs and errors are stated after the software is certified and then it is deployed. Software may be released as it is or with suggested enhancement in the object segment.
Once when the client starts using the developed systems, then the real issues come up and requirements to be solved from time to time.
The Agile Methodology is a way to manage a project by breaking it up into several phases. It involves constant collaboration with stakeholders and continuous improvement at every stage.Agile Methodologies have 4 main values and 12 principles.
Four main values of Agile Methodology are :
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
12 Principles of Agile Methodologies area:
- Customer satisfaction by early and continuous delivery of valuable software.
- Welcome changing requirements, even in late development.
- Deliver working software frequently (weeks rather than months).
- Close, daily cooperation between business people and developers.
- Projects are built around motivated individuals, who should be trusted.
- Face-to-face conversation .
- Working software is the primary measure of progress.
- Constant pace.
- Simplicity .
- Designs emerge from self-organizing teams.
- Regularly, the team reflects on how to become more effective, and adjusts accordingly.
Key Agile Methodologies
- Extreme Programming (XP)
- Adaptive Software Development (ASD)
- Dynamic Software Development Method (DSDM)
- Feature Driven Development (FDD)
Advantages of Agile Methodology
- Software is deployed more quickly and improved more regularly.
- Better code hygiene including style, readability, and structuring.
- Transparency and continuous communication with involved stakeholders.
5.Examples of SDLC model.
- The Waterfall Method .
- The Prototyping Model.
- The Iterative Model.
- Spiral Model.
- V-Shape Model.