agile software engineering @ sap
DESCRIPTION
Last week I gave the closing keynote in the Agile Dev Practices Conference that took place in Potsdam, Germany. SAP has been on the way to implement LEAN/Agile for a few years now and it has been a deep change in the organization, affecting e.g. the setup of teams (small cross-functional teams) , the way they work (scrum) and the roles and responsibilities. In this keynote I have: Explained why SAP introduced Agile, what does Agile mean for us and then. How we implemented it: * Organizational changes (scrum teams with new roles – PO; no more Q-Teams) * Introducing engineering practices by providing advanced trainings, e.g. for quality engineers, for developers, for teams, and show some key elements of those trainings and workshops. ** Customer focus – Design Thinking ** At the end I showed first where we are today and presented some results and learnings.TRANSCRIPT
© SAP 2013 | 1
AGILE SOFTWARE ENGINEERING @ SAP
[1]
Asaf Saar March 5, 2013
© SAP 2013 | 2
n SAP CPO Product Owner of So;ware Engineering o Code Quality and Test AutomaDon Process Owner and network lead
o Inventor, Development Manager and Chief Product Owner of various Test AutomaDon and Management Frameworks in SAP
o Agile, Quality and Requirement Engineering Trainer and Coach
n In the So;ware Engineering arena since 1996 in Israel, USA and Germany
n Married to Merav and father of Tom, Noam and Guy n Astronomy and fast cars are my hobbies n An Israeli in Germany
@saarasaf hRp://www.linkedin.com/in/asafsaar
ABOUT ME
© SAP 2013 | 3
n 183,000+ customers n 130+ countries. n 61,000+ employees n € 16 billion annual revenue (2012) n 40-‐years history of innovaDon and
growth.
SAP TODAY MARCH 2013
[2]
© SAP 2013 | 4
SAP’S GLOBAL DEVELOPMENT ORGANIZATION 18,000 DEVELOPERS IN 12 DEVELOPMENT LABS
Walldorf Palo Alto India Bulgaria, China
Canada (Montreal), Israel
Israel Ra’anana North America
Palo Alto
India Bangalore
Bulgaria Sofia
Canada
Montreal
China Shanghai
Hungary Budapest
Hungary
France Levallois
Canada Vancouver
Canada (Vancouver), France
Germany Walldorf
Brazil, Ireland
Brazil Sao Leopoldo
Ireland Dublin
1980 1996 2000 2004 2005 2006 2009 2010
© SAP 2013 | 5
WHY AGILE?
© SAP 2013 | 6
ECONOMIES OF SCALE
Having more employees did not help us get back to economies of scale
Source: http://www.sapannualreport.com/2011/zusaetzliche-informationen/kennzahlenvergleich.html
[8]
© SAP 2013 | 7
Delivered software not used. Time to market delayed.
TYPICAL PROBLEMS OF THE SOFTWARE MARKET
Development & CorrecDon Assembly & ValidaDon
Development Assembly Never used
45%
Rarely 19%
SomeDmes 16%
O;en 13%
Always 7%
Source: Usage of Features in typical systems, Standish Group, study of 2000 projects at 1000 companies
t
~2000
~2005
© SAP 2013 | 8
SAP’S CHANGE TO AGILE SOFTWARE ENGINEERING
Develop the right products… … the right way
Design Thinking LEAN & Agile Thinking
© SAP 2013 | 9
SAP’S LEAN & AGILE APPROACH:
ORGANIZATIONAL CHANGES
© SAP 2013 | 10 SCRUM IN DEVELOPMENT TEAMS [3]
© SAP 2013 | 11
ORGANIZATIONAL CHANGES INTRODUCING SCRUM AND LEAN PRINCIPLES
Split your organizaPon – small, cross-‐funcDonal, self-‐organizing teams
$$$
$
Split your work – small list, ranked together with customer, effort relaDvely esDmated
Review and update the plan – update prioriDes in collaboraDon with the customer, based on insights gained by inspecDng the release a;er each iteraDon
RetrospecPve – a;er each iteraDon
Split Pme – fixed length iteraDons (4 weeks) deliver potenDally shippable increments, fast feedback from customer
Jan
April
Decentr
alize con
trol
Reduce
batch
size
Cadence
-‐ Takt
Apply fa
st
Feedback
ConPnu
ous
improve
ment
© SAP 2013 | 12
Program / Produ
ct
Team
Implementation Teams
QE
Archit.
Dev KM
(Team) Product Owner
Scrum Master
Area Product Team
QPE
Archit.
Team product owners
Area Product Owner
Scrum Master
Release planning
Product Team
QPA
Archit.
Delivery Manager Chief
Product Owner
Program Lean
UI Designer
Sprint planning
Or KANBAN
Team
backlog
are feature stories are integraDon stories
Gradient represents prioriDzaDon
Prod
uct
backlog
Userstory
Epic 1
Userstory
Userstory
Mini Release
review review review Prod
uct a
rea
backlog
Selected
backlogs
Userstory
Epic 2
Done Criteria
Done Criteria
Done Criteria
Ship internally
Ship internally
Ship internally
Mini Release
review
Ready Criteria
Mini release
planning
Adjusted from: (c) 2011 Dean Leffingwell, Agile software requirements
ORGANIZATIONAL CHANGES SCALING SCRUM TO LARGE PROJECTS
Scale or
ganizaPo
n
Scale ba
tches -‐ R
anked Ba
cklog
Early Fe
edback
on
Product
Synchron
izaPon
of Takt
© SAP 2013 | 13
n Provide needed skills and competencies in each team
n Introduce new roles Product Owner, Scrum Master
n No more Quality Assurance teams
ORGANIZATIONAL CHANGES ASSEMBLE CROSS-‐FUNCTIONAL TEAMS
© SAP 2013 | 14
ORGANIZATIONAL CHANGES CHANGE QUALITY PEOPLE’S ROLE
Old QM style New Q Approach
Quality in the Team Governance and Control
[4] [2]
© SAP 2013 | 15
DEVELOP PEOPLE FIRST, THEN DEVELOP PRODUCTS
EXCEED OUR CUSTOMERS’ EXPECTATIONS
USABLE SOFTWARE EACH TAKT TO AVOID REWORK AND TO ALLOW FAST FEEDBACK CYCLES
EXCELLENT PROCESSES MEETING COMPLIANCE STANDARDS AND GOVERNANCE NEEDS
SAP’S LEAN & AGILE QUALITY STRATEGY
© SAP 2013 | 16
SAP’S LEAN & AGILE APPROACH:
ENGINEERING EXCELLENCE
© SAP 2013 | 17
UI AutomaDon Trainings
ENGINEERING EXCELLENCE ROLE SPECIFIC & TEAM TRAININGS
Architect
Information Developer
Product Owner
Scrum Master Quality Engineer
Developer / Software Engineer
Design Thinking
Agile So;ware Engineering
“SAP CerDfied QE”
Q-‐Workshop Product Owner
Training
Scrum Master Training
LEAN Awareness Training
Line Manager LEAN Leadership
Program
User Story Mapping
Agile So;ware Engineering
“SAP CerDfied QE”
Q-‐Workshop
User Story Mapping
UI AutomaDon Trainings
© SAP 2013 | 18
n TRY Engineering PracDces that enable teams to work successfully
n 1 week training with exercises
n 3 week sprints coached by trainer on own backlog
ENGINEERING EXCELLENCE AGILE SOFTWARE ENGINEERING TRAINING FOR TEAMS
* Scrum or any other agile / iterative process
TDD
Pair Programming
Test Isolation
Refac- toring
ATDD Retro- spectives
Unit Test
Clean Code
Continuous Integration
Planning Exploratory Testing
Team Work
Backlog Estimation
Automated UI Testing
Scrum*
“In this course I really think that we learned to build a professional high quality piece of software.”
250+ teams trained
© SAP 2013 | 19
n 2 day training with exercises
n Transfer-‐Project in team to try new engineering pracDces
n PresentaDon to the QE colleagues to build a community of pracDce and foster knowledge sharing
ENGINEERING EXCELLENCE “SAP CERTIFIED QE” TRAINING
1500+ trained
“Good mixture of theory and exercises.”
© SAP 2013 | 20
n 1 day workshop with whole team
n “Call for AcDon” put in teams backlog
n Follow up a;er 3 takts to check sustainability
ENGINEERING EXCELLENCE QUALITY WORKSHOP FOR TEAMS
Agile TesDng Quadrants
150+ teams trained
“Well structured and pragmatic.”
© SAP 2013 | 21
ENGINEERING EXCELLENCE UI AUTOMATION TRAINING FOR DEVELOPMENT TEAMS
n Developers and QEs are trained on how to develop the right UI Test AutomaDon scenarios
n 1-‐3 days training based on internally development framework that are based on market leading tools
n Focus on SAP UI5 and NaDve Mobile automaDon
“UI Test Automation is just another layer of testing, developers should not only focus on Unit Testing.”
450+ trained
© SAP 2013 | 22
Lean helps us to deliver faster, more reliable + avoid waste
BUT if the backlog doesn’t address the end-‐users’ needs sufficiently
RIGHT PRODUCTS?
the so;ware will hardly be desirable or viable
© SAP 2013 | 23
ENGINEERING EXCELLENCE USER STORY MAPPING WORKSHOP FOR TEAMS
Backlog
n Whole team understands usage sequence and personas of the product
n 1-‐3 day coaching with complete team
n User Story Map as the skeleton for the Product Backlog
“Good method for structuring which enables us to agree on requirements cross units and with customers.”
90+ teams coached
© SAP 2013 | 24
SAP’S LEAN & AGILE APPROACH:
CUSTOMER FOCUS
© SAP 2013 | 25
CUSTOMER FOCUS SAP‘S DESIGN THINKING APPROACH
Viability Feasibility
Desirability
Innovation
Understanding the needs of the customer via multiple prototypes
© SAP 2013 | 26
CUSTOMER FOCUS OBSERVE CUSTOMERS‘ NEEDS NOT THEIR SOLUTIONS
„… customers told us that they wanted suitcases that were easy to carry, and asked us to make them lightweight. We did this, but they rejected our elegant alloy designs and bought the heavier designs of our compe>tors – the ones with wheels on them!“
Source: Agile So;ware Requirements by Dean Leffingwell
SoluPon driven As a traveler I want alloy suitcases so that the suitcases are lighter.
Empathizing the user’s need As a traveler I want to carry less so that I’m less exhausted.
© SAP 2013 | 27
CUSTOMER FOCUS OBSERVE USERS IN THEIR ENVIRONMENT
Go to the user‘s environment in order to get inspiration
© SAP 2013 | 28
CUSTOMER FOCUS SAP‘S DESIGN THINKING PROCESS
Problem Space Solution Space
Source: Design Thinking, Understand – Improve – Apply Editor: Christoph Meinel, Larry Leifer, Hasso PlaRner
UNDERSTAND
OBSERVE
DEFINE POINT-OF-VIEW
IDEATE
PROTOTYPE
TEST
© SAP 2013 | 29
CUSTOMER FOCUS TAKE AN ECONOMIC VIEW
Source: Ash Maurya – Running Lean (2013)
© SAP 2013 | 30
WHERE ARE WE TODAY?
© SAP 2013 | 31
SAP'S AGILE SOFTWARE ENGINEERING PROGRAM IN THE PRESS
n The change in SAP already gets noDced outside SAP
© SAP 2013 | 32
RESULTS INCREASED EMPLOYEE SATISFACTION & BELIEF IN LEAN
Source: Lean Survey May 2012
© SAP 2013 | 33
n >50% of teams adopted TDD and Pair Programming
n >75% say Agile So;ware Engineering PracDces produce beRer quality
n 84% thereof say we produce beRer quality without speed loss or even speed gain
RESULTS IMPROVED QUALITY THROUGH ENGINEERING PRACTICES
Source: Agile Software engineering Practice Survey 2012
"The customer gave us a 9 out of 10 quality rating after customer validation."
The product has a 10x reduction in defect-per-customer after implementing Agile Software Engineering practices.
© SAP 2013 | 34
RESULTS DEFECTS FOUND EARLIER
0% 20% 40% 60% 80% 100%# of detected errors (normalized)
Development Correction Assembly & Validation
Before Agile
Agile Mode
© SAP 2013 | 35
RESULTS FASTER GO TO MARKET
Development Assembly & ValidaDon Before Agile
Agile Mode
© SAP 2013 | 36
n Work with complete teams to drive adopDon
n Coach towards Engineering Excellence
n Focus on Customer through Design Thinking
RESULTS KEY FACTORS FOR SUCCESS
SCRUM IN DEVELOPMENT TEAMS
[6]
© SAP 2013 | 37
AGILE SOFTWARE ENGINEERING @ SAP
Deliver INNOVATION with ENGINEERING EXCELLENCE
[7] © Dykstra
© SAP 2013 | 38
Asaf Saar Product Owner Software Engineering Chief Process Office [email protected] SAP AG Dietmar-Hopp-Allee 16, 69190 Walldorf, Tel.: +49 6227 7-47474
Please evaluate my presenta>on by using the evalua>on booklets which you can find in your conference bag. THANK YOU!
AGILE SOFTWARE ENGINEERING @ SAP
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power Architecture, Power Systems, POWER7, POWER6+, POWER6, POWER, PowerHA, pureScale, PowerPC, BladeCenter, System Storage, Storwize, XIV, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere, Tivoli, Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the United States and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered trademarks of Adobe Systems Incorporated in the United States and other countries.
Oracle and Java are registered trademarks of Oracle and its affiliates.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems Inc.
HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C, Retina, Safari, Siri, and Xcode are trademarks or registered trademarks of Apple Inc.
IOS is a registered trademark of Cisco Systems Inc.
RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry Torch, BlackBerry Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App World are trademarks or registered trademarks of Research in Motion Limited.
© 2013 SAP AG. All rights reserved.
Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps, Google Mobile Ads, Google Mobile Updater, Google Mobile, Google Store, Google Sync, Google Updater, Google Voice, Google Mail, Gmail, YouTube, Dalvik and Android are trademarks or registered trademarks of Google Inc.
INTERMEC is a registered trademark of Intermec Technologies Corporation.
Wi-Fi is a registered trademark of Wi-Fi Alliance.
Bluetooth is a registered trademark of Bluetooth SIG Inc.
Motorola is a registered trademark of Motorola Trademark Holdings LLC.
Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, SAP HANA, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company.
Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc. Sybase is an SAP company.
Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of Crossgate AG in Germany and other countries. Crossgate is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.
Disclaimer
This presenta>on outlines our general product & process direc>on and should not be relied on in making a purchase decision. This presenta>on is not subject to your license agreement or any other agreement with SAP. SAP has no obliga>on to pursue any course of business outlined in this presenta>on or to develop or release any func>onality men>oned in this presenta>on. This presenta>on and SAP's strategy and possible future developments are subject to change and may be changed by SAP at any >me for any reason without no>ce. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warran>es of merchantability, fitness for a par>cular purpose, or non-‐infringement. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP inten>onally or grossly negligent.
© SAP 2013 | 41
[1] The Siberian Solar Radio Telescope: hRp://www.fotopedia.com/items/flickr-‐3706850931 (CC* BY 2.0)
[2] Several: hRps://www.sapbrandtools.com/content/home.php > SAP EMEA/APJ
[3] Scrum hRp://www.flickr.com/photos/tprzechlewski/3648102134 (CC* BY 2.0)
[4] Police man hRp://office.microso;.com/en-‐us/images/results.aspx?qu=police%20man&ex=2#ai:MP900400393|
[5] Team hRps://www.sapbrandtools.com/content/home.php > SAP EMEA/APJ
[6] SAP extreme sail hRp://www.sap-‐tv.com/video/#/7882/
[7] Sailing Container ship hRp://www.treehugger.com/wind-‐technology/hybrid-‐container-‐ship-‐wind-‐driven-‐with-‐automaDc-‐sails.html
[8] Container ship: hRps://www.sapbrandtools.com/content/home.php > SAP EMEA/APJ
PICTURE LIST (LAST VISITED 2. MARCH 2013)
* http://creativecommons.org/licenses/