Your SlideShare is downloading. ×
Being Smart at enterprise agile
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Being Smart at enterprise agile

5,846
views

Published on

Published in: Technology

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,846
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

    • 1. The status of agile at Capgemini in the Netherlands BEING SMART AT ENTERPRISE AGILE
    • 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. WHAT DOES BEING AGILE MEAN?
    • 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. 5BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SCRUM
    • 6. Where “lightweight” agile isn’t sufficient CHALLENGES IN ENTERPRISE PROJECTS
    • 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. 8BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved COMPLEX IT LANDSCAPES
    • 9. 9BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved On implementing enterprise agile LEVERAGING CAPGEMINI EXPERIENCE
    • 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. 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. 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. 13BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SAP QUALITY AWARD 2010 GOLD WINNER
    • 14. It’s all about being Smart DELIVERING IN AN ENTERPRISE AGILE PROCESS
    • 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. 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. 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. 19BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved PLAN
    • 19. 20BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved BUILD
    • 20. 21BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved EVALUATE
    • 21. Mixing YAGNI and structure ENTERPRISE AGILE REQUIREMENTS
    • 22. 23BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved USER STORIES – APPLES AND PEARS Often too unstructured Unsuitable in complex environments
    • 23. 24BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved COMPLEX IT LANDSCAPES
    • 24. 25BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved HUGE CASES Hard to build, impossible to test
    • 25. A YAGNI approach to requirements SMART USE CASES
    • 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. 28BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved CLOUD LEVEL
    • 28. 29BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved KITE LEVEL
    • 29. 30BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved MODELING SMART USE CASES
    • 30. 31BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved WORK IN PROGRESS ...
    • 31. ESTIMATING SMART USE CASES
    • 32. 33BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SOFTWARE ESTIMATION – ABSOLUTE OR RELATIVE?
    • 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. 35BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART ESTIMATION POKER
    • 35. 36BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SMART USE CASE STEREOTYPES
    • 36. 37BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved Estimating smart use cases with the whole team
    • 37. Agile dashboarding for the enterprise MAKING COMMUNICATION EASY
    • 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. 40BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved SOME STRUCTURE ISN’T BAD
    • 40. 41BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved 41 Project wall and dashboard
    • 41. 42BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING
    • 42. 43BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING - DASHBOARD
    • 43. 44BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING – CHANGING STATUS
    • 44. 45BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved AGILE DASHBOARDING – BURN DOWN CHART
    • 45. 46BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved TESTING SMART USE CASES
    • 46. 47BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved BOEHM’S LAW
    • 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. 49BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved RELEASE PLANNING – THE TEST HURDLE
    • 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. 51BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved TEST DESIGN FOR INDIVIDUAL SMART USE CASES
    • 51. Unit testing at the right level UNIT TESTING SMART USE CASES
    • 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. 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. An overview SMART USE CASE DRIVEN ARCHITECTURE
    • 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. 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. 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. 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. An introduction to pragmatic model driven development GENERATING CODE FROM SMART USE CASES
    • 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. 62BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved A SIMPLE SMART USE CASE MODEL
    • 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. 64BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved USING TOBAGO MDA
    • 64. 65BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved GENERATED CODE IN ASP.NET
    • 65. Frameworks SMART USE CASE DRIVEN ARCHITECTURE
    • 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. Community, coaching and learning PEOPLE
    • 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. 70BEING SMART AT ENTERPRISE AGILE ©2010 Capgemini. All Rights Reserved
    • 70. www.accelerateddeliveryplatform.com WWW.SMARTUSECASE.COM
    • 71. sander.hoogendoorn@capgemini.com www.sanderhoogendoorn.com www.smartusecase.com / www.accelerateddeliveryplatform.com @aahoogendoorn REFERENCES AND QUESTIONS