0% found this document useful (0 votes)
62 views

Assignment 01

SDLC stands for Software Development Life Cycle and refers to a structured process used to design, develop and test quality software. It includes six phases: planning, requirements gathering, design, development, testing, and deployment/maintenance. The Waterfall model is a linear software development process where each phase must be completed before the next begins. It has six sequential phases: requirements analysis, design, implementation, testing, deployment, and maintenance. Agile software development is an iterative approach that emphasizes delivering working products frequently in close collaboration with customers. It includes methodologies like extreme programming, scrum, kanban, and lean software development. User stories are concise descriptions of software features from an end user's perspective

Uploaded by

Md Elias Khan04
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

Assignment 01

SDLC stands for Software Development Life Cycle and refers to a structured process used to design, develop and test quality software. It includes six phases: planning, requirements gathering, design, development, testing, and deployment/maintenance. The Waterfall model is a linear software development process where each phase must be completed before the next begins. It has six sequential phases: requirements analysis, design, implementation, testing, deployment, and maintenance. Agile software development is an iterative approach that emphasizes delivering working products frequently in close collaboration with customers. It includes methodologies like extreme programming, scrum, kanban, and lean software development. User stories are concise descriptions of software features from an end user's perspective

Uploaded by

Md Elias Khan04
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

SDLC:

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.

The Characteristics of a good user story:


Good user stories exhibit several characteristics that contribute to their effectiveness in Agile
development. These characteristics help ensure clarity, simplicity, and a shared understanding
among team members. Here are key characteristics of good user stories:
1. Independent:
• User stories should be independent of each other, meaning that the completion of
one story does not depend on the completion of another. This fosters flexibility in
prioritization and allows for parallel development.
2. Negotiable:
• User stories are not contracts but placeholders for discussions. They should be open
to negotiation and refinement as the team gains a better understanding of the
requirements. This flexibility encourages collaboration and continuous
improvement.
3. Valuable:
• Each user story should deliver value to the end-user or customer. It should address
a specific need or bring about a tangible benefit. This ensures that the team is
consistently delivering features that matter.
4. Estimable:
• User stories should be clear enough for the development team to estimate the effort
required for implementation. This enables the team to plan and prioritize
effectively.
5. Small and Specific:
• User stories should be small enough to fit within a single iteration or sprint. They
should focus on a specific functionality or user need, making it easier to prioritize,
estimate, and complete within a short timeframe.
6. Testable:
• User stories must be written in a way that allows for clear and objective testing.
Acceptance criteria, which define the conditions for a story to be considered
complete, contribute to the testability of the story.
7. Understandable:
• User stories should be written in a language that is easily understood by all team
members, including developers, testers, and stakeholders. Ambiguity or unclear
language can lead to misunderstandings and delays.
8. Prioritized:
• User stories should be prioritized based on business value and user needs. This
ensures that the most important features are addressed first, allowing for the
delivery of value in a timely manner.
9. Estimation Consistency:
• The team should have a consistent approach to estimating user stories. This
consistency helps in planning and allows for better comparison of effort across
different stories.
10. Adaptable:
• User stories should be adaptable to change. As the project progresses and new
information becomes available, user stories may need to be updated, reprioritized,
or even discarded.
11. Conversation Starter:
• User stories should serve as conversation starters. They are meant to encourage
collaboration and discussion between team members, stakeholders, and product
owners to refine and clarify requirements.

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

Briefly explain the Diagram:


These Diagram are the phase of Waterfall Model. 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
Waterfall Model has six phases and are below with an explanation:
1)Requirements Analysis:
The project begins with a thorough analysis of customer requirements. Requirements are
documented in detail to serve as a reference throughout the development process.
2) Design:
Based on the requirements, the system architecture and design are planned and documented. The
design phase involves creating a blueprint for the entire system, including database design,
software architecture, and user interface design.
3)Implementation (Coding):
The actual coding of the software is done based on the detailed design specifications. Developers
write code, and the system starts to take shape during this phase.
4)Testing:
The testing phase involves various testing activities such as unit testing, integration testing, system
testing, and user acceptance testing. Each phase of testing ensures that the software functions as
expected and meets the specified requirements.
5)Deployment:
Once testing is complete, the software is deployed to the production environment. Deployment
involves installation, configuration, and user training.
6)Maintenance:
The maintenance phase focuses on resolving any issues discovered after deployment. Updates,
enhancements, and bug fixes are applied as needed to keep the software operational.
The Waterfall Model is less commonly used in modern software development compared to more
flexible methodologies like Agile. However, it is still applicable in certain situations, particularly
when the requirements are well-understood and unlikely to change significantly during the
development process.

You might also like