0% found this document useful (0 votes)
20 views9 pages

Software Development Life Cycle SDLC

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views9 pages

Software Development Life Cycle SDLC

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Software

Development
Life Cycle
(SDLC)
The Software Development Life Cycle (SDLC) is a structured process that
outlines the phases involved in developing and deploying software
applications. SDLC models provide a framework for managing complex
projects, ensuring consistency, and delivering high-quality products. It
involves various stages, each contributing to the overall success of the
project.

IV by IT Vedant
Waterfall Model
The Waterfall Model is a linear and sequential approach where each phase is completed before moving to the next. It
emphasizes planning and documentation, with a strong focus on requirements analysis and design.

Requirements Gathering 1
Define and document user needs, system
functionality, and constraints.
2 Design
Create architectural blueprints, system architecture,
and detailed designs.
Implementation 3
Develop the software based on the approved design
specifications.
4 Testing
Verify functionality, performance, and security
through various test cases.
Deployment 5
Release the software to users, including installation,
configuration, and user training.
6 Maintenance
Provide ongoing support, bug fixes, enhancements,
and updates.
Agile Methodology
Agile methodologies focus on iterative development, where small, incremental releases are delivered frequently. It prioritizes
collaboration, flexibility, and customer feedback, allowing for adjustments and improvements throughout the development
process.

Reference: https://www.linkedin.com/pulse/agile-methodologies-navigating-change-software-development-ejie-eukdf

1 Adaptive planning 2 Cross-functional teams


Plans are flexible and can change based on feedback. Teams work together with a mix of skills for better
collaboration.

3 Continuous delivery 4 Focus on individuals


Deliver working software frequently, usually in weeks. Value people and interactions over processes and tools.

5 Embrace change 6 Customer collaboration


Agile welcomes changes even late in the project. Engage with customers throughout development for
feedback.
Scrum Framework
Scrum is a framework used in Agile methodology to manage and complete complex projects. Here’s a simple explanation:

Iterative process: Scrum works in short development cycles called sprints (usually 1-4 weeks).
Roles:

Product Owner Scrum Master Development Team


Represents the stakeholders, sets Facilitates the process, removes Cross-functional team that works
priorities, and manages the product obstacles, and ensures the team together to build the product.
backlog. follows Scrum principles.

Sprints: Work is divided into sprints with a goal to deliver a usable increment by the end.
Daily standups: A short daily meeting to discuss progress, challenges, and plans for the day.
Backlog: A prioritized list of tasks/features to be completed, maintained by the Product Owner.
Sprint Review and Retrospective: After each sprint, the team reviews the work and discusses what can be improved for the
next sprint.
Kanban Approach
Kanban is a visual workflow management system that focuses on
continuous improvement and flow optimization. It emphasizes visualizing
work, limiting work in progress, and streamlining the workflow to improve
efficiency and productivity.

1. Visual board: Tasks are organized on a board with columns


representing different stages (e.g., To Do, In Progress, Done).
2. Focus on flow: The aim is to keep tasks moving smoothly through
the workflow without bottlenecks.
3. Limit work in progress (WIP): Controls the number of tasks in
progress at any time to avoid overload.
4. Continuous delivery: Work is delivered as soon as it’s ready, rather
than in fixed iterations (like sprints).
5. Pull system: Team members "pull" tasks into the next stage only
when they're ready, promoting self-management.
6. Flexible and adaptable: No fixed time cycles like Scrum; tasks move
at their own pace.
7. Focus on efficiency: The goal is to improve task flow, reduce waste,
and increase efficiency over time.
Spiral Model
The Spiral Model is a risk-driven software development approach that combines iterative development with a focus on risk
management. Here's a brief explanation:

Iterative approach: The project is developed in a series of iterations (called spirals), each going through the same set of
steps.

Four phases in each spiral:


1. Planning: Define objectives, identify risks, and create plans for the next phase.
2. Risk analysis: Assess and address risks, including technical, schedule, and cost risks.
3. Development and testing: Design, develop, and test a product increment.
4. Evaluation: Customer evaluates the progress and provides feedback for the next iteration.
Risk-driven: Focus on identifying and mitigating high-risk elements early in the project.
Flexible and adaptable: Adjusts the process and goals based on risk analysis and feedback at each spiral.
Suitable for complex projects: Used for large, high-risk projects where risks need to be continuously evaluated.
Rapid Application Development (RAD)
RAD (Rapid Application Development) is a software development methodology focused on quickly building applications through
iterative cycles and user feedback. Here's a brief explanation:

Fast development: Prioritizes speed and delivering a working product quickly.


Prototyping: Creates prototypes to gather feedback early and often from users.
Iterative process: Continuous cycles of development, testing, and refinement until the final product is ready.
User involvement: Heavy user input during the development process to ensure the final product meets their needs.
Small teams: Typically involves small, cross-functional teams to ensure faster communication and progress.
Modular approach: Breaks down the project into smaller components or modules for quicker development.
Less focus on planning: Emphasizes rapid development over extensive upfront planning.
Security Considerations in SDLC
Security considerations should be integrated into every stage of the SDLC to mitigate risks, protect sensitive data, and ensure
application security.

Security Testing Security Audits Data Protection


Perform regular security testing to Conduct regular security audits to Implement data protection measures,
identify vulnerabilities and weaknesses assess the overall security posture of the such as encryption and access control,
in the application. application and identify areas for to safeguard sensitive information.
improvement.
Conclusion and Key
Takeaways
Selecting the appropriate SDLC model depends on various factors,
including project size, complexity, and team expertise. By following a
structured process and incorporating best practices, organizations can
optimize software development, ensure quality, and deliver successful
applications.

You might also like