Successfully reported this slideshow.

An introduction to smart use cases

6,169 views

Published on

This brief presentation will give you an introduction to smart use cases, and why they are so useful in software development projects.

Published in: Technology

An introduction to smart use cases

  1. 1. SMART USE CASESSander Hoogendoorn | Principal Technology Officer | Capgeminiwww.smartusecase.com| www.sanderhoogendoorn.com@aahoogendoorn
  2. 2. USE CASES A (smart) use case is A description of a system’s behavior as it responds to a request that originates from outside of that system. In other words, a use case describes who can do what with the system in question. INTRODUCTION TO AGILE 2 ©2011 Capgemini. All Rights Reserved
  3. 3. Difficult to describe,TOO OFTEN … HUGE CASES hard to build, impossible to test INTRODUCTION TO AGILE 3 ©2011 Capgemini. All Rights Reserved
  4. 4. DIFFERENT LEVELS OF USE CASES Merge companies Cloud level High summary Merge mortgage systems Kite level Summary Place order Sea level User goal Fish level Sub-function Select product Clam level Too low Insert orderline INTRODUCTION TO AGILE 4 ©2011 Capgemini. All Rights Reserved
  5. 5. MODELING SMART USE CASES Fish level Sea level INTRODUCTION TO AGILE 5 ©2011 Capgemini. All Rights Reserved
  6. 6. SO SMART USE CASES ARE VERY GOODFOR MODELING AND DESCRIBING REQUIREMENTS BUT… WHAT MAKES THEM REALLY SPECIAL? INTRODUCTION TO AGILE 6 ©2011 Capgemini. All Rights Reserved
  7. 7. SMART USE CASES ARETHE PERFECT TOOL FOR SOFTWARE DEVELOPMENT INTRODUCTION TO AGILE 7 ©2011 Capgemini. All Rights Reserved
  8. 8. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog INTRODUCTION TO AGILE 8 ©2011 Capgemini. All Rights Reserved
  9. 9. AGILE REQUIREMENTS APPROACH Cloud Level Kite Level Sea Level Fish Level B D A Hierarchical E A D D Processes B C F Use Cases SmartProject Hierarchical C Use CasesScope Processes D Chronological Processes INTRODUCTION TO AGILE 9 ©2011 Capgemini. All Rights Reserved
  10. 10. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog • Are the main unit of work in the agile process Smart INTRODUCTION TO AGILE 10 ©2011 Capgemini. All Rights Reserved
  11. 11. SMART Create Stabilize project software proposalPropose Scope Realize Realize Realize Realize Finalize Manage Write Deliver Maintain project working software plan software INTRODUCTION TO AGILE 11 ©2011 Capgemini. All Rights Reserved
  12. 12. SMART What smart use cases will we deliver? Define done Are we up to speed? Is our process optimal? Are the smart use cases done?Propose Scope Realize Realize Realize Realize Finalize Manage Deliver smart use cases using product cycle Visualise progress INTRODUCTION TO AGILE 12 ©2011 Capgemini. All Rights Reserved
  13. 13. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog • Provide the unit of work in the agile process Smart • Facilitate a life cycle that supports daily work in projects INTRODUCTION TO AGILE 13 ©2011 Capgemini. All Rights Reserved
  14. 14. SMART USE CASE LIFE CYCLE Define Accept work on use case use case Describe Adjust use case use case Run Write test cases test cases Generate and build use case INTRODUCTION TO AGILE 14 ©2011 Capgemini. All Rights Reserved
  15. 15. SMART USE CASE LIFE CYCLE INTRODUCTION TO AGILE 15 ©2011 Capgemini. All Rights Reserved
  16. 16. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog • Provide the unit of work in the agile process Smart • Facilitate a life cycle that supports daily work in projects • Support easy, reliable and repeatable software estimation INTRODUCTION TO AGILE 16 ©2011 Capgemini. All Rights Reserved
  17. 17. ESTIMATING SMART USE CASESEstimating smart use cases with the customer and the whole team INTRODUCTION TO AGILE 17 ©2011 Capgemini. All Rights Reserved
  18. 18. SMART ESTIMATION POKER INTRODUCTION TO AGILE 18 ©2011 Capgemini. All Rights Reserved
  19. 19. SMART USE CASE STEREOTYPES INTRODUCTION TO AGILE 19 ©2011 Capgemini. All Rights Reserved
  20. 20. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog • Provide the unit of work in the agile process Smart • Facilitate a life cycle that supports daily work in projects • Support easy, reliable and repeatable software estimation • Allow for online dashboarding INTRODUCTION TO AGILE 20 ©2011 Capgemini. All Rights Reserved
  21. 21. MAKING COMMUNICATION EASY INTRODUCTION TO AGILE 21 ©2011 Capgemini. All Rights Reserved
  22. 22. PROGRESS BASED ON SMART USE CASES 500 400 300 200 100 0 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #13 #15 18 nov 16 dec 12 jan 9 feb 9 maa 6 apr 4 mei 1 jun 29 jun 27 jul 24 aug 21 sep 19 oktTotale scope 300 397 397 434 441 439 503 516 481 473 516 523 488 504 501Geaccepteerd 0 0 0 12 25 107 144 187 222 311 358 392 382 393 428 INTRODUCTION TO AGILE 22 ©2011 Capgemini. All Rights Reserved
  23. 23. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog • Provide the unit of work in the agile process Smart • Facilitate a life cycle that supports daily work in projects • Support easy, reliable and repeatable software estimation • Allow for online dashboarding • Generate code from smart use cases INTRODUCTION TO AGILE 23 ©2011 Capgemini. All Rights Reserved
  24. 24. User interface Software Architecture specification 5. Finalize your 1. Map your business application Existing processes to smartApplications use cases Smart use cases Forms Use cases 4. Generate your code using a text Tobago template engine MDA FrameworksSpecifications Domain Domain Model objects Data / Service Business classes models 2. Set up your domain model Test 3. Establish scenario’s your software Databases architecture(s) INTRODUCTION TO AGILE 24 ©2011 Capgemini. All Rights Reserved
  25. 25. A SIMPLE SMART USE CASE MODEL uc Manage Customer «search» Select Customer «incl ude» «master detail» Manage Customer Site Administrator (from A ctors) «extend» «define» Define Contact INTRODUCTION TO AGILE 25 ©2011 Capgemini. All Rights Reserved
  26. 26. GENERATED CODE IN ASP.NET INTRODUCTION TO AGILE 26 ©2011 Capgemini. All Rights Reserved
  27. 27. SMART USE CASES • Perfectly fit an agile requirements approach, determining the project backlog • Provide the unit of work in the agile process Smart • Facilitate a life cycle that supports daily work in projects • Support easy, reliable and repeatable software estimation • Allow for online dashboarding • Generate code from smart use cases • Provide structured agile test techniques and tools INTRODUCTION TO AGILE 27 ©2011 Capgemini. All Rights Reserved
  28. 28. Acceptance testingTESTING SMART USE CASES Domain expert in project team accepts Developer testing Developer checks Approval other developers work End user signs for final approval Testing Tester performs functional tests INTRODUCTION TO AGILE 28 ©2011 Capgemini. All Rights Reserved
  29. 29. PAIR TESTING SMART USE CASES INTRODUCTION TO AGILE 29 ©2011 Capgemini. All Rights Reserved
  30. 30. UNIT TESTING SMART USE CASES Automated regression testing on smart use cases INTRODUCTION TO AGILE 30 ©2011 Capgemini. All Rights Reserved
  31. 31. WWW.SMARTUSECASE.COMwww.accelerateddeliveryplatform.com
  32. 32. ACCELERATED DELIVERY PLATFORM Process Agile Smart Smart Agile Unified Lifecycle Use Cases Estimation Dashboards Testing Technology People Reference Model driven Open Coaching Frameworks Architectures development Community Learning INTRODUCTION TO AGILE 32 ©2011 Capgemini. All Rights Reserved
  33. 33. ACCELERATED DELIVERY PLATFORM - SOME REFERENCES ADP Based Smart & (Capgemini) Projects Coaching & Learning Software Factories Smart Use Cases INTRODUCTION TO AGILE 33 ©2011 Capgemini. All Rights Reserved
  34. 34. REFERENCES AND QUESTIONSwww.smartusecase.com | www.accelerateddeliveryplatform.com

×