SlideShare a Scribd company logo
1 of 57
Download to read offline
 
                                 openware	
  




Stefano	
  Leli	
                               Fabio	
  Armani	
  
        stefano.leli@gmail.com                         armani.fabio@gmail.com
        @sleli                                         @fabioarmani
What	
  is	
  a	
  User	
  Story?	
  
User	
  Story:	
  is	
  
•  A	
  user	
  story	
  is	
  a	
  very	
  high-­‐level	
  defini@on	
  of	
  a	
  
   requirement,	
  containing	
  just	
  enough	
  
   informa@on	
  so	
  that	
  the	
  developers	
  can	
  
   produce	
  a	
  reasonable	
  es@mate	
  of	
  the	
  effort	
  to	
  
   implement	
  it.	
  
User	
  Story	
  
•    Define	
  a	
  valuable	
  user	
  value	
  story	
  
•    implement	
  and	
  test	
  it	
  in	
  a	
  short	
  itera5on	
  
•    demonstrate/and	
  or	
  deliver	
  it	
  to	
  the	
  user	
  
•    capture	
  feedback	
  
•    learn	
  
•    repeat	
  forever!	
  
What	
  a	
  "User	
  Story"	
  is	
  not	
  
User	
  Story:	
  is	
  not	
  
•  It	
  is	
  not	
  a	
  use	
  case	
  or	
  a	
  soIware	
  requirement,	
  
   i.e.	
  a	
  formal	
  and	
  long	
  specifica@on	
  document	
  
•  One	
  of	
  the	
  biggest	
  misunderstandings	
  with	
  
   user	
  stories	
  is	
  how	
  they	
  differ	
  from	
  tradi@onal	
  
   requirements	
  specifica@ons	
  
Ini@al	
  User	
  Stories	
  (informal)	
  
Example	
  User	
  Stories	
  
Students	
  can	
  purchase	
  monthly	
  parking	
  passes	
  online.	
  
Parking	
  passes	
  can	
  be	
  paid	
  via	
  credit	
  cards.	
  
Parking	
  passes	
  can	
  be	
  paid	
  via	
  PayPal	
  ™.	
  
Professors	
  can	
  input	
  student	
  marks.	
  
Students	
  can	
  obtain	
  their	
  current	
  seminar	
  schedule.	
  
Students	
  can	
  order	
  official	
  transcripts.	
  
Students	
  can	
  only	
  enroll	
  in	
  seminars	
  for	
  which	
  they	
  have	
  
prerequisites.	
  
Transcripts	
  will	
  be	
  available	
  online	
  via	
  a	
  standard	
  browser.	
  
Ini@al	
  User	
  Stories	
  (formal)	
  
As	
  <type	
  of	
  user>,	
  <func5on>	
  so	
  that	
  I	
  can	
  
                achieve	
  <some-­‐goal>	
  
3	
  C	
  
3	
  C	
  
Card,	
  conversa@on	
  &	
  confirma@on	
  
Card	
  
user	
  stories	
  need	
  to	
  be	
  short	
  and	
  
                     Card	
  
concise	
  enough	
  so	
  that	
  they	
  can	
  fit	
  on	
  
                    a	
  single	
  card	
  
Conversa@on	
  
Conversa@on	
  
the	
  conversa@on	
  is	
  much	
  much	
  more	
  
    important	
  than	
  the	
  story	
  itself	
  
Confirma@on	
  
Confirma@on	
  
by	
  defini@on,	
  user	
  stories	
  must	
  be	
  
                   testable	
  	
  
INVEST	
  	
  
in	
  your	
  User	
  Stories	
  
INVEST	
  in	
  User	
  Stories	
  
•  Independent	
  
  Avoid	
  dependencies	
  with	
  other	
  stories	
  
  Write	
  stories	
  to	
  establish	
  founda@on	
  
  Combine	
  stories	
  if	
  possible	
  to	
  deliver	
  in	
  a	
  single	
  itera@on	
  
•  Nego+able	
  
  Stories	
  are	
  not	
  a	
  contract	
  
  Too	
  much	
  detail	
  up	
  front	
  gives	
  the	
  impression	
  that	
  more	
  discussion	
  on	
  the	
  story	
  is	
  
   not	
  necessary	
  
  Not	
  every	
  story	
  must	
  be	
  nego@able,	
  constraints	
  may	
  exist	
  that	
  prevent	
  it	
  
•  Valuable	
  
  	
  Each	
  story	
  should	
  show	
  value	
  to	
  the	
  Users,	
  Customers,	
  and	
  Stakeholders	
  
INVEST	
  in	
  User	
  Stories	
  
•  Es+mable	
  
  Enough	
  detail	
  should	
  be	
  listed	
  to	
  allow	
  the	
  team	
  to	
  es@mate	
  
  The	
  team	
  will	
  encounter	
  problems	
  es@ma@ng	
  if	
  the	
  story	
  is	
  too	
  big,	
  if	
  insufficient	
  
  informa@on	
  is	
  provided,	
  or	
  if	
  there	
  is	
  a	
  lack	
  of	
  domain	
  knowledge	
  
•  Sized	
  Appropriately	
  
  Each	
  story	
  should	
  be	
  small	
  enough	
  to	
  be	
  completed	
  in	
  a	
  single	
  itera@on	
  
  Stories	
  that	
  may	
  be	
  worked	
  on	
  in	
  the	
  near	
  future	
  should	
  be	
  smaller	
  and	
  more	
  
   detailed	
  
  Larger	
  stories	
  are	
  acceptable	
  if	
  planned	
  further	
  out	
  (Epics)	
  
•  Testable	
  
  Acceptance	
  criteria	
  should	
  be	
  stated	
  in	
  customer	
  terms	
  
  Tests	
  should	
  be	
  automated	
  whenever	
  possible	
  
  All	
  team	
  members	
  should	
  demand	
  clear	
  acceptance	
  criteria	
  
User	
  Stories	
  (planning)	
  
Epics	
  
Epics	
  
•  Epics	
  are	
  large	
  user	
  stories,	
  typically	
  ones	
  
     which	
  are	
  too	
  big	
  to	
  implement	
  in	
  a	
  single	
  
     itera@on	
  and	
  therefore	
  they	
  need	
  to	
  be	
  
     disaggregated	
  into	
  smaller	
  user	
  stories	
  at	
  
     some	
  point.	
  	
  
	
  
Themes	
  
Themes	
  
•  A	
  theme	
  is	
  a	
  collec@on	
  of	
  related	
  user	
  stories.	
  	
  
•  For	
  example,	
  for	
  a	
  university	
  registra@on	
  
   system	
  there	
  might	
  be	
  themes	
  around	
  
   students,	
  course	
  management,	
  transcript	
  
   genera@on,	
  grade	
  administra@on,	
  financial	
  
   processing.	
  
•  Themes	
  are	
  oIen	
  used	
  to	
  organize	
  stories	
  into	
  
   releases	
  or	
  to	
  organize	
  them	
  so	
  that	
  various	
  
   sub-­‐teams	
  can	
  work	
  on	
  them.	
  
Kano	
  Model	
  
According	
  to	
  Kano,	
  there	
  are	
  3	
  classes	
  of	
  features:	
  
•  Prerequisites	
  -­‐	
  If	
  your	
  product	
  doesn’t	
  have	
  these	
  
   features,	
  it	
  will	
  immediately	
  be	
  removed	
  from	
  
   considera@on.	
  Who	
  wants	
  a	
  house	
  without	
  a	
  
   bathroom?	
  
•  Linear	
  Features	
  -­‐	
  The	
  more	
  the	
  be]er,	
  but	
  their	
  higher	
  
   the	
  cost.	
  A	
  family	
  that	
  wants	
  three	
  bedrooms	
  will	
  not	
  
   consider	
  a	
  house	
  with	
  one,	
  but	
  they	
  might	
  consider	
  a	
  
   house	
  with	
  2	
  or	
  4	
  bedrooms.	
  
•  Exciters	
  -­‐	
  Unique	
  features	
  which	
  only	
  this	
  product	
  has	
  
   and	
  which	
  convince	
  the	
  customer	
  to	
  say	
  “Yes!	
  I	
  want	
  
   it!	
  This	
  one	
  and	
  no	
  other”	
  
CMS	
  1.0	
  
 (Hands-­‐On)	
  

       	
  
       	
  
       	
  
User	
  Story	
  (spligng)	
  
CMS	
  1.1	
  
 (Hands-­‐On)	
  

       	
  
       	
  
       	
  
Benefits	
  
Benefits	
  
•  XP	
  and	
  other	
  agile	
  methodologies	
  favor	
  face-­‐
   to-­‐face	
  communica@on	
  over	
  comprehensive	
  
   documenta@on	
  and	
  quick	
  adapta@on	
  to	
  
   change	
  instead	
  of	
  fixa@on	
  on	
  the	
  problem.	
  
User	
  stories	
  achieve	
  this	
  by:	
  
•  Being	
  very	
  short.	
  They	
  represent	
  small	
  chunks	
  of	
  business	
  value	
  that	
  can	
  
   be	
  implemented	
  in	
  a	
  period	
  of	
  days	
  to	
  weeks.	
  
•  Allowing	
  developer	
  and	
  the	
  client	
  representa@ve	
  to	
  discuss	
  requirements	
  
   throughout	
  the	
  project	
  life@me	
  
•  Needing	
  very	
  li]le	
  maintenance	
  
•  Only	
  being	
  considered	
  at	
  the	
  @me	
  of	
  use	
  
•  Maintaining	
  a	
  close	
  customer	
  contact	
  
•  Allowing	
  projects	
  to	
  be	
  broken	
  into	
  small	
  increments	
  
•  Being	
  suited	
  to	
  projects	
  where	
  the	
  requirements	
  are	
  vola@le	
  or	
  poorly	
  
   understood.	
  Itera@ons	
  of	
  discovery	
  drive	
  the	
  refinement	
  process.	
  
•  Making	
  it	
  easier	
  to	
  es@mate	
  development	
  effort	
  
Limita@ons	
  
Limita@ons	
  
Some	
  of	
  the	
  limita@ons	
  of	
  user	
  stories	
  in	
  agile	
  
methodologies:	
  
•  They	
  can	
  be	
  difficult	
  to	
  scale	
  to	
  large	
  projects	
  
•  They	
  are	
  regarded	
  as	
  conversa@on	
  starters	
  
 
                                 openware	
  




Stefano	
  Leli	
                               Fabio	
  Armani	
  
        stefano.leli@gmail.com                         armani.fabio@gmail.com
        @sleli                                         @fabioarmani

More Related Content

What's hot

Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
SCRUM User Story Life Cycle
SCRUM User Story Life CycleSCRUM User Story Life Cycle
SCRUM User Story Life CycleKristen Varona
 
Business requirements gathering and analysis
Business requirements gathering and analysisBusiness requirements gathering and analysis
Business requirements gathering and analysisMena M. Eissa
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User StoriesCraig Brown
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesNight Wolf
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
Story writing and mapping
Story writing and mappingStory writing and mapping
Story writing and mappingDevJam
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories Arto Eskelinen
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuertawebcat
 

What's hot (20)

User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
User Stories
User StoriesUser Stories
User Stories
 
Defining tasks for User Stories
Defining tasks for User StoriesDefining tasks for User Stories
Defining tasks for User Stories
 
SCRUM User Story Life Cycle
SCRUM User Story Life CycleSCRUM User Story Life Cycle
SCRUM User Story Life Cycle
 
Business requirements gathering and analysis
Business requirements gathering and analysisBusiness requirements gathering and analysis
Business requirements gathering and analysis
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User Stories
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
Story writing and mapping
Story writing and mappingStory writing and mapping
Story writing and mapping
 
Agile metrics and quality
Agile metrics and qualityAgile metrics and quality
Agile metrics and quality
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 

Similar to User Stories Writing

User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012Fabio Armani
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User StoriesSunil-QA
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User StoriesSunil-QA
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User StoriesSunil-QA
 
7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptx7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptxBishalKarki33
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013Stefano Leli
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
BA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshopBA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshopBA and Beyond
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines storiesfungfung Chen
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 

Similar to User Stories Writing (20)

User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012
 
All about User story
All about User storyAll about User story
All about User story
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Story Cards
Story CardsStory Cards
Story Cards
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User Stories
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User Stories
 
7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptx7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptx
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
User stories writing - Codemotion 2013
User stories writing   - Codemotion 2013User stories writing   - Codemotion 2013
User stories writing - Codemotion 2013
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
BA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshopBA and Beyond 19 - Lynda Girvan - User story workshop
BA and Beyond 19 - Lynda Girvan - User story workshop
 
Agile Scrum - Crafting user stories
Agile Scrum - Crafting user storiesAgile Scrum - Crafting user stories
Agile Scrum - Crafting user stories
 
Agile gathering + guidelines stories
Agile gathering + guidelines storiesAgile gathering + guidelines stories
Agile gathering + guidelines stories
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 

More from Stefano Leli

Agile quackery a brief history of the worst ways to cure everything
Agile quackery   a brief history of the worst ways to cure everythingAgile quackery   a brief history of the worst ways to cure everything
Agile quackery a brief history of the worst ways to cure everythingStefano Leli
 
Agile goes Hollywood - Un approccio empirico alle trasformazioni agili
Agile goes Hollywood - Un approccio empirico alle trasformazioni agiliAgile goes Hollywood - Un approccio empirico alle trasformazioni agili
Agile goes Hollywood - Un approccio empirico alle trasformazioni agiliStefano Leli
 
Succeding with feature teams
Succeding with feature teamsSucceding with feature teams
Succeding with feature teamsStefano Leli
 
User Story Mapping
User Story MappingUser Story Mapping
User Story MappingStefano Leli
 
La tua prima kanban board
La tua prima kanban boardLa tua prima kanban board
La tua prima kanban boardStefano Leli
 
Dinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirementsDinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirementsStefano Leli
 
From Vision To Product
From Vision To ProductFrom Vision To Product
From Vision To ProductStefano Leli
 
Agile retrospective,an example
Agile retrospective,an exampleAgile retrospective,an example
Agile retrospective,an exampleStefano Leli
 
Codice legacy, usciamo dal pantano! @iad11
Codice legacy, usciamo dal pantano! @iad11Codice legacy, usciamo dal pantano! @iad11
Codice legacy, usciamo dal pantano! @iad11Stefano Leli
 
Il project manager e lo sviluppo agile. Separati in casa?
Il project manager e lo sviluppo agile. Separati in casa?Il project manager e lo sviluppo agile. Separati in casa?
Il project manager e lo sviluppo agile. Separati in casa?Stefano Leli
 
Codice legacy, usciamo dal pantano!
Codice legacy, usciamo dal pantano!Codice legacy, usciamo dal pantano!
Codice legacy, usciamo dal pantano!Stefano Leli
 
Manage software dependencies with ioc and aop
Manage software dependencies with ioc and aopManage software dependencies with ioc and aop
Manage software dependencies with ioc and aopStefano Leli
 
Design Pattern In Pratica
Design Pattern In PraticaDesign Pattern In Pratica
Design Pattern In PraticaStefano Leli
 
Workshop Su Refactoring
Workshop Su RefactoringWorkshop Su Refactoring
Workshop Su RefactoringStefano Leli
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliStefano Leli
 

More from Stefano Leli (16)

Agile quackery a brief history of the worst ways to cure everything
Agile quackery   a brief history of the worst ways to cure everythingAgile quackery   a brief history of the worst ways to cure everything
Agile quackery a brief history of the worst ways to cure everything
 
Agile goes Hollywood - Un approccio empirico alle trasformazioni agili
Agile goes Hollywood - Un approccio empirico alle trasformazioni agiliAgile goes Hollywood - Un approccio empirico alle trasformazioni agili
Agile goes Hollywood - Un approccio empirico alle trasformazioni agili
 
Succeding with feature teams
Succeding with feature teamsSucceding with feature teams
Succeding with feature teams
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
La tua prima kanban board
La tua prima kanban boardLa tua prima kanban board
La tua prima kanban board
 
Dinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirementsDinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirements
 
From Vision To Product
From Vision To ProductFrom Vision To Product
From Vision To Product
 
Agile retrospective,an example
Agile retrospective,an exampleAgile retrospective,an example
Agile retrospective,an example
 
Codice legacy, usciamo dal pantano! @iad11
Codice legacy, usciamo dal pantano! @iad11Codice legacy, usciamo dal pantano! @iad11
Codice legacy, usciamo dal pantano! @iad11
 
XP Game
XP GameXP Game
XP Game
 
Il project manager e lo sviluppo agile. Separati in casa?
Il project manager e lo sviluppo agile. Separati in casa?Il project manager e lo sviluppo agile. Separati in casa?
Il project manager e lo sviluppo agile. Separati in casa?
 
Codice legacy, usciamo dal pantano!
Codice legacy, usciamo dal pantano!Codice legacy, usciamo dal pantano!
Codice legacy, usciamo dal pantano!
 
Manage software dependencies with ioc and aop
Manage software dependencies with ioc and aopManage software dependencies with ioc and aop
Manage software dependencies with ioc and aop
 
Design Pattern In Pratica
Design Pattern In PraticaDesign Pattern In Pratica
Design Pattern In Pratica
 
Workshop Su Refactoring
Workshop Su RefactoringWorkshop Su Refactoring
Workshop Su Refactoring
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie Agili
 

User Stories Writing

  • 1.   openware   Stefano  Leli   Fabio  Armani   stefano.leli@gmail.com armani.fabio@gmail.com @sleli @fabioarmani
  • 2. What  is  a  User  Story?  
  • 3. User  Story:  is   •  A  user  story  is  a  very  high-­‐level  defini@on  of  a   requirement,  containing  just  enough   informa@on  so  that  the  developers  can   produce  a  reasonable  es@mate  of  the  effort  to   implement  it.  
  • 4. User  Story   •  Define  a  valuable  user  value  story   •  implement  and  test  it  in  a  short  itera5on   •  demonstrate/and  or  deliver  it  to  the  user   •  capture  feedback   •  learn   •  repeat  forever!  
  • 5. What  a  "User  Story"  is  not  
  • 6. User  Story:  is  not   •  It  is  not  a  use  case  or  a  soIware  requirement,   i.e.  a  formal  and  long  specifica@on  document   •  One  of  the  biggest  misunderstandings  with   user  stories  is  how  they  differ  from  tradi@onal   requirements  specifica@ons  
  • 7.
  • 8. Ini@al  User  Stories  (informal)  
  • 9. Example  User  Stories   Students  can  purchase  monthly  parking  passes  online.   Parking  passes  can  be  paid  via  credit  cards.   Parking  passes  can  be  paid  via  PayPal  ™.   Professors  can  input  student  marks.   Students  can  obtain  their  current  seminar  schedule.   Students  can  order  official  transcripts.   Students  can  only  enroll  in  seminars  for  which  they  have   prerequisites.   Transcripts  will  be  available  online  via  a  standard  browser.  
  • 10.
  • 11. Ini@al  User  Stories  (formal)  
  • 12. As  <type  of  user>,  <func5on>  so  that  I  can   achieve  <some-­‐goal>  
  • 13.
  • 14.
  • 16. 3  C   Card,  conversa@on  &  confirma@on  
  • 18. user  stories  need  to  be  short  and   Card   concise  enough  so  that  they  can  fit  on   a  single  card  
  • 19.
  • 21. Conversa@on   the  conversa@on  is  much  much  more   important  than  the  story  itself  
  • 22.
  • 24. Confirma@on   by  defini@on,  user  stories  must  be   testable    
  • 25.
  • 26. INVEST     in  your  User  Stories  
  • 27. INVEST  in  User  Stories   •  Independent   Avoid  dependencies  with  other  stories   Write  stories  to  establish  founda@on   Combine  stories  if  possible  to  deliver  in  a  single  itera@on   •  Nego+able   Stories  are  not  a  contract   Too  much  detail  up  front  gives  the  impression  that  more  discussion  on  the  story  is   not  necessary   Not  every  story  must  be  nego@able,  constraints  may  exist  that  prevent  it   •  Valuable    Each  story  should  show  value  to  the  Users,  Customers,  and  Stakeholders  
  • 28. INVEST  in  User  Stories   •  Es+mable   Enough  detail  should  be  listed  to  allow  the  team  to  es@mate   The  team  will  encounter  problems  es@ma@ng  if  the  story  is  too  big,  if  insufficient   informa@on  is  provided,  or  if  there  is  a  lack  of  domain  knowledge   •  Sized  Appropriately   Each  story  should  be  small  enough  to  be  completed  in  a  single  itera@on   Stories  that  may  be  worked  on  in  the  near  future  should  be  smaller  and  more   detailed   Larger  stories  are  acceptable  if  planned  further  out  (Epics)   •  Testable   Acceptance  criteria  should  be  stated  in  customer  terms   Tests  should  be  automated  whenever  possible   All  team  members  should  demand  clear  acceptance  criteria  
  • 31. Epics   •  Epics  are  large  user  stories,  typically  ones   which  are  too  big  to  implement  in  a  single   itera@on  and  therefore  they  need  to  be   disaggregated  into  smaller  user  stories  at   some  point.      
  • 33. Themes   •  A  theme  is  a  collec@on  of  related  user  stories.     •  For  example,  for  a  university  registra@on   system  there  might  be  themes  around   students,  course  management,  transcript   genera@on,  grade  administra@on,  financial   processing.   •  Themes  are  oIen  used  to  organize  stories  into   releases  or  to  organize  them  so  that  various   sub-­‐teams  can  work  on  them.  
  • 34.
  • 35.
  • 36.
  • 37. Kano  Model   According  to  Kano,  there  are  3  classes  of  features:   •  Prerequisites  -­‐  If  your  product  doesn’t  have  these   features,  it  will  immediately  be  removed  from   considera@on.  Who  wants  a  house  without  a   bathroom?   •  Linear  Features  -­‐  The  more  the  be]er,  but  their  higher   the  cost.  A  family  that  wants  three  bedrooms  will  not   consider  a  house  with  one,  but  they  might  consider  a   house  with  2  or  4  bedrooms.   •  Exciters  -­‐  Unique  features  which  only  this  product  has   and  which  convince  the  customer  to  say  “Yes!  I  want   it!  This  one  and  no  other”  
  • 38.
  • 39.
  • 40.
  • 41. CMS  1.0   (Hands-­‐On)        
  • 42.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. CMS  1.1   (Hands-­‐On)        
  • 51.
  • 53. Benefits   •  XP  and  other  agile  methodologies  favor  face-­‐ to-­‐face  communica@on  over  comprehensive   documenta@on  and  quick  adapta@on  to   change  instead  of  fixa@on  on  the  problem.  
  • 54. User  stories  achieve  this  by:   •  Being  very  short.  They  represent  small  chunks  of  business  value  that  can   be  implemented  in  a  period  of  days  to  weeks.   •  Allowing  developer  and  the  client  representa@ve  to  discuss  requirements   throughout  the  project  life@me   •  Needing  very  li]le  maintenance   •  Only  being  considered  at  the  @me  of  use   •  Maintaining  a  close  customer  contact   •  Allowing  projects  to  be  broken  into  small  increments   •  Being  suited  to  projects  where  the  requirements  are  vola@le  or  poorly   understood.  Itera@ons  of  discovery  drive  the  refinement  process.   •  Making  it  easier  to  es@mate  development  effort  
  • 56. Limita@ons   Some  of  the  limita@ons  of  user  stories  in  agile   methodologies:   •  They  can  be  difficult  to  scale  to  large  projects   •  They  are  regarded  as  conversa@on  starters  
  • 57.   openware   Stefano  Leli   Fabio  Armani   stefano.leli@gmail.com armani.fabio@gmail.com @sleli @fabioarmani