Being Smart at enterprise agile

6,198 views

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,198
On SlideShare
0
From Embeds
0
Number of Embeds
4,200
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • Accelerators
    The Accelerated Delivery Platform includes accelerators such as:
    Smart. Smart is a well known proven agile life cycle, using smart use cases as our unit of work. Smart incorporates many agile and iterative best practices and combines well with other methodologies, such as Scrum, RUP and XP.
    Smart use cases. An important innovation in functional requirements modeling. Smart use cases deliver smaller and equally granular use cases to software development. We use smart use cases not only for requirements, but also for unit of work and estimation, planning, and we generate user interface specs, test scenario's and code (e.g. front ends) from it. Works in various project settings, including .Net, Java, SharePoint, SAP, BI.
    Smart estimation. A pragmatic and easy to apply estimation technique bases on smart use cases. Can be applied without elaborate training, but we do have training available (half day course). Associated with smart estimation are a set of techniques, such as quick estimate templates, and smart estimation poker.
    Agile dashboards. A easy to use online project dashboard which is in line with smart use cases and their life cycle. Easy to track progress in your projects, using burn down and burn up charts.
    Agile testing. Smart use cases are the primary unit of work in Smart projects. Moreover, smart use case not only are a great unit of estimation, and development, but they also are an ideal unit for testing. In Smart project testing becomes an important part of the design of the software, when testers and developers together create an activity diagram per smart use case. From this diagram test scenarios and test cases can easily be derived. Testing is intertwined in each of the Realize and Finalize iterations - as soon as possible, to beat Boehm's Law. This approach, which is called smart testing, matches process cycle tests from TMap. Smart testing is best described in the book Pragmatic modeling using UML by Sander Hoogendoorn.
  • References
    References for the Accelerated Delivery Platform are grouped into four categories.
    Software Factories. Organizations that are building their software factories around accelerators from the Accelerated Delivery Platform. Capgemini assists these organizations in implementing these software factories, or runs their projects. A special reference is the Dutch Tax Service (Belastingdienst) that will run all their agile projects using the Accelerated Delivery Platform. The platform benefits highly from this community, as new framework additions become available, and new templates for Tobago MDA.
    Smart & smart use cases. A fast growing number of organizations apply our agile process Smart and / or our smart use cases technology. Capgemini normally performs training and coaching on the job. Many of these organizations contribute to the platform, and share their knowledge.
    Projects. Capgemini (and her customers) run a growing number of projects on Accelerated Delivery Platform accelerators. They both run in the ADC’s (in the Netherlands and Belgium) and on-site at the customer. Some projects partly run in the Netherlands and partly in India (GVB).
    Coaching and learning. Many organizations benefit from the variety of courses we have avaiable from the Accelerated Delivery Platform. In 2008 alone, almost 750 people were trained. Most of our courses are available from Capgemini Academy, but we also run customized courses for customers.
  • This diagram models the hierarchy for a single project at a financial government agency. The name of the project (or in this case the application –as is often done) is stated at the top level. The first level (cloud level) models a number of the processes to be automated. Some of these processes are further modeled out using a second level of hierarchy. This can best be done with discrete processes. However, the steps in the third process are sequential, and thus this process can best be modeled out using a chronological technique. The agency used activity diagrams for this purpose.
  • Dashboard
    Business Design
    Smart use cases
    Status
    Burndown / up
    Velocity
    Scope
  • 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

    ×