Agile Software Development - User Story Creation

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Agile Software Development

Emad Fawzi
Agile Software Development

1. Collaborative User Story Creation

2. Retrospectives

3. Continuous Integration

4. Release Planning and Iteration Planning

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

• Poor specifications are often a major reason for project failure.

Problems canresult from


•Redundant or Contradictory Features.

•Miscommunications.

•The users’ lack of insight into their true needs.

•Absence of a global vision for the system.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

• A high-level user or business requirement commonly used in agile


software development.

• Typically consisting of one or more sentences in the everyday or


business language capturing what functionality a user needs, any
non-functional criteria, and also includes acceptance criteria.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

Alternative to writing lengthy requirements specifications all up-front.

• A User Story is :
• Simple statement about what a user wants to do with a
feature of the software.
• Written from a user's perspective.
• Should not use technical jargon or state design goals.
• Should be written in business language that is understandable to all.
• Should focus on the who, what and why of a feature, not how.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

“As a [role] I can [function] User stories, like all Product Backlog
Template Items, should contain or clearly imply
so that [reason].”
acceptance criteria (definition of done).
Write these on the back of the index card,
Noun Phrase Image clipboard. or in the “Description” field if you’re using
an electronic tool.

Testable “Busy streets are


Assertion highlighted on the map.”

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

In Agile development
•User stories are written to capture requirements from the perspectives of
Whole-Team.

•Shared vision is accomplished through frequent informal reviews while


the requirements are being written.

In Sequential development
•Shared vision of a feature is accomplished through formal reviews after
requirements are written.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

• Attributes:
• Functional and non-functional characteristics.

• Acceptance criteria for these characteristics.

• Defined in collaboration between the whole-Team.

• Provide team with an extended vision of the feature that business


representatives will validate.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

• An Agile team considers a task finished when a set of acceptance criteria have
been satisfied.

• Acceptance criteria are the requirements that have to be met for a story to be
assessed as complete.

• Testers identifying missing details or non-functional requirements.

• Asking business representatives open-ended questions about the user story.

• The collaborative authorship of the user story can use techniques such as
brainstorming and mind mapping.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

[INVEST] Technique
Created by BillWake

•Independent (Implementedin any order, there is no inherent dependency)


•Negotiable (Can always be changed and rewritten)
•Valuable(Deliver value to the end user)
•Estimable (Always be able to estimate the size)
•Small (Should not be so big as to become impossible to plan/task/prioritize)
•Testable (User story or its related description must provide the necessary information)

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

[3C] Concept

•Card
•Conversation
•Confirmation

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

[3C] Concept

• Card:
• The card is the physical media describing a user story.

• Components:
• Requirement
• Criticality
• Expected development and test duration
• Acceptance criteria
• The description has to be accurate.
• Will be used in the product backlog.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

[3C] Concept

• Conversation:
• The conversation explains how the software will be used.

• The conversation can be documented or verbal.


• Testers, having a different point of view than developers and business
representatives.

• Bring valuable input to the exchange of thoughts, opinions, and experiences.


• During the release-planning phase and continues when the story is scheduled.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation


[3C] Concept

• Confirmation:
• The acceptance criteria, discussed in the conversation, are used to confirm that the story is
done.

• These acceptance criteria may span multiple user stories.

• Both positive and negative tests should be used to cover the criteria.

• During confirmation, various participants play the role of a tester.

• May focused on performance, security, interoperability, and other


quality characteristics.

To confirm a story as done, the defined acceptance criteria should be tested and shown to be

satisfied.
Emad Fawzi
Agile Software Development

Collaborative User Story Creation

• Agile teams vary in terms of how they document user stories.

• Regardless of the approach taken to document user stories, documentation


should be:

• Concise
• Sufficient
• Necessary

• Avoid splitting stories through layers.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation


• As a student, I want to check my class schedule so I can arrange my classes

• Details:
• I want my class schedule to show my classes across the days of the week.
• I want my favorite classes to be highlighted.
• I want my extra-curricular activities to be displayed in the table.
• I want different color formats for my classes.

• Acceptance criteria:
• Check that classes are displayed across the days of the week with the start and end time.
• Check that classes marked as favorite are highlighted.
• Check that each class is given a different color format:
• Blue for Math.
• Yellow for English.
• Check that extra-curricular activities are also included.

Emad Fawzi
Agile Software Development

Collaborative User Story Creation

• As a user, I can backup my entire hard drive.

• As a power user, I can specify files or folders to backup based on file size, date
created and date modified.

• As a user, I can indicate folders not to backup so that my backup drive isn't filled
up with things I don't need saved.

Let’s do it !
Emad Fawzi
Copyright© Emad Fawzi

You might also like