Agile requirements - alla ricerca del filo rosso (iad 2013)

124
1

description

requisiti rappresentano, a mio avviso, il ‘fil rouge’ di tutto lo sviluppo software, sia che si tratti di applicazioni web o mobile, sia che siano coinvolti grandi sistemi Enterprise. Cerchiamo di capire perché. Possiamo affermare che Lean Agile sta di fatto divenendo uno delle metodologie più adottate (se non il main-stream stesso) in ambito informatico e conseguentemente anche in ambiti connessi con l’informatica. Nel mio talk (che spero possa trasformarsi in una tavola rotonda sul tema degli agile requirements e di ciò che ruota attorno ad essi) desidero presentare le varie possibilità di gestire i requisiti in modo agile e di seguire ad esempio il percorso delle “user story” (uno dei più efficaci metodi inventati in ambito agile o meglio nella metodologia eXtreme Programming per gestire i requisiti) in tutte le diverse fasi della loro ‘vita’ : a partire da ‘theme’, ‘epic’ e poi ‘story’ realizzata durante una determinata iterazione, fino al loro testing mediante Acceptance Test Driven Development e convalida business sul campo con gli utenti finali e i diversi stakeholder. Bene… per poter effettuare questo affascinante itinerario cosa e chi viene coinvolto? Scopriremo assieme (ed argomenteremo le diverse soluzioni) che un’intera organizzazione Enterprise si dovrà plasmare per consentire ad una storia di divenire parte di una nuova funzionalità di successo. Per avere realmente successo dovremmo scomodare molte metodologie tra le quali Lean , Agile, Lean StartUp, Lean UX e questo ci porterà nuovamente al punto di partenza. Perché vogliamo realizzare proprio questa storia? Quale era il requisito da cui siamo partiti. A quale Vision ci siamo ispirati? Sono certo che il tema è affascinante e sarà interessante affrontarlo collettivamente, specialmente se trattato in ambito di round table.

Transcript of Agile requirements - alla ricerca del filo rosso (iad 2013)

Page 1: Agile requirements - alla ricerca del filo rosso (iad 2013)

1  

Page 2: Agile requirements - alla ricerca del filo rosso (iad 2013)

Agile  Requirements  

Alla  ricerca  del  filo  rosso  

2  

Page 3: Agile requirements - alla ricerca del filo rosso (iad 2013)

3  

Page 4: Agile requirements - alla ricerca del filo rosso (iad 2013)

4  

Page 5: Agile requirements - alla ricerca del filo rosso (iad 2013)

–  CEO di OpenWare

–  Direttore artistico dell’etichetta Different Lands

–  Certified ScrumMaster & Scrum Professional

–  PMI-ACP Certified

–  @fabioarmani

–  www.open-ware.org

Chi sono

5  

Page 6: Agile requirements - alla ricerca del filo rosso (iad 2013)

6  

Page 7: Agile requirements - alla ricerca del filo rosso (iad 2013)

7  

Page 8: Agile requirements - alla ricerca del filo rosso (iad 2013)

COSA  SONO  I  REQUISITI?  Agile  Requirements  

8  

Page 9: Agile requirements - alla ricerca del filo rosso (iad 2013)

9  

Page 10: Agile requirements - alla ricerca del filo rosso (iad 2013)

10  

Page 11: Agile requirements - alla ricerca del filo rosso (iad 2013)

11  

Page 12: Agile requirements - alla ricerca del filo rosso (iad 2013)

12  

Page 13: Agile requirements - alla ricerca del filo rosso (iad 2013)

Star Trike 13  

Page 14: Agile requirements - alla ricerca del filo rosso (iad 2013)

Moto RV 14  

Page 15: Agile requirements - alla ricerca del filo rosso (iad 2013)

15  

Page 16: Agile requirements - alla ricerca del filo rosso (iad 2013)

16  

Page 17: Agile requirements - alla ricerca del filo rosso (iad 2013)

So?ware  requirements  

Features  

Needs  

Problem  space  

SoluFon  space  

17  

Page 18: Agile requirements - alla ricerca del filo rosso (iad 2013)

Fred  Brook’s  “The  most  difficult  part  of  building  a  so7ware  system  is  to  decide,  precisely,  what  must  be  

built.  No  other  part  of  the  work  can  undermine  so  badly  the  resul>ng  so7ware  if  not  done  

correctly.  No  other  part  is  so  difficult  to  fix  later.”    

18  

Page 19: Agile requirements - alla ricerca del filo rosso (iad 2013)

Fred  Brook’s  “The  most  difficult  part  of  building  a  so7ware  system  is  to  decide,  precisely,  what  must  be  

built.  No  other  part  of  the  work  can  undermine  so  badly  the  resul>ng  so7ware  if  not  done  

correctly.  No  other  part  is  so  difficult  to  fix  later.”    

19  

Page 20: Agile requirements - alla ricerca del filo rosso (iad 2013)

RequisiF  so?ware  

•  Stabilire  cosa  richiede  il  cliente  ad  un  sistema  so?ware    

•  (Non  stabilire  come  il  sistema  verrà  costruito)    

20  

Page 21: Agile requirements - alla ricerca del filo rosso (iad 2013)

RequisiF  so?ware  

•  (so?ware  requirements):  descrizione  dei  servizi  che  un  sistema  so?ware  deve  fornire,  insieme  ai  vincoli  da  rispeTare  sia  in  fase  di  sviluppo  che  durante  la  fase  di  operaFvita  del  so?ware    

21  

Page 22: Agile requirements - alla ricerca del filo rosso (iad 2013)

22  

Page 23: Agile requirements - alla ricerca del filo rosso (iad 2013)

23  

Page 24: Agile requirements - alla ricerca del filo rosso (iad 2013)

24  

Page 25: Agile requirements - alla ricerca del filo rosso (iad 2013)

PERCHÉ  SONO  NECESSARI  I  REQUISITI?  

Agile  Requirements  

25  

Page 26: Agile requirements - alla ricerca del filo rosso (iad 2013)

•  Ci  sono  due  principali  finalità  del  processo  di  requisiF,  a  prescindere  se  si  uFlizza  un  approccio  tradizionale  o  uno  agile  per  le  metodologie  di  sviluppo.  

26  

Page 27: Agile requirements - alla ricerca del filo rosso (iad 2013)

waterfall  27  

Page 28: Agile requirements - alla ricerca del filo rosso (iad 2013)

agile  28  

Page 29: Agile requirements - alla ricerca del filo rosso (iad 2013)

•  Il  primo  rappresenta  un  ponte  tra  il  problema  di  mercato  da  risolvere  e  la  soluzione  immaginata.  

29  

Page 30: Agile requirements - alla ricerca del filo rosso (iad 2013)

30  

Page 31: Agile requirements - alla ricerca del filo rosso (iad 2013)

31  

Page 32: Agile requirements - alla ricerca del filo rosso (iad 2013)

•  Anche  se  il  problema  di  base  rimane  lo  stesso,  molte  soluzioni  possono  esistere  ed  i  requisiF  si  andranno  a  collegare  ad  una  tra  queste  possibili  soluzioni.    

32  

Page 33: Agile requirements - alla ricerca del filo rosso (iad 2013)

33  

Page 34: Agile requirements - alla ricerca del filo rosso (iad 2013)

•  Il  secondo  scopo  del  processo  dei  requisiF  è  la  Comunicazione.  

34  

Page 35: Agile requirements - alla ricerca del filo rosso (iad 2013)

35  

Page 36: Agile requirements - alla ricerca del filo rosso (iad 2013)

36  

Page 37: Agile requirements - alla ricerca del filo rosso (iad 2013)

37  

Page 38: Agile requirements - alla ricerca del filo rosso (iad 2013)

38  

Page 39: Agile requirements - alla ricerca del filo rosso (iad 2013)

39  

Page 40: Agile requirements - alla ricerca del filo rosso (iad 2013)

AG

ILE

40  

Page 41: Agile requirements - alla ricerca del filo rosso (iad 2013)

41  

Page 42: Agile requirements - alla ricerca del filo rosso (iad 2013)

42  

Page 43: Agile requirements - alla ricerca del filo rosso (iad 2013)

43  

Page 44: Agile requirements - alla ricerca del filo rosso (iad 2013)

44  

Page 45: Agile requirements - alla ricerca del filo rosso (iad 2013)

45  

Page 46: Agile requirements - alla ricerca del filo rosso (iad 2013)

Guardando da 10000 metri

46  

Page 47: Agile requirements - alla ricerca del filo rosso (iad 2013)

Vision  

Roadmap  

Release  

IteraFon  

Day  

5 livelli della pianificazione agile

47  

Page 48: Agile requirements - alla ricerca del filo rosso (iad 2013)

•  Lo stesso processo agile agisce (come un frattale) a differenti scale temporali, differenti time-box e livelli di pianificazione.

Stesso processo @ tutti I livelli

48  

Page 49: Agile requirements - alla ricerca del filo rosso (iad 2013)

OGGETTI  COINVOLTI  Agile  Requirements  

49  

Page 50: Agile requirements - alla ricerca del filo rosso (iad 2013)

Strategic  

Tac>c  

Theme  

IniFaFve   IniFaFve  

Feature   Feature  Feature  

Epic   Epic   Epic  

T T T T T T T T T T TT T

Story  Story  Story  Story  Story  Story  

Story  Story  Story  Story  Story  Story  

50  

Page 51: Agile requirements - alla ricerca del filo rosso (iad 2013)

Product  Backlog  

51  

Page 52: Agile requirements - alla ricerca del filo rosso (iad 2013)

Product  Backlog  

Passare  dalla  documentazione  alla  discussione  

52  

Page 53: Agile requirements - alla ricerca del filo rosso (iad 2013)

Product  Backlog  

53  

Page 54: Agile requirements - alla ricerca del filo rosso (iad 2013)

Vision  » Backlog  

•  Come  possiamo  passare  dalla  Vision  al  Product  Backlog?  

•  Ad  esempio  uFlizzando  una  serie  di  canvas  così  come  proposto  da  Roman  Pichler  

54  

Page 55: Agile requirements - alla ricerca del filo rosso (iad 2013)

55  

Page 56: Agile requirements - alla ricerca del filo rosso (iad 2013)

56  

Page 57: Agile requirements - alla ricerca del filo rosso (iad 2013)

57  

Page 58: Agile requirements - alla ricerca del filo rosso (iad 2013)

58  

Page 59: Agile requirements - alla ricerca del filo rosso (iad 2013)

59  

Page 60: Agile requirements - alla ricerca del filo rosso (iad 2013)

Product  Backlog  

•  Ecco  alcune  cose  da  tenere  presenF  riguardo  il  product  backlog:    –  I  requisiF  sono  emergenF  –  Il  product  backlog  richiede  “grooming”  –  ovvero  un  conFnuo  raffinamento  dei  suoi  requisiF  

–  Il  Product  Backlog  può  essere  visto  come  un  iceberg  

60  

Page 61: Agile requirements - alla ricerca del filo rosso (iad 2013)

Epic   Epic   Epic  

Story  Story  Story  Story  Story  Story  

Story  

Story  

61  

Page 62: Agile requirements - alla ricerca del filo rosso (iad 2013)

62  

Page 63: Agile requirements - alla ricerca del filo rosso (iad 2013)

Product  Backlog  

•  Il  Product  Backlog  deve  essere  DEEP  (acronimo  suggerito  da  Mike  Cohn).  

•  Detailed  Appropriately  •  EsFmated  •  Emergent  •  PrioriFzed  

63  

Page 64: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  item  

•  Dai  requisiF  ai  backlog  item  

Backlog  Item  Requirement  1…*                                1…*  

64  

Page 65: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  item  

•  Il  Product  Backlog  può  contenere  molteplici  Fpologie  di  elemenF  (genericamente  chiamaF  Backlog  item):  – Feature  – Epic  – Story  (user  story,  tech  story)  – Bug  – …  

65  

Page 66: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  Requirement  1…*                                1…*  

Backlog  item  

66  

Page 67: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  

Epic   Story  Feature  

Is  one  of  

Realized  by   Realized  by  0,1                1…*  0,1                    1…*  

Requirement  1…*                                1…*  

Backlog  item  

67  

Page 68: Agile requirements - alla ricerca del filo rosso (iad 2013)

Cos’è una”Feature”

68  

Page 69: Agile requirements - alla ricerca del filo rosso (iad 2013)

69  

Page 70: Agile requirements - alla ricerca del filo rosso (iad 2013)

Feature  

•  Indipendentemente  dalla  forma,  il  contenuto  primario  della  Vision  è  un  insieme  di  feature  che  descrivono  quali  nuove  funzionalità  il  sistema  dovrà  fare  per  i  propri  utenF  e  quali  benefici  quesF  ulFmi  ne  trarranno.  

Leffingwell  [2012]  

70  

Page 71: Agile requirements - alla ricerca del filo rosso (iad 2013)

71  

Page 72: Agile requirements - alla ricerca del filo rosso (iad 2013)

Feature  

•  Una  feature  è  un  servizio  fornito  da  un  prodoTo  per  soddisfare  uno  o  piu  bisogni  del  cliente.  

72  

Page 73: Agile requirements - alla ricerca del filo rosso (iad 2013)

Feature  

•  Per  esempio:  "Il  sistema  offre  un  database  relazionale  per  ges>re  i  da>  persisten>”    

73  

Page 74: Agile requirements - alla ricerca del filo rosso (iad 2013)

Feature  » CaraTerisFche  

•  Una  feature  è  un  elemento  valido  a  livello  di  strategia  e  cosFtuisce  un  elemento  del  Program  Backlog  

•  Inoltre  può  essere  considerato  un  elemento  di  transizione  tra  il  layer  strategico  e  quello  tajco  (di  esecuzione)  

74  

Page 75: Agile requirements - alla ricerca del filo rosso (iad 2013)

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

75  

Page 76: Agile requirements - alla ricerca del filo rosso (iad 2013)

Program  Backlog  Feature  grain  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

76  

Page 77: Agile requirements - alla ricerca del filo rosso (iad 2013)

Program  Backlog  Feature  grain  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

77  

Page 78: Agile requirements - alla ricerca del filo rosso (iad 2013)

Feature   Story  Realized  by  

0,1                                1…*  

78  

Page 79: Agile requirements - alla ricerca del filo rosso (iad 2013)

79  

Page 80: Agile requirements - alla ricerca del filo rosso (iad 2013)

80  

Page 81: Agile requirements - alla ricerca del filo rosso (iad 2013)

81  

Page 82: Agile requirements - alla ricerca del filo rosso (iad 2013)

82  

Page 83: Agile requirements - alla ricerca del filo rosso (iad 2013)

83  

Page 84: Agile requirements - alla ricerca del filo rosso (iad 2013)

Una User Story dovrebbe tagliare tutti i livelli dell'architettura  

84  

Page 85: Agile requirements - alla ricerca del filo rosso (iad 2013)

85  

Page 86: Agile requirements - alla ricerca del filo rosso (iad 2013)

86  

Page 87: Agile requirements - alla ricerca del filo rosso (iad 2013)

87  

Page 88: Agile requirements - alla ricerca del filo rosso (iad 2013)

Acceptance  Tests  

•  Le  feature  come  le  user  story,  richiedono  acceptance  test  

•  Ogni  feature  richiede  uno  o  più  acceptance  test,  e  non  può  essere  considerata  done  finché  tuj  i  suoi  test  non  passano  

88  

Page 89: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  

Feature   Story  

Feature  Acceptance  Test  

Is  one  of  

Realized  by  

Done  when  passes  

0,1                                1..*  

Story  Acceptance  Test  

1  

1..*  

1  

1..*  

89  

Page 90: Agile requirements - alla ricerca del filo rosso (iad 2013)

90  

Page 91: Agile requirements - alla ricerca del filo rosso (iad 2013)

Story  

91  

Page 92: Agile requirements - alla ricerca del filo rosso (iad 2013)

Story   Task  Implemented  by  

0,1                        1…*  

92  

Page 93: Agile requirements - alla ricerca del filo rosso (iad 2013)

93  

Page 94: Agile requirements - alla ricerca del filo rosso (iad 2013)

Story   Task  

Done  when  passes  

0,1                        1…*  

User  Story   Other  work  item  

Story  Acceptance  Test   Unit  Test  

Is  one  of  

94  

Page 95: Agile requirements - alla ricerca del filo rosso (iad 2013)

Story   Task  

Done  when  passes  

0,1                        1…*  

User  Story   Other  work  item  

Story  Acceptance  Test   Unit  Test  

Is  one  of  

95  

Page 96: Agile requirements - alla ricerca del filo rosso (iad 2013)

96  

Page 97: Agile requirements - alla ricerca del filo rosso (iad 2013)

97  

Page 98: Agile requirements - alla ricerca del filo rosso (iad 2013)

Cos’è Test Driven Development?  

98  

Page 99: Agile requirements - alla ricerca del filo rosso (iad 2013)

RED  

GREEN  REFACTOR  

1.  Scrivi  un  test  che  fallisca  

2.  Rendi  il  codice  funzionante  

3.  Elimina  le  ridondanze  

99  

Page 100: Agile requirements - alla ricerca del filo rosso (iad 2013)

•  L'uso  del  Test  Driven  Development  permeTe  non  solo  di  costruire  il  programma  assieme  ad  una  serie  di  test  di  regressione  automaFzzabili,  ma  anche  di  sFmare  in  maniera  più  precisa  lo  stato  d'avanzamento  dello  sviluppo  di  un  progeTo.  

•  E’  una  tecnica  di  design  e  di  coding.  

100  

Page 101: Agile requirements - alla ricerca del filo rosso (iad 2013)

101  

Page 102: Agile requirements - alla ricerca del filo rosso (iad 2013)

102  

Page 103: Agile requirements - alla ricerca del filo rosso (iad 2013)

Acceptance  Test  

103  

Page 104: Agile requirements - alla ricerca del filo rosso (iad 2013)

104  

Page 105: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item   Non-­‐funcFonal  Requirement  

Constrained  by  

0..*                                                                          0..*  

105  

Page 106: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  

Compliant  when  passes  

Non-­‐funcFonal  Requirement  

Constrained  by  

0..*                                                                          0..*  

System  QualiFes  tests  

1..*  

0..*  

106  

Page 107: Agile requirements - alla ricerca del filo rosso (iad 2013)

NonfuncFonal  requirement  

•  I  nonfuncFonal  requirement  possono  essere  visF  come  dei  vincoli  sui  Backlog  

NFR  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

Feature  

NFR  

Story  

Story  

Story  

Story  

Story  

Epic  

Epic  

Epic  

107  

Page 108: Agile requirements - alla ricerca del filo rosso (iad 2013)

FF  

FURPS+  

108  

Page 109: Agile requirements - alla ricerca del filo rosso (iad 2013)

109  

Page 110: Agile requirements - alla ricerca del filo rosso (iad 2013)

110  

Page 111: Agile requirements - alla ricerca del filo rosso (iad 2013)

111  

Page 112: Agile requirements - alla ricerca del filo rosso (iad 2013)

112  

Page 113: Agile requirements - alla ricerca del filo rosso (iad 2013)

113  

Page 114: Agile requirements - alla ricerca del filo rosso (iad 2013)

114  

Page 115: Agile requirements - alla ricerca del filo rosso (iad 2013)

Q2Q1

Q3Q4

Critiques Product�Supp

orts

the T

eam�

Business Facing �

Technology Facing �

Unit Tests!Integration Tests

Functional Tests!Customer Tests!

Story Tests/Examples

User Acceptance Tests!Exploratory Tests!Usability Tests

Performance Tests!Load Tests!‘ility’ Tests

Product Owner�collaboration �

Customer�collaboration �

Developer�collaboration �

IT�collaboration �

115  

Page 116: Agile requirements - alla ricerca del filo rosso (iad 2013)

116  

Page 117: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  

Feature   Story   Task  

Feature  Acceptance  

Test  

Is  one  of  

Realized  by   Implemented  by  

Done  when  passes  

Non-­‐funcFonal  Requirements  

Constrained  by  

0,1                        1…*  0,1                                1…*  

0…*                                                                                      0…*  

System  QualiFes  tests  

User  Story   Other  work  item  

Story  Acceptance  Test   Unit  Test  

Is  one  of  

Requirement  1…*                                1…*  

117  

Page 118: Agile requirements - alla ricerca del filo rosso (iad 2013)

118  

Page 119: Agile requirements - alla ricerca del filo rosso (iad 2013)

–  CEO di OpenWare

–  Direttore artistico dell’etichetta Different Lands

–  Certified ScrumMaster & Scrum Professional

–  PMI-ACP Certified

–  @fabioarmani

–  www.open-ware.org

Chi sono

119  

Page 120: Agile requirements - alla ricerca del filo rosso (iad 2013)

A  suivre  …  ;-­‐)  120  

Page 121: Agile requirements - alla ricerca del filo rosso (iad 2013)

Strategic  

Tac>c  

Theme  

IniFaFve   IniFaFve  

Feature   Feature  Feature  

Epic   Epic   Epic  

T T T T T T T T T T TT T

Story  Story  Story  Story  Story  Story  

Story  Story  Story  Story  Story  Story  

Page 122: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  

Feature   Story   Task  

Acceptance  Test  

Is  one  of  

Realized  by   Implemented  by  

Done  when  passes  

Non-­‐funcFonal  Requirements  

Constrained  by  

0,1                        1…*  0,1                1…*  

0…*                                                    1…*  Requirement  

1…*                                1…*  

Page 123: Agile requirements - alla ricerca del filo rosso (iad 2013)

Backlog  Item  

Feature   Story   Task  IniFat.  

Acceptance  Test  Consumer  Init.   Architecture  Init.  

Is  one  of  

Realized  by   Realized  by   Implemented  by  

Done  when  passes  

Non-­‐funcFonal  Requirements  

Constrained  by  

0,1                        1…*  0,1                1…*  0,1                    1…*  

0…*                                                    1…*  

Strategic  Product  Theme  

Realized  by  1                    1…*  

Requirement  1…*                                1…*  

Page 124: Agile requirements - alla ricerca del filo rosso (iad 2013)

Disclaimer

124