Contenu connexe Similaire à Being Smart at enterprise agile (20) Plus de Sander Hoogendoorn (20) Being Smart at enterprise agile1. 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
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
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?
19. 20BEING SMART AT ENTERPRISE AGILE
©2010 Capgemini. All Rights Reserved
BUILD
20. 21BEING SMART AT ENTERPRISE AGILE
©2010 Capgemini. All Rights Reserved
EVALUATE
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
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 ...
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
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
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
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
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
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
Notes de l'éditeur 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