user stories writing - bettersoftware 2012

57
Stefano Leli @sleli [email protected] Fabio Armani @fabioarmani [email protected] openware

Upload: fabio-armani

Post on 08-May-2015

627 views

Category:

Technology


0 download

DESCRIPTION

These are the slides of the workshop on "User Story Writing" I held with Stefano Leli @Bettersoftware 2012.

TRANSCRIPT

Page 1: User Stories writing - Bettersoftware 2012

 

Stefano  Leli  

@sleli [email protected]

Fabio  Armani  

@fabioarmani [email protected]

openware  

Page 2: User Stories writing - Bettersoftware 2012

What  is  a  User  Story?  

Page 3: User Stories writing - Bettersoftware 2012

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.  

Page 4: User Stories writing - Bettersoftware 2012

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!  

Page 5: User Stories writing - Bettersoftware 2012

What  a  "User  Story"  is  not  

Page 6: User Stories writing - Bettersoftware 2012

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  

Page 7: User Stories writing - Bettersoftware 2012
Page 8: User Stories writing - Bettersoftware 2012

Ini@al  User  Stories  (informal)  

Page 9: User Stories writing - Bettersoftware 2012

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.  

Page 10: User Stories writing - Bettersoftware 2012

Students can purchase monthly

parking passes online

#52

Priority: 8 Estimate: 4

Page 11: User Stories writing - Bettersoftware 2012

Ini@al  User  Stories  (formal)  

Page 12: User Stories writing - Bettersoftware 2012

As  <type  of  user>,  <func5on>  so  that  I  can  achieve  <some-­‐goal>  

Page 13: User Stories writing - Bettersoftware 2012

Purchase Monthly Parking Pass As a student I want to purchase an online monthly parking pass so that I can drive to school.

#52

Priority: Must Estimate: 5

Page 14: User Stories writing - Bettersoftware 2012
Page 15: User Stories writing - Bettersoftware 2012

3  C  

Page 16: User Stories writing - Bettersoftware 2012

3  C  Card,  conversa@on  &  confirma@on  

Page 17: User Stories writing - Bettersoftware 2012

Card  

Page 18: User Stories writing - Bettersoftware 2012

Card  user  stories  need  to  be  short  and  concise  enough  so  that  they  can  fit  on  

a  single  card  

Page 19: User Stories writing - Bettersoftware 2012
Page 20: User Stories writing - Bettersoftware 2012

Conversa@on  

Page 21: User Stories writing - Bettersoftware 2012

Conversa@on  the  conversa@on  is  much  much  more  important  than  the  story  itself  

Page 22: User Stories writing - Bettersoftware 2012
Page 23: User Stories writing - Bettersoftware 2012

Confirma@on  

Page 24: User Stories writing - Bettersoftware 2012

Confirma@on  by  defini@on,  user  stories  must  be  testable    

Page 25: User Stories writing - Bettersoftware 2012
Page 26: User Stories writing - Bettersoftware 2012

INVEST    in  your  User  Stories  

Page 27: User Stories writing - Bettersoftware 2012

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  

Page 28: User Stories writing - Bettersoftware 2012

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  

Page 29: User Stories writing - Bettersoftware 2012

User  Stories  (planning)  

Page 30: User Stories writing - Bettersoftware 2012

Epics  

Page 31: User Stories writing - Bettersoftware 2012

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.    

 

Page 32: User Stories writing - Bettersoftware 2012

Themes  

Page 33: User Stories writing - Bettersoftware 2012

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.  

Page 34: User Stories writing - Bettersoftware 2012
Page 35: User Stories writing - Bettersoftware 2012
Page 36: User Stories writing - Bettersoftware 2012
Page 37: User Stories writing - Bettersoftware 2012

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”  

Page 38: User Stories writing - Bettersoftware 2012
Page 39: User Stories writing - Bettersoftware 2012
Page 40: User Stories writing - Bettersoftware 2012
Page 41: User Stories writing - Bettersoftware 2012

CMS  1.0  (Hands-­‐On)  

 

 

 

Page 42: User Stories writing - Bettersoftware 2012
Page 43: User Stories writing - Bettersoftware 2012

User  Story  (spligng)  

Page 44: User Stories writing - Bettersoftware 2012
Page 45: User Stories writing - Bettersoftware 2012
Page 46: User Stories writing - Bettersoftware 2012
Page 47: User Stories writing - Bettersoftware 2012
Page 48: User Stories writing - Bettersoftware 2012
Page 49: User Stories writing - Bettersoftware 2012
Page 50: User Stories writing - Bettersoftware 2012

CMS  1.1  (Hands-­‐On)  

 

 

 

Page 51: User Stories writing - Bettersoftware 2012
Page 52: User Stories writing - Bettersoftware 2012

Benefits  

Page 53: User Stories writing - Bettersoftware 2012

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.  

Page 54: User Stories writing - Bettersoftware 2012

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  

Page 55: User Stories writing - Bettersoftware 2012

Limita@ons  

Page 56: User Stories writing - Bettersoftware 2012

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  

Page 57: User Stories writing - Bettersoftware 2012

Stefano  Leli  

@sleli [email protected]

Fabio  Armani  

@fabioarmani [email protected]

 openware