Corporate Technology
Applying Agile and Scrum Practices at Siemens Sabine Canditt Siemens AG, CT SE 3 Otto-Hahn-Ring 6 D 81739 Munich Tel: +49 89 636 46752
[email protected]
Copyright © Siemens AG 2007. All rights reserved.
Motivation Scrum is a useful, albeit generic framework that does not answer all questions. In large companies like Siemens, special problems have to be considered. Introducing Scrum requires many changes; however not everything can / has to be changed – and not all at once. Here are some typical problems and pragmatic solution outlines to show how this can be done. They show how „core Scrum“ can be applied to sub-processes. They work under certain real life conditions – not everywhere. They may be a step towards more agility – or may be here to stay.
Page 2
2007-11
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Active in six business areas Automation and Control
Power
Transportation
Medical
Information and Communications
Lighting
Automation and Drives
Power Generation
Transportation Systems
Medical Solutions
Communications 1)
OSRAM
Industrial Solutions and Services
Power Transmission and Distribution
Siemens VDO Automotive AG 3)
Siemens IT Solutions and Services 2)
Siemens Building Technologies
External sales of Operations Groups excluding Other Operations (as of September 30, 2006) 28.5% 19.3%
17.3%
1) Since Oct.1, 2006, Com is no longer a Group. 2) Siemens Business Services (SBS) Group until January 15, 2007 3) Subject to approval by regulatory authorities, the Group will be sold to Continental AG
Page 3
October 07
19.7% 9.8%
5.4%
Copyright © Siemens AG 2006. All rights reserved.
Corporate Communications
Global presence – basis for competitiveness Germany 34%
30% 19%
Europe (excl. Germany) Americas 22%
26%
27%
31% 23%
27%
161
16.2
86
v
€
) Asia-Pacific
127 104
22.9
78
v
€
)
v
27.1
€
67
) Africa, Middle East, CIS
19%
15%
15%
70
12.9
54
v
€
)
9%
v
13 Employees (thousands)
€ Sales (billions of EUR)
) Major facilities As of September 30, 2006 October 07 Page 4
3%
8.2
1%
v
€
)
4
Copyright © Siemens AG 2006. All rights reserved.
Corporate Communications
Global presence of R&D: 48,900 R&D employees at more than 150 locations in over 30 countries
Issaquah Sacramento Chatham Peterborough Berkeley Tilbury London Drummondville Mountain View Concord Auburn Hills Danvers San José Hoffmann Santa Clara Burlington San Diego Estates Piscataway Pittsburgh Princeton Arlington Johnson City Newport News Austin Norcross Knoxville Guadalajara Lake Mary Orlando
Breda Hengelo Mülheim Amsterdam Pandrup Gothenburg Oslo Helsinki Bracknell St. Petersburg Eynsham Berlin Moscow Roke Manor Dresden Erlangen-Nuremberg Brussels Karlsruhe Regensburg Prague Paris Zurich Toulouse Vienna Budapest Bratislava Madrid Munich Zagreb Istanbul Timisoara Porto Athens Lisbon Graz Netanya Zaragoza Milan Linz New Delhi Tel Aviv Salzburg Sophia Treviso Antipolis Goa
Xi‘an Bombay
Nanjing Shanghai Hong Kong Chengdu
Sao Paulo Curitiba Buenos Aires
Tokyo Kawasaki Yokohama Kakegawa
Taipei
Bangalore Penang
Bogota
Changchun Beijing Seoul Tianjin Ichon
Singapore
Pretoria
Melbourne
Sydney
Copyright © Siemens AG 2006. All rights reserved.
Page 5
October 07
Corporate Communications
Corporate Technology Core technologies, competencies and services for the Groups
Customer Business Areas / Operating Groups +
top company programs
Automation and Control
Power
Transportation
Health Care
Information and Communications
Lighting
Regions
Innovation Customer focus Global competitiveness
Corporate Technology
Page 6
Corporate Research and Technologies Core technologies and competencies with multiple impact supporting the groups Pictures of the Future Accelerators for new business opportunities
2007-10-09
Canditt, CT SE 3
Corporate Intellectual Property and Functions Intellectual Property services and strategy Standardization, environmental affairs, Information research center
© Siemens AG, Corporate Technology
Corporate Research and Technologies Software & Engineering Technology Division
Quality and efficiency in software development
Optimization of planning, decision and production processes
Analysis and engineering of complex systems
Discrete Optimization
Software & Engineering
Systems Engineering Project Management and Innovation Project management and innovation
Page 7
Development Techniques
Software Initiative Siemens Software Initiative
2007-10-09
Canditt, CT SE 3
Information brokers and technical liaison managers Information Broker
Software architecture for distributed, mobile and embedded systems
Architecture
System and Software Processes System and software processes
© Siemens AG, Corporate Technology
Agile@Siemens Non-uniform, depending on the (sub-)organization Some with 1000s of developers at different sites Some with small pilot projects Some bottom-up, some top-down…
We at CT SE 3… help organizations to establish and agile understanding, goal, and strategy coach projects and people organize trainings and best practice sharing across business units CSM/CSPO trainings Agile newsletter Internal conferences
Page 8
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Why is Agile So Difficult in Industrial Environments? Characteristics of industrial projects: Complex lifecycles (Portfolio Management, Sales, Marketing, Service…) Many dependencies, many stakeholders Long-running projects System development (incl. hardware, mechanics) Big teams, distributed teams Outsourcing / offshoring Safety/security regulations (e.g. FDA)
Critical areas Customer involvement Organizational culture (e.g. waterfall history) Communication (distances, languages, time zones)
Page 9
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
The Change Curve
Page 10
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Our Approach: Balancing Traditional and Agile
Established
A Continuum
Agile
You should have a process that addresses your needs, business goals, and environment. Organizational culture (e.g. management) Customers (e.g. contracts) Products (e.g. embedded) Projects (e.g. distributed teams) Tools and Processes (e.g. TDD) Staff (e.g. expertise)
Agile and established elements can support each other to find an optimized solution. Page 11
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Examples Requirements Team Structure Testing Agile and the Product Lifecycle Process
Page 12
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Requirements The problem: Commercial requirements are often much too complex to be realized in one Sprint by one team. Breaking down requirements to Sprint tasks is time consuming. User stories are good for requirements with end user interaction, but how about other types of requirements?
Solution Outline: The procedure has to be agile enough to capture and integrate new requirements at any time. It has to include not only development, but also “frontloading” (e.g. input from Portfolio Management, Service, lead customers…). Requirements should be pre-selected to avoid superfluous analysis activities and flooding the product backlog. Different concepts (also traditional) to express requirements can be combined.
Page 13
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Per product generation
Requirements Example: Product Family Development
Strategy, Roadmap
Project Vision/Scope
User Stories
HL Use Cases
Global NFRs
HL NFRs
Global general Reqs
General Reqs
SL Use Cases
Per Sprint
JIT refinement Freeze for next Sprint
Frontloading
Tasks Global/Product Family
Page 14
2007-10-09
Product/Project Product/Project
Canditt, CT SE 3
Scrum team Scrum team Scrum team © Siemens AG, Corporate Technology
Requirements Example: Product Family / Framework Development
Framework development aims at reusability of requirements (and solutions) Product Owners on different levels: Global level
Global reqs
PO G
Product level Product reqs
Application level Framework level
Prioritization conflicts have to be escalated and decided by the global Product Owner.
PO P
Component PO A PO F Reqs (Application/Framework)
System architects are important to derive framework requirements and keep the architecture consistent.
Page 15
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Requirements Example: Product Family / Framework Development
PO G Strategy/ Roadmap PO P
User Stories
Other Reqs
PO A Application Req Arch
Common Funct. Req
Page 16
2007-10-09
PO F Common Funct. Req
Canditt, CT SE 3
Framework
Developmet Projects
Application Req
Applications
Product Reqs
PO P Product Reqs
PO P, PO A/F, Arch.: Analyse reusability • Derive appl. Reqs • Check if there is a CF to be extended • Check if several producs need the req.
© Siemens AG, Corporate Technology
Team Structure The problem: Feature development may need expertise from different sites. In distributed feature teams, members hardly know each other and communication is difficult.
Solution outline: Depending on size and distribution, there should be PO Proxys for the feature teams who understand what to do and are responsible for the team requirements. Scrum Masters for remote team members don’t make much sense. People need local Scrum Masters they know and trust. Feature teams should meet regularly (requirement workshops, Sprint planning and reviews). This is often considered as too expensive! Mid term goal: co-located feature teams. This often requires a new strategy for sitespecific core competencies!
Page 17
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Team Structure Example
PO
Site teams
POP POP
“SM” “SM” “SM”
PO
POP
SM
POP
SM
POP
SM
Co-located Feature teams = Scrum teams
Feature teams Where are the Scrum teams??? SM = Scrum Master PO = Product Owner POP = Product Owner Proxy
Page 18
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Team Structure Process Issues and Quality Assurance The problem: For multiple (distributed) Scrum teams, it is hard to establish a „one team“ spirit and common goal. Self-organization mainly works locally. It is difficult to inspect and adapt across Scrum team borders.
Solution outline: QA (or Scrum of Scrum Master) to help teams with global quality / process issues Bug tracking (e.g. if reporter and resolver are in different teams) Tracking of reviews and test sufficiency (4-eyes-principle) Supporting optimization of common activities (e.g. release planning, synchronization of Sprint planning, root cause analysis) Providing process guidance (e.g. checklists, templates, definition of common rules and procedures…) Providing metrics (e.g. release burndown) Risk management
Page 19
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Testing The problem: Testing should be completed in each Sprint. This is sometimes not possible (yet). Manual regression tests Availability of hardware and non-iterative deliveries Availability of test expertise and equipment
Solution outline: Tests should be planned (incl. availability of deliveries and of test hardware). It has to be documented clearly which tests have to be executed when (“done” criteria). A separate (virtual) team may be useful to cover NFRs and end product tests, test automation and infrastructure, release preparation etc.
Page 20
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Testing Good! Dev/test finished by Scrum team in one Sprint
Sprint n
Development/ Unit tests
Sprint n+1
Integration test Ok. Pipelining of Dev/ST activities; Potentially shippable inc only after every 2nd Sprint
System test
Dangerous. Start text execution as early as possible. Use old/prototype HW, simulators. Automate tests. Only if necessary. Stabilization Sprint in case of quality problems. No new functionality developed, only bug fixes Avoid! Delaying special tests at the end is a high risk.
Page 21
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Testing Responsibilities Example
Unit tests
Dev
Dev
Dev
IT
IT
IT
ST • cross functionality regression testing with different product versions • performance testing and dimensioning of the overall system
Page 22
2007-10-09
ST
Cross ST
Canditt, CT SE 3
ST
Build integration, Smoke tests
• Interface testing • Project functionality • NFR (like concurrency, robustness) • Scrum team deliveries with dependencies to other scrum team owned functionality
© Siemens AG, Corporate Technology
Agile and the Product Lifecycle Process
The problem: Usually Agile covers „only“ the phases „Define“ and „Realize“. But there is more than „just“ development. In Agile, there is no strict border between these two phases (e.g. no Big Upfront Requirement Freeze, or Big Upfront Project Plan). The influence on and interfaces to other disciplines (Portfolio Management, Sales, Service, HW…) have to be adapted and optimized. Development has to be “frontloaded” with new requirements iteratively. Deliveries have to be offered and sold iteratively. M100
Plan
Portfolio Mgmt
Page 23
M200
Define
2007-10-09
M300
Realize
Canditt, CT SE 3
Commercia- Phase lize/Operate out
© Siemens AG, Corporate Technology
Agile and the Product Lifecycle Process Solution outline: Adapt M200 (e.g. “n% MUST requirements”) Avoid responsibility shift from Define to Realize (“throwing requirements over the fence”). Product Owner continuously involves all disciplines. M100
Plan
Portfolio Mgmt
M200
Define
M300
Realize
Commercia- Phase lize/Operate out
Agile Development
Responsibility of Product Ower
Page 24
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Agile and the Product Lifecycle Process Co-laboration of PO and „traditional“ roles. The problem: Product Owners have a lot to do and tend to become unavailable.
Solution outline: The PO has the overall responsibility. The “traditional” roles support the PO and work together as a team.
Sales
Customers Customers Customers
Other dev. teams
PO
Service
Suppliers
PM
PL
Ar
SE
Solutions
PM: Programme Manager Ar: Architect QA: Quality Assurance PL: Project Lead
POP Scrum team POP Scrum team POP Scrum team
QA Page 25
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Agile and the Product Lifecycle Process Example: Integration with Non-Iterative Deliveries
Common System test phase with clear entry criteria (milestones) Development/ Unit tests
Use preliminary/old HW or mock ups
Integration test System test
Iterative Features Release
Included in ST phase Non-Iterative Features
Not included in ST phase
Used for HW stabilization Hardware Prototype n
Page 26
2007-10-09
Canditt, CT SE 3
Prototype n+1
© Siemens AG, Corporate Technology
Agile and the Product Lifecycle Process Defining Agile Milestones Agile Milestones can be derived from traditional ones (as suitable for the organization). End of Sprint “done” criteria have to cover required deliveries for product lifecycle management. Most of these deliveries are created iteratively Analysis/ Implemen- Integration Design tation Test
Define
Traditional Milestones
M1
M2
M3
M4
System Test M5
EoS
Change: Avoid Upfront Requirement Freeze
Sprint 1 Sprint 2 Sprint 3 Sprint n
M1
Agile Milestones
MS
M5 New: Stability of main features and architecture; trigger sales/service
Page 27
2007-10-09
Canditt, CT SE 3
Transfer: Cancel intermediate milestone criteria or merge to End-ofSprint („done“)
Unchanged; check at end of development phase
© Siemens AG, Corporate Technology
Agile Documentation The problem: Agile aims to reduce waste and focuses on generating business value. Documentation often does not create (direct) business value. An agile process requires has different (less) documentation needs.
Solution outline: Don’t say: “We are agile, we won’t write documents any more”! Identify what information is necessary and useful, for whom and when (e.g. to support communication in distributed teams). Consider information needs beyond the project (and team) scope. Create the documents iteratively and in parallel to the software to keep them consistent. Include documentation in backlogs and plan accordingly. Use documentation to complement communication, not to replace it! Page 28
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Agile Documentation Examples for needed and useful documentation: Everything required by (external) processes and regulations (e.g. FDA, ISO…) User stories and other forms of requirements (e.g. Use Cases) Architecture concepts and high level architecture (e.g. UML) Code inline documentation Documented test scripts (also for acceptance tests)
Sometimes not needed: Extensive design specification (replaced by inline documentation and preliminary sketches) Test case specification (replaced by documented test scripts)
Page 29
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology
Conclusion Going agile does not mean forgetting about everything that we have learned in the past.
However, if you honestly want to live agility, don‘t make lousy compromises. A single bottleneck system test at the end of the project is not agile. Renaming Project Leaders to Scrum Masters does not create a self-organizing team.
Preserve the agile principles and values.
Page 30
2007-10-09
Canditt, CT SE 3
© Siemens AG, Corporate Technology