Being Smart at enterprise agile

6,209 views

Published on

Published in: Technology
  • Be the first to comment

Being Smart at enterprise agile

  1. 1. The status of agile at Capgemini in the Netherlands BEING SMART AT ENTERPRISE AGILE
  2. 2. 2BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Capgemini  Principal technology officer  Chief architect Accelerated Delivery Platform (ADP) Other  Author books and articles  Speaker at international conferences  Microsoft Partner Advisory Council .NET  Capping IT Off Blog  Magazine columns  Editorial boards & Advisory boards Web  www.sanderhoogendoorn.com  www.smartusecase.com  Twitter: @aahoogendoorn  LinkedIn: aahoogendoorn SANDER HOOGENDOORN
  3. 3. WHAT DOES BEING AGILE MEAN?
  4. 4. 4BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Collaborate  Different roles, same time (and location) Iterate  Two to four weeks iterations  Plan – Deliver - Evaluate Deliver  Small unit of work – smart use cases  Test early and often  Early and frequent delivery Plan  Plan and measure continuously Simplify communication  Simple dashboards, burn down charts  Pair programming, planning games WHAT DOES BEING AGILE MEAN?
  5. 5. 5BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SCRUM
  6. 6. Where “lightweight” agile isn’t sufficient CHALLENGES IN ENTERPRISE PROJECTS
  7. 7. 7BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Challenges  Many different stakeholders  Many external dependencies (availibility)  Changing requirements  Many different types of deliverables  Complex software architectures Mission impossible  Difficult to estimate  Hard to plan  Tough to build  Impossible to test  Thus: extremely high percentages of project and program failure CHALLENGES IN ENTERPRISE PROJECTS
  8. 8. 8BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved COMPLEX IT LANDSCAPES
  9. 9. 9BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved On implementing enterprise agile LEVERAGING CAPGEMINI EXPERIENCE
  10. 10. 10BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved ACCELERATED DELIVERY PLATFORM Process Agile Lifecycle Smart Use Cases Smart Estimation Agile Dashboards Unified Testing Technology Model driven development Reference Architectures Frameworks People Open Community Coaching Learning
  11. 11. 11BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved “Regular” projects  Java  .NET – Windows, web, Silverlight Enterprise projects  Service oriented architecture (SAP SOA)  Distributed projects (agile co-creation) Other projects  Business intelligence  Re-engineering existing applications  Application management  Release management PROJECT TYPES?
  12. 12. 12BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved ACCELERATED DELIVERY PLATFORM - SOME REFERENCES ADP Based Software Factories Smart & Smart Use Cases (Capgemini) Projects Coaching & Learning
  13. 13. 13BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SAP QUALITY AWARD 2010 GOLD WINNER
  14. 14. It’s all about being Smart DELIVERING IN AN ENTERPRISE AGILE PROCESS
  15. 15. 16BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Involve  Product owner, business users  Enterprise architects, business analysts  Application management, operations  Distributed delivery Standardize  Simplify product life cycle  All roles work on same product  Model front end and services in smart use cases  Test and deliver individual services  Integrate front end and services each iteration Expect issues  “Agile is for small projects.”  “We need to design the whole system up-front.”  “Sorry. Connectivity to our system will not be available until January.”  “We need to review every use case before you can implement it.” WHAT DOES ENTERPRISE AGILE MEAN?
  16. 16. 17BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART Create project proposal Write project plan Deliver working software Round up software Maintain software
  17. 17. 18BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART What product(s) do we want to deliver? Define done Deliver product(s) using product cycle Visualise progress Are we up to speed? Is our process optimal? Are the product(s) done?
  18. 18. 19BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved PLAN
  19. 19. 20BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved BUILD
  20. 20. 21BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved EVALUATE
  21. 21. Mixing YAGNI and structure ENTERPRISE AGILE REQUIREMENTS
  22. 22. 23BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved USER STORIES – APPLES AND PEARS Often too unstructured Unsuitable in complex environments
  23. 23. 24BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved COMPLEX IT LANDSCAPES
  24. 24. 25BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved HUGE CASES Hard to build, impossible to test
  25. 25. A YAGNI approach to requirements SMART USE CASES
  26. 26. 27BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE REQUIREMENTS - APPROACH D E F Smart Use Cases A Project Scope D Use Cases A B C Hierarchical Processes B D D Hierarchical Processes Chronological Processes Cloud Level Kite Level Sea Level Fish Level C
  27. 27. 28BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved CLOUD LEVEL
  28. 28. 29BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved KITE LEVEL
  29. 29. 30BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved MODELING SMART USE CASES
  30. 30. 31BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved WORK IN PROGRESS ...
  31. 31. ESTIMATING SMART USE CASES
  32. 32. 33BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SOFTWARE ESTIMATION – ABSOLUTE OR RELATIVE?
  33. 33. 34BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved 1. Piece of cake  Simple selection, simple maintenance 2. Moderate  Normal selection 3. Average  Normal maintenance, normal search 4. Hard  Reporting, one-many 5. Very difficult  Graphs, extensive reporting, interfacing 8. Extreme, but known  Complex interfacing 10. Extreme and unknown  Distributed interfacing, calculations ABSTRACT WEIGHT OF SMART USE CASES
  34. 34. 35BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART ESTIMATION POKER
  35. 35. 36BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART USE CASE STEREOTYPES
  36. 36. 37BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Estimating smart use cases with the whole team
  37. 37. Agile dashboarding for the enterprise MAKING COMMUNICATION EASY
  38. 38. 39BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART USE CASE CYCLE Plan and prioritize use cases Write test cases Generate and build use case Run test cases Adjust logic Define use case logic Accept use case
  39. 39. 40BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SOME STRUCTURE ISN’T BAD
  40. 40. 41BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved 41 Project wall and dashboard
  41. 41. 42BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING
  42. 42. 43BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING - DASHBOARD
  43. 43. 44BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING – CHANGING STATUS
  44. 44. 45BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING – BURN DOWN CHART
  45. 45. 46BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved TESTING SMART USE CASES
  46. 46. 47BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved BOEHM’S LAW
  47. 47. 48BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART USE CASE CYCLE Plan and prioritize use cases Write test cases Generate and build use case Run test cases Adjust logic Define use case logic Accept use case
  48. 48. 49BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved RELEASE PLANNING – THE TEST HURDLE
  49. 49. 50BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Model activity diagram per use case  Define which use cases will be tested  User goal level use cases?  Sub-function level use cases?  Models all scenarios in the activity diagram Identify test scenarios  Identify decision nodes  Identify partial paths  Create full paths from partial paths  Every path defines a test scenario Describe test scenarios  Name partial paths  Define test scenarios Write test cases with test scenarios  Test happy day scenarios  Test alternative flows TESTING SMART USE CASES
  50. 50. 51BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved TEST DESIGN FOR INDIVIDUAL SMART USE CASES
  51. 51. Unit testing at the right level UNIT TESTING SMART USE CASES
  52. 52. 53BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved TESTING SMART USE CASES Unit test what?  Methods from the task pattern  Methods that are called from presentation  Methods that collaborate with other use cases  Methods that interact with domain How?  Create unit test for each smart use case  Run methods from smart use case  Validate outcome (using asserts) Why?  Great code coverage  Regressions testing on smart use cases  Code generation makes light work
  53. 53. 54BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved UNIT TESTING SMART USE CASES Test methods that interact with domain Set up (in)valid domain object Run method from use case Validate outcome
  54. 54. An overview SMART USE CASE DRIVEN ARCHITECTURE
  55. 55. 56BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Presentation Process Domain Data / Services Outside world Pages UserControls Panels Use cases Workflow Domain objects / Entities Factories / Repositories Enums / Value objects / Smart references [Mapping] Table Gateways Queries [Mapping] Database
  56. 56. 57BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Exact SAP BizTalk Java Presentation Process Domain Data / Services Outside world Pages UserControls Panels Use cases Workflow Domain objects / Entities Factories / Repositories Enums / Value objects / Smart references [Mapping] Service gateways Service locators [Mapping] Services / ESB
  57. 57. 58BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Presentation Process Domain Data / Services Outside world Service contracts Operation contracts Data contracts Use cases Services Domain objects / Entities Factories / Repositories Enums / Value objects / Smart references [Mapping] Table Gateways / Service Gateways Queries / Service Locators [Mapping] Database Services / ESB Exact SAP BizTalk Java
  58. 58. 59BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved ARCHITECTURE IN CODE Web  Pages, controls Process  Use cases / Tasks / Flow Domain  Factories / Repositories  Domain Objects / Business rules  Enums / Value Objects / References  Search Objects Data / Services  Gateways  Mappings / Describers Database
  59. 59. An introduction to pragmatic model driven development GENERATING CODE FROM SMART USE CASES
  60. 60. 61BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Forms Use cases Domain objects Data / Service classes Databases Software Architecture Tobago MDA Test scenario’s Frameworks Specifications Existing Applications Business models Domain Model Smart use cases User interface specification 1. Map your business processes to smart use cases 2. Set up your domain model 3. Establish your software architecture(s) 4. Generate your code using a text template engine 5. Finalize your application
  61. 61. 62BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved A SIMPLE SMART USE CASE MODEL
  62. 62. 63BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved A SIMPLE DOMAIN MODEL class Budapest.Business «business class» Customer + Name: string + Address: string + Postcode: Postcode + City: string + Country: SmartRef + Website: Url [0..1] «business class» Contact + Name: string + Email: Email [0..1] + Phone: PhoneNumber [0..1] + Department: Departments «enumeration» Departments Sal es Purchasing Helpdesk Management *
  63. 63. 64BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved USING TOBAGO MDA
  64. 64. 65BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved GENERATED CODE IN ASP.NET
  65. 65. Frameworks SMART USE CASE DRIVEN ARCHITECTURE
  66. 66. 67BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Frameworks  Open extendible architecture  Many blocks available  Assemble and generate quickly  Base applications  Proven  In open source! Blocks  User interface / Smart binding  Domain driven design  Authorization  Smart use case unit testing  Resources / multilinguality  Mapping to databases and services SMART USE CASE DRIVEN ARCHITECTURE
  67. 67. Community, coaching and learning PEOPLE
  68. 68. 69BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Open community  Website is a wiki  Accelerators available for all  White papers, books  Software factories  Agile co-creation Coaching  Many engagements in coaching agile Learning  Courses available on agile, Smart, smart use cases, pragmatic UML, smart estimation, agile software development with ADP  Custom courses for clients  Open seminars and workshops COMMUNITY, COACHING AND LEARNING
  69. 69. 70BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved
  70. 70. www.accelerateddeliveryplatform.com WWW.SMARTUSECASE.COM
  71. 71. sander.hoogendoorn@capgemini.com www.sanderhoogendoorn.com www.smartusecase.com / www.accelerateddeliveryplatform.com @aahoogendoorn REFERENCES AND QUESTIONS

×