Agile Software-Requirements: User Stories und (Vieles) mehr Handout-Version Dr. Andreas Birk, Software.Process.Management 8. Oktober 2012, GI/GChACM Regionalgruppe Stuttgart/Böblingen
Gestatten Dr. Andreas Birk http://www.swpm.de Testmanagement Produktmanagement Requirements-Tools Requirements-Management Agile Entwicklung Variantenreiche Systeme 2
Agile Software-Entwicklung 3
Agile Software-Entwicklung Lean Scrum Agile Entwicklung XP Extreme Programming 4
Scrum Daily Scrum Meeting Sprint 1-4 Weeks Product Backlog Sprint Backlog Potentially Shipable Product Increment Collect Input & Requirements Sprint Planning Meeting Agile Iteration Cycle (Sprint) Acceptance & Delivery 5
Scrum Guide Der gültige Leitfaden für Scrum: Die Spielregeln Entwickelt und kontinuierlich verbessert von Ken Schwaber und Jeff Sutherland Inhaltsverzeichnis Juli2011 J. Sutherland und K. Schwaber, Scrum Guide. http://www.scrum.org/scrum-guides. 6
Requirements in der agilen Entwicklung Rollen & Zuständigkeiten User Stories etc. Agile Dokumentation Tests & Testfälle Kommunikation & Feedback 7
Agile Alliance, Guide to Agile Practices, 2011. [Online]. Available: http://guide.agilealliance.org/ 8
Agile Requirements-Praktiken Agile Prac+ce Agile "Tribe" Rela+on to Requirements Engineering Backlog Scrum User Story Applica5on & Use Defini5on of Ready Scrum User Story Defini5on Backlog Grooming Scrum; Product Management User Story Applica5on & Use Personas Product Management Represent Requirements Story Mapping Product Management User Story Applica5on & Use Story SpliBng Product Management User Story Defini5on User Stories Product Management Represent Requirements 3 C's Product Management User Story Applica5on & Use INVEST Product Management User Story Defini5on Role- Feature- Reason Tes5ng User Story Defini5on Given- When- Then Tes5ng User Story Defini5on Behaviour Driven Development Tes5ng User Story Applica5on & Use Acceptance Test Driven Development Tes5ng User Story Applica5on & Use Acceptance Tests Tes5ng User Story Refinement; User Story Applica5on & Use 9
User Stories... 10
User Story Example rebook past trip As a frequent flyer I want to rebook a past trip, so that I save time booking trips I take Source: Mike Cohn: http://blog.mountaingoatsoftware.com/advantages-of-the-as-a-user-i-want-user-story-template 11
User Story Template A standardized form to write user stories ensures certain quality characteristics: <Title> As a <user> I want <functionality> So that <business value> Source: Mike Cohn: http://blog.mountaingoatsoftware.com/advantages-of-the-as-a-user-i-want-user-story-template 12
INVEST User Stories shall be: Independent Negotiable Valuable Estimable Small Testable 13
... and beyond User Stories... 14
Requirements: Nach Gebrauch wegwerfen After the end of an iteration: Throw away the requirements. Anregung von Ken Schwaber in einer Diskussion beim Scrum Day 2012 15
Backlog befüllen in der kontinuierlichen Produktentwicklung 16
http://www.uservoice.com/blog/founders/trello-google-docs-product-management/ 17
Software-Entwicklung im Großen: Agiles RE skalieren 18
Source: Dean Leffingwell. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2010. 19
Artefakte Begleitende Artefakte Ergebnisartefakte Portfolio Level Epics Investment Themes Portfolio Vision Architectural Runway Program Level Vision Features Roadmap Systems, Applications, Products Releases Potentially Shippable Increments (PSI) Release Themes, Release Objectives Team Level User Stories Tasks Features, Components Potentially Shippable Increments (PSI) Aspekte des Frameworks Agile Software Requirements von Dean Leffingwell 20
Beteiligte & Zuständigkeiten Backlog-Strukturen Portfolio Level Portfolio Management Investment Themes Portfolio Backlog Portfolio Vision Architectural Runway Program Level Product Management Release Management System Team Roadmap Program Backlog Release Planning Team Backlog Team Level Agile Team Agile Team Several Agile Teams Aspekte des Frameworks Agile Software Requirements von Dean Leffingwell Also denoted Project Backlog or Product Backlog Team Backlog Team Backlog 21
Agile Tool-Unterstützung: Kann man mit vollem Werkzeugkoffer sprinten? 22
8. Oktober 2012 Copyright 2012, Software.Process.Management Dr. Andreas Birk 23
http://www.atlassian.com/de/software/greenhopper/overview/screenshot-tour 24
Literatur Zentrale Literatur zu agilen Requirements M. Cohn, User Stories Applied: For Agile Software Development. Addison-Wesley Longman, Amsterdam, 2004. D. Leffingwell, Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise, 1. Aufl. Addison Wesley, 2010. G. Adzic, Specification by Example: How Successful Teams Deliver the Right Software. Manning, 2011. Ergänzende Literatur aus dem Themenumfeld der agilen Requirements R. Pichler, Agile Product Management with Scrum: Creating Products That Customers Love, 1. Aufl. Addison-Wesley Longman, Amsterdam, 2010. S. Ambler, Agile Modeling for extreme Prog. w/ws: Effective Practices for EXtreme Programming and the Unified Process, 1. Aufl. John Wiley & Sons, 2002. A. Rüping, Agile Documentation: A Pattern Guide to Producing Lightweight Documents for Software Projects, 1. Aufl. John Wiley & Sons, 2003. E. J. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Longman, Amsterdam, 2003. 25
Vielen Dank! Dr. Andreas Birk Software.Process.Management andreas.birk@swpm.de http://www.swpm.de Blog & Resources http://makingofsoftware.com Xing, LinkedIn, Google+ 26
Bildnachweis Folie 2 Andreas Birk Folie 7 istock Photo 000004145220 Folie 7 Microsoft Clip Art MP900430490 Folie 7 Microsoft Clip Art MC900082285 Folie 23 Creative Commons, levelten_colin, task-board 004, CC BY-SA 2.0 http://www.flickr.com/photos/levelten/4188756530/ Folie 26 Andreas Birk 27