Professional Documents
Culture Documents
Agile Software Development - User Story Creation
Agile Software Development - User Story Creation
Agile Software Development - User Story Creation
Emad Fawzi
Agile Software Development
2. Retrospectives
3. Continuous Integration
Emad Fawzi
Agile Software Development
•Miscommunications.
Emad Fawzi
Agile Software Development
Emad Fawzi
Agile Software Development
• 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
“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.
Emad Fawzi
Agile Software Development
In Agile development
•User stories are written to capture requirements from the perspectives of
Whole-Team.
In Sequential development
•Shared vision of a feature is accomplished through formal reviews after
requirements are written.
Emad Fawzi
Agile Software Development
• Attributes:
• Functional and non-functional characteristics.
Emad Fawzi
Agile Software Development
• 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.
• The collaborative authorship of the user story can use techniques such as
brainstorming and mind mapping.
Emad Fawzi
Agile Software Development
[INVEST] Technique
Created by BillWake
Emad Fawzi
Agile Software Development
[3C] Concept
•Card
•Conversation
•Confirmation
Emad Fawzi
Agile Software Development
[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
[3C] Concept
• Conversation:
• The conversation explains how the software will be used.
Emad Fawzi
Agile Software Development
• Confirmation:
• The acceptance criteria, discussed in the conversation, are used to confirm that the story is
done.
• Both positive and negative tests should be used to cover the criteria.
To confirm a story as done, the defined acceptance criteria should be tested and shown to be
•
satisfied.
Emad Fawzi
Agile Software Development
• Concise
• Sufficient
• Necessary
Emad Fawzi
Agile Software Development
• 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
• 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