0% found this document useful (0 votes)
84 views15 pages

Software Life Cycle

The document provides an overview of the Software Development Life Cycle (SDLC), including its stages and models. SDLC is a process used by the software industry to design, develop, and test high-quality software. It consists of planning, requirements, design, implementation, testing, deployment, and maintenance stages. Popular models include waterfall, iterative, agile. Agile breaks work into short iterations with cross-functional teams to rapidly deliver working software. User stories, acceptance criteria, and tasks are key agile concepts.

Uploaded by

Jai
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)
84 views15 pages

Software Life Cycle

The document provides an overview of the Software Development Life Cycle (SDLC), including its stages and models. SDLC is a process used by the software industry to design, develop, and test high-quality software. It consists of planning, requirements, design, implementation, testing, deployment, and maintenance stages. Popular models include waterfall, iterative, agile. Agile breaks work into short iterations with cross-functional teams to rapidly deliver working software. User stories, acceptance criteria, and tasks are key agile concepts.

Uploaded by

Jai
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/ 15

Software Development Life Cycle(SDLC)

● Software Development Life Cycle (SDLC) is a process used by the software industry to design,
develop and test high quality softwares.

● The SDLC aims to produce a high-quality software that meets or exceeds customer expectations,
reaches completion within times and cost estimates.

● SDLC is the acronym of Software Development Life Cycle.

● It is also called as Software Development Process.


What is SDLC?
● SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing
how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for
improving the quality of software and the overall development process.

Stage 1: Planning and Requirement Analysis


● Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the
team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This
information is then used to plan the basic project approach and to conduct product feasibility study in the economical,
operational and technical areas.

Stage 2: Defining Requirements


● Once the requirement analysis is done the next step is to clearly define and document the product requirements and get
them approved from the customer or the market analysts. This is done through an SRS (Software Requirement
Specification) document which consists of all the product requirements to be designed and developed during the project
life cycle.
Stage 3: Designing the Product Architecture
● SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the
requirements specified in SRS, usually more than one design approach for the product architecture is proposed and
documented in a DDS - Design Document Specification.
● This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product
robustness, design modularity, budget and time constraints, the best design approach is selected for the product.

Stage 4: Building or Developing the Product


● In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per
DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be
accomplished without much hassle.
● Developers must follow the coding guidelines defined by their organization and programming tools like compilers,
interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++,
Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software
being developed.
Stage 5: Testing the Product
● This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in
all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are
reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance


● Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product
deployment happens in stages as per the business strategy of that organization. The product may first be released in a
limited segment and tested in the real business environment (UAT- User acceptance testing).

● Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting
market segment. After the product is released in the market, its maintenance is done for the existing customer base.
SDLC Models
● There are various software development life cycle models defined and designed which are followed during the software
development process. These models are also referred as Software Development Process Models". Each process model
follows a Series of steps unique to its type to ensure success in the process of software development.

Following are the most important and popular SDLC models followed in the industry −

Waterfall Model Spiral Model Big Bang Model RAD

Iterative Model V-Model Agile


Agile

● Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and
customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small
incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks.
Every iteration involves cross functional teams working simultaneously on various areas like −

● Planning
● Requirements Analysis
● Design
● Coding
● Unit Testing and
● Acceptance Testing.

At the end of the iteration, a working product is displayed to the customer and important stakeholders.
Agile model believes that every project needs to be handled differently and the existing methods need to be tailored to best suit
the project requirements. In Agile, the tasks are divided to time boxes (small time frames) to deliver specific features for a
release.
Agile model believes that every project needs to be handled differently and the existing methods need to be tailored to best suit
the project requirements. In Agile, the tasks are divided to time boxes (small time frames) to deliver specific features for a
release.
Roles in Agile
Scrum Master

A Scrum Master is a team leader and facilitator who helps the team members to follow agile practices so that they can meet their
commitments. The responsibilities of a scrum master are as follows −

To remove any blocks.

To ensure that Agile Inspect & Adapt processes are leveraged properly which includes
● Daily stand-ups,
● Planned meetings,
● Demo,
● Review,
● Retrospective Meetings, and
● To facilitate team meetings and decision-making process.
Product Owner
A Product Owner is the one who drives the product from business perspective. The responsibilities or a Product Owner are as follows

● To define the requirements and prioritize their values.


● To determine the release date and contents.
● To take an active role in iteration planning and release planning meetings.
● To ensure that team is working on the most valued requirement.
● To represent the voice of the customer.
● To accept the user stories that meet the definition of done and defined acceptance criteria.

Cross-functional Team
Every agile team should be a self-sufficient team with 5 to 9 team members and an average experience ranging from of 6 to 10
years. Typically, an agile team comprises of 3 to 4 developers, 1 tester, 1 technical lead, 1 product owner and 1 scrum master.
Point

A Point defines how much a team can commit. A point usually refers to 8 hours. Each story is estimated in points.

Capacity

Capacity defines how much an individual can commit. Capacity is estimated in hours.

What is a User Story?


A user story is a requirement which defines what is required by the user as functionality.

During release planning, a rough estimate is given to a user story using relative scale as points. During iteration planning, the
story is broken down into tasks.
Relationship of User Stories and Tasks
● User story talks about what is to be done. It defines what a user needs.
● Task talks about how it is to be done. It defines how a functionality is to be implemented.
● Stories are implemented by tasks. Each story is a collection of tasks.
● User story is divided into tasks when it is planned in current iteration.
● Tasks are estimated in hours, typically from 2 to 12 hours.
● Stories are validated using acceptance tests.

When a Story is Done


The team decides what done means. The criteria may be −
● All tasks (development, testing) are completed.
● All acceptance tests are running and are passed.
● No defect is open.
● Product owner has accepted the story.
● Deliverable to the end-user.
User Story and Tasks
What is Acceptance Criteria?
Criteria defines the functionality, behavior, and performance required by a feature so that it can be accepted by the product owner. It
defines what is to be done so that the developer knows when a user story is complete.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy