100% found this document useful (2 votes)
335 views74 pages

Agile and User Story Workshop

The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change over processes, tools, documentation, contract negotiation, and following a plan. It emphasizes satisfying customers, delivering working software frequently, having business and development work closely together, using working software as the primary measure of success, and having teams regularly reflect on how to improve.

Uploaded by

David Cox
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
335 views74 pages

Agile and User Story Workshop

The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change over processes, tools, documentation, contract negotiation, and following a plan. It emphasizes satisfying customers, delivering working software frequently, having business and development work closely together, using working software as the primary measure of success, and having teams regularly reflect on how to improve.

Uploaded by

David Cox
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 74

Agile Manifesto

• Individuals and interactions over processes and


tools
• Working software over comprehensive
documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
www.agilemanifesto.org

JFD.IT John F Doherty


Distilled Principles of Agile Manifesto
• Priority is to satisfy the customer
• Deliver working software frequently
• Business and development work together
• Working software is primary measure of success
• The team regularly reflects on work
• Build projects around motivated people

JFD.IT John F Doherty


Process Frameworks
• Waterfall

JFD.IT John F Doherty


Process Frameworks
• Iterative

JFD.IT John F Doherty


Process Frameworks
• Agile

JFD.IT John F Doherty


Agile vs Scrum vs Other Frameworks
• Agile is a mindset, there are several ways to
implement Agile:
– XP – Extreme Programming
– DSDM – Dynamic Systems Development Method
– Scrum – lightweight team centric processes
– Lean – Manufacturing processes applied to software
– FDD – Feature centric processes

JFD.IT John F Doherty


Scrum
• Scrum is not an acronym, but a strategy in the
game of rugby for getting an out-of-play ball back
into play.

JFD.IT John F Doherty


Exercise – Batch vs Flow
Four volunteers, please!
Round 1
• Each person flips all pennies
• When done with entire batch, pass to next person

Round 2
• Each person flip one penny and pass to next person
• Keep flipping and passing until done

Round 3
• Each table creates their own rules to maximize penny flow/throughput in least
amount of time

JFD.IT John F Doherty


Scrum Rules
• Scrum is a set of rules,
procedures, and practices
• Improve the development
environment
• Reduce organizational
overheads
• Ensure iterative deliverables
match user requirements

JFD.IT John F Doherty


Scrum Approach
• Work together as a whole
team
• Focus on business priorities
• Time box short sprints and
releases
• Commit and deliver value
incrementally

JFD.IT John F Doherty


The Chicken and the Pig – A Story:

• Bacon and Egg Restaurant


• Chickens involved…
• Pigs are committed!

JFD.IT John F Doherty


How It All Starts
• A Scrum project starts with a
vision of the system or product to
be developed
• The vision might be vague at
first…
• Perhaps stated in market terms
rather than system terms…
• But it will become clearer as the
project moves forward
JFD.IT John F Doherty
Scrum Roles
• Product Owner
– The single customer voice who establishes the vision,
prioritizes the work and defines success criteria
• ScrumMaster
– The situational leader who empowers the team,
facilitates the process, and removes impediments
• Cross-functional team
– The people who deliver the customer value

JFD.IT John F Doherty


Scrum Meetings
• Daily Scrum
• Sprint Planning Meeting
• Sprint Review Meeting*
• Demo
• Sprint Retrospective

JFD.IT John F Doherty


Scrum Artifacts
• User Stories
• Product Backlog
– List of functional and non-functional requirements
• Sprint Backlog
– Prioritized list of stories for a given sprint
• Sprint Burndown Chart
– A chart showing completion of stories over time
• Definition of done

JFD.IT John F Doherty


The Bottom Line
• Scrum is:
– Doing the simplest thing
possible
– Getting a team what it
needs and getting out of
their way
– Removing any obstacle
that is preventing a team
from being productive and
efficient
JFD.IT John F Doherty
Final Thoughts
• The core of Agile is the team
• Focus on the priorities first (most valuable)
• Communication
• Document throughout the process instead of all
up front
• Review, review, review
• Define the “done.”

JFD.IT John F Doherty


User Stories – Better Practices

A Quick Guide to Story Creation in


Scrum

John F Doherty PSMI PSMII PSPO SPS


SAFe SPC Agile Scrum Coach
A Worldview

JFD.IT John Doherty


Roadmap

• User Story Introduction


• User Story Guidelines
• Prioritization
• User Story Tasks and Tools Exercise
• Other Backlog Items
– Epics
– Tracking Bugs and Issues
JFD.IT John Doherty
Why Not Requirements Documents?
Complete specifications:

•Assume everything is knowable in


advance
•Are time-consuming to write and
tedious to read
•Treat learning as a “Change of
Scope”
•Don’t lend themselves to
iterative, incremental delivery
process

JFD.IT John Doherty


User Stories are a Conversation
User stories are:

• User or customer need


• Product description
• Used for planning
• A conversation piece

JFD.IT John Doherty


User Stories Facilitate Conversation
• User* – How do I describe what I want?
• Stakeholder – What do I need in my product to
be successful?
• PM – How do I track and schedule this work?
• BA – What are the details of this feature?
• UX – How do I understand the users needs?
• Developer – What are the details of the tasks I
need to work on today?
• QA – How do I validate this completed work?
Adapted from Jeff Patton www.AgileProductDesign.com

JFD.IT John Doherty


A User Story Is
• Easy to understand – Makes sense to the reader
• A (software/system) requirement
• One or two sentences with value to the customer
• Written by the Customer – PO or BA
• Refined by Development – Tasks and Technical
• Negotiable – Conversation token
• Small and estimable – Small enough to estimate
• Testable – Should have acceptance criteria
• Becomes more detailed over time – Iteration Planning
JFD.IT John Doherty
User Story Process
Step #1 Step #2 Step #3

JFD.IT John Doherty


Step #1 - Where do we start?
Define the user personas!

• What different types of customers/consumers


interact with the system?
• What are their roles?

JFD.IT John Doherty


User Role Modeling
• User Roles
– Various types of user personas
• Role Modeling
– Brain storming
– Organizing
– Consolidating
– Refining
• Extreme Characters?

JFD.IT John Doherty


Exercise - Defining the Personas
Scenario: You need to create a
simple login and preferences
mechanism for your corporate
Twitter account

• Who are your users of this


system?
• What are their roles?

JFD.IT John Doherty


Persona Definition Documentation?

JFD.IT John Doherty


Roadmap

• User Story Introduction


• User Story Guidelines
• Prioritization
• User Story Tasks and Tools Exercise
• Other Backlog Items
– Epics
– Tracking Bugs and Issues
JFD.IT John Doherty
Story Creation - Guidelines
• Stakeholders write user stories
• Remember non-functional requirements
• Indicate the estimated size
• Indicate the priority
• Include a unique identifier (if applicable)
• Go into a product backlog
• The product backlog is prioritized by value –
Highest to lowest

JFD.IT John Doherty


Non-Functional Requirements
• Non-functional requirements should often
be considered “constraints” on a system
• Can include:
– Performance
– Quality
– Accuracy
– Portability
– Reusability
– Maintainability
– Interoperability
– Capacity
Adapted from Mike Cohn www.mountaingoatsoftware.com

JFD.IT John Doherty


INVEST Model
• Independent – One user story should be independent of another (as much as
possible). Dependencies between stories make planning, prioritization, and
estimation much more difficult.
• Negotiable – Details of the story can be worked out during an Iteration
planning meeting. A story with too much detail can limit conversations (at
times).
• Valuable – Value to the customer.
• Estimable – There needs to be enough detail for the developers to estimate a
user story to allow prioritization and planning of the story.
• Small – A good story should be small in effort, typically no more than 2-3
person weeks of effort (smaller is better)!
• Testable – User stories should be testable with certain acceptance criteria.
Saying something like “software should be easy to use” is not helpful.
Bill Wake’s INVEST Model

JFD.IT John Doherty


Ron Jeffries 3 C’s
• Card – Stories written on note cards with
annotations as needed (estimates, notes, etc)

• Conversation – Details behind story come out


through conversations with the Product
Owner

• Confirmation – Acceptance tests confirm the


story was coded correctly

JFD.IT John Doherty


Four Main Components of a Story
• (Given (AS A)) – “As a business owner…” / “Given a new list…”

• (When (I WANT)) – “I’d like the ability to…” / “We need a


function to…” / “When a customer clicks on…” / “When a
dropdown opens…”

• (Then (SO THAT)) – “So that I can…” / “So that the customer
can…” / “Then the customer should see…” / “Then the
dropdown list should…”

• (Acceptance Criteria) – Verifiable and testable criteria that can


be tested based on THEN clause.

• Or Simply: “As a <user type>, I want to <function> so that I can


<business value>
JFD.IT John Doherty
1. Given
(Given (AS A)) – “As a business owner…” /
“Given a new list…”
-We want users to be tangible with needs

-Build out “Personas” or “User Roles” – Standard


user definitions (Sacred – Added with purpose)

-Avoid generic terms

JFD.IT John Doherty


2. When
(When (I WANT)) – “I’d like the ability to…” /
“We need a function to…” / “When a
customer clicks on…” / “When a dropdown
opens…”

-This is the meat and potatoes of the story

-This is where you describe the functions

-
JFD.IT John Doherty
3. Then
(Then (SO THAT)) – “So that I can…” / “So
that the customer can…” / “Then the
customer should see…” / “Then the
dropdown list should…”

-This is to show the intrinsic value of the


story

-The value is to the persona, user, or author


JFD.IT John Doherty
4. Acceptance Criteria
(Acceptance Criteria) – Verifiable and
testable criteria that can be tested based on
THEN clause.

-These are essentially tests – Conditions of satisfaction


-Example: As a user, I can cancel a reservation.
- Verify that a premium member can cancel
- Verify that a email confirmation is sent
- Verify that the hotel is notified of any cancelation
-These acceptance criteria can become developer tasks

JFD.IT John Doherty


4a. Acceptance Stories
(Acceptance Stories) – Verifiable and
testable criteria written in acceptance test
form.

-Scenario 1: TITLE
- GIVEN [context]
- And [some more context]
- When [event]
- Then [outcome]
- And [another outcome]

JFD.IT John Doherty


4b. Acceptance Confirmation
(Acceptance Confirmation) – Verifiable and
testable criteria written in “Success” and
“Failure” terms

-Success – valid user logged in


- “Remember my user name” selected – store cookie / automatic login next
time
- “Remember my user name” not selected – force login next time
-Failure – display message:
- “Email address in wrong format”
- “Incorrect password, please try again”
- “Service unavailable, please try again”
- Etc.
JFD.IT John Doherty
Exercise – 99 Balloons
Let’s form some teams!
Round 1
•Recreate my balloon with: 2 round eyes, a triangle nose, and a semi-circle mouth
•2 minutes! Go!

Round 2
•How can you improve for the next iteration?

Round 3
•How did you change how you worked this time around?

JFD.IT John F Doherty


Step #2 – Gathering User Stories
• User Interviews
– Select right interviewees
– Ask open-ended, context-free questions
• Questionnaires
– Larger population of users
– When you need specific answers to questions
• Observation
– Best for in-house developments
• Story writing workshops
JFD.IT John Doherty
Exercise – Refine the User Stories
Scenario: You need to create a
simple login and preferences
mechanism for your corporate
Twitter account

•We’ve determined our


users…
•Let’s refine the set of user
stories

JFD.IT John Doherty


Roadmap

• User Story Introduction


• User Story Guidelines
• Prioritization and Backlog
• User Story Tasks and Tools Exercise
• Other Backlog Items
– Epics
– Tracking Bugs and Issues
JFD.IT John Doherty
Product Backlog to Release Backlog
• A prioritized list of
features for the given
product
• Stories are implemented
based on their priority
• The TOP priority Features
are put into iterations
first
• Changes to the iterations
are OK
• After stories are built
they go into a release
backlog
JFD.IT John Doherty
Prioritization Factors to Consider
• Financial value of
features
• Costs of
implementation
• Amount of risk
removed / added
• Training on new
features
• PO should be
enabled
JFD.IT John Doherty
MoSCoW Method
• M – MUST have (Critical for success)
• S – SHOULD have if possible (If not time
critical)
• C – COULD have if it does not affect
anything else (Include if little
development cost)
• W – WON’T have this time, but WOULD
like in future MoSCoW method - Dai Clegg of Oracle UK for DSDM

JFD.IT John Doherty


M & S of MoSCoW
• M – MUST have (Critical for success)
– Essential - key stakeholders needs will not be
satisfied if this requirement is not delivered and the
timebox will be considered to have failed
• S – SHOULD have if possible (If not time
critical)
– Important - but if not delivered within the current
timebox, there is an acceptable workaround until it
is delivered during the next sprint
JFD.IT John Doherty
C & W of MoSCoW
• C – COULD have if it does not affect
anything else (Include if little
development cost)
– “Nice to have” – this is estimated to be possible to
complete in the timebox but will be de-scoped if an
underestimation has occured
• W – WON’T have this time, but WOULD
like in future
– Will not be delivered within the timebox
JFD.IT John Doherty
Kano’s Model of Quality
Objective and Subjective Quality

•Must-haves – Same as “M” in MoSCoW


•One-dimensional – “The more of this I get,
the better.”
•Delighters – Great to haves
Noriaki Kano – Theory of Product Development

JFD.IT John Doherty


Kano’s Model - Example
• In Agile – Objective quality is non-negotiable
• Subjective quality – Perception of quality
– To accurately assess subjective quality, the Product Owner
MUST know the customers (primary users)
– One user’s “delighter” may leave others apathetic
– One user’s “must have” is useless to others

Jeff Paton – www.Agileproductdesign.com

JFD.IT John Doherty


Prioritization Sliders

JFD.IT John Doherty


Step #3 – A.C. and Backlog Priority
• Manage the backlog by:
– Sorting stories by user persona
– Sorting stories by highest priority (value)
– Review stories for completeness
– Asking the 4 “WHYs” for business value
• Why do you want…?
– [As a] Customer Service Representative
– [I want] to have a button
– [So that] I can go to the next screen…

JFD.IT John Doherty


Exercise – Stories to Backlog
Scenario: You need to create a
simple login and preferences
mechanism for your corporate
Twitter account

•We’ve determined our users…


•We’ve refined the set of user
stories
•Let’s put A.C. and priority

JFD.IT John Doherty


Roadmap

• User Story Introduction


• User Story Guidelines
• Prioritization
• User Story Tasks and Tools Exercise
• Other Backlog Items
– Epics
– Tracking Bugs and Issues
JFD.IT John Doherty
Themes to Tasks

JFD.IT John Doherty


Tasks Warm Up Exercise
What are all the things you did to get ready to be
at work today?

1. Starting from the moment you woke up to


arriving here.

2. Take a sheet of paper and write them down!

JFD.IT John Doherty


Tasks vs Tools Exercise
1. Share with the group some example lists

2. What are common themes and tasks?

3. What was different?

JFD.IT John Doherty


Goals, Tasks, Tools
• Problem to answer
Goals • What I need to achieve

• Action
Tasks • What to do

• What to use?
Tools • How to do it?

JFD.IT John Doherty


User Stories are Tasks or Tools
• Problem to TASK -
answer CENTRIC
As a man
• What I need to
Goals achieve I want to shave
So that I can be clean shaven
• Action
• What to do
Tasks
TOOL-
CENTRIC As a man
• What to use?
• How to do it? I want a razor
Tools
So that I can (be clean shaven)
prepare for my upcoming event.
JFD.IT John Doherty
Stories Satisfy User NEEDS First!

Clean shaven – User Need (Goal)

Shave - Task

Tool? – Leave this open (Time/Budget Considerations)

JFD.IT John Doherty


Simple Guidelines for Good Stories
1. Start with specific personas

2. Write closed stories first

3. Write stories collaboratively

JFD.IT John Doherty


Exercise – Creating at a Story
1. Take a current feature your team is aware of

2. Each team member writes the story

3. Share

4. Discuss – Implications / Constraints / Missed AC

5. Review
JFD.IT John Doherty
Roadmap

• User Story Introduction


• User Story Guidelines
• Prioritization
• User Story Tasks and Tools Exercise
• Other Backlog Items
– Epics
– Tracking Bugs and Issues
JFD.IT John Doherty
Epic User Stories
Causes for Story Size
• Stories cover too much information
• Story writers do not have the needed domain
knowledge
• Stories have uncertainty due to dependence on
new technology
• Story writers cannot articulate exactly what
they want

JFD.IT John Doherty


Breaking Up Epics
Split – Slice stories up into different scenarios
Spike – Too many unknowns? Time-box a spike
and take a deep dive into the technology or
domain
Stub – Part of a story known and part unknown.
Fake it with a stub! Work on the known part up
till the unknown.
Time box – The PO knows they need something,
but until they get it, not sure if it’s right
JFD.IT John Doherty
Splitting for Value - Three Rules
When breaking down epics, remember:

1. Split stories for value – No value? Hard to


prioritize
2. Split a story that gets you more equally sized
small stories
3. Split an epic that lets you deprioritize or throw
away a story

JFD.IT John Doherty


Exercise – Breaking Up Epics
Let’s take an example from our existing backlog

JFD.IT John Doherty


Suggestions for Splitting Up Epics
• Handle empty scenarios and core functions first
• Happy path, then alternate flows / exceptions
• Single option, then add additional options
• Simple (or no) UI, then add bells / whistles
• Transient case (no memory between sessions) before
persistence
• Static elements, then dynamic based on content
• User specified, then more automation

JFD.IT John Doherty


Roadmap

• User Story Introduction


• User Story Guidelines
• Prioritization
• User Story Tasks and Tools Exercise
• Other Backlog Items
– Epics
– Tracking Bugs and Issues
JFD.IT John Doherty
Notes on Bug or Issue Tracking
1. Steps to Reproduce / Recreate the Bug

2. Actual Results

3. Expected Results

4. Any other details as appropriate

JFD.IT John Doherty


Exercise – Baseline Story Estimation
1. Different Stories in different sizes (1,2,3,5,8…)

2. What was the estimated size?

3. What were the complexities of that story?

4. Does this story need a re-write? What was missed?

5. Complete for sizes


JFD.IT John Doherty
Questions?

JFD.IT John Doherty

You might also like