Assignment 01
Assignment 01
SDLC stands for Software Development Life Cycle. Software Development Life Cyle is a
structured process that is used to design, develop and test good quality software. The main goal of
SDLC model is to deliver high-quality software that meets the user’s requirements. SDLC has six
phases. They are below:
1) Planning
2) Requirements Gathering and Analysis
3) Design
4) Development
5) Testing
6) Deployment and Maintenance.
Water Fall:
The Waterfall Model is a linear and sequential software development methodology where each
phase must be completed before the next one begins. It is one of the oldest and most
straightforward approaches to software development. The name "waterfall" suggests that progress
flows in one direction, steadily and irreversibly like a waterfall, through the phases of conception,
initiation, analysis, design, construction, testing, deployment, and maintenance. It is very simple
but idealistic. Earlier this model was very popular but nowadays it is not used.
Waterfall Model has six phases. They are below:
1) Requirement Analysis
2) System Design
3) Implementation
4) Testing
5) Deployment
6) Maintenance.
Agile:
Agile Software Development is an iterative and incremental approach to software development
that emphasizes the importance of delivering a working product quickly and frequently. It involves
close collaboration between the development team and the customer to ensure that the product
meets their needs and expectations. In Agile, the highest priority is to satisfy the customer through
early and continuous delivery of valuable software. It welcomes changing requirements, even late
in development. There are several different flavors of agile development that all share some basic
similarities. These include:
• Extreme Programming (XP)
• Scrum
• Kanban
• Lean Software Development
• Agile Unified Process
User Story:
A user story is a concise, informal, and user-centric description of a software feature or
functionality. It is a way for agile development teams to express requirements from the end user's
perspective. User stories are a crucial component of Agile methodologies, particularly in
frameworks like Scrum. They provide a simple and user-focused way to communicate the intended
functionality and value of a feature.
A typical user story follows a specific template:
As a [type of user], I want [feature] so that [value].
Here's a breakdown of the components:
1. Role (Type of User): Describes the user or persona who will benefit from the feature.
2. Action: Specifies the desired action or functionality that the user wants to perform.
3. Benefit/Value: Explains the reason or benefit the user gains from the requested feature.
Defining Who, What and Why: How to write a user story with an example:
When writing a user story, it's essential to clearly define who the user is, what action they want to
perform, and why they want to perform that action. This helps in creating a shared understanding
among team members and stakeholders. The typical format of a user story is
As a [type of user], I want [an action] so that [benefit/value].
Now, let's explain each component:
1. Who (Type of User):
• Identify the user or persona for whom the feature is being developed. This helps in
understanding the context and tailoring the feature to the specific needs of the user.
• Examples: As a customer, As an Admin etc.
2. What (Action):
• Specify the action or functionality that the user wants to perform. This is the core
of the user story and defines what the team needs to deliver.
• Examples: I want to search for products, I want to view my order history etc.
3. Why (Benefit/Value):
• Explain the reason or benefit the user gains from the requested feature. This
provides context and helps the team understand the significance of the user story.
• Examples: So that I can quickly find the items I need, So that I can track my past
purchases etc.
Here are examples of complete user stories:
1. Example 1:
As a website visitor, I want to easily reset my password so that I can regain access to my account
without assistance.
• Who: Website visitor
• What: Reset password
• Why: To regain access to the account without assistance
2. Example 2:
As a project manager, I want to generate a report of completed tasks so that I can track team
progress and project milestones.
• Who: Project manager
• What: Generate a report of completed tasks
• Why: To track team progress and project milestones