Piloting of Test Driven Development in Combination with Scrum

Ähnliche Dokumente
Piloting of Test Driven Development in Combination with Scrum

C1+C2: Online-Umfrage Ihre Analytics Architektur heute und morgen?

Business Excellence Days bayme vbm / BME

Web Dynpro Java. SAP NetWeaver CE 7.1 1

SAP NetWeaver Enterprise Search 7.0

BPM Process in a day. Unleash the power of the SAP NetWeaver BPM. Andreas Weise Gregor Müller. COMPOSITION Focusgroup

Configuration of SAML Holder-of-Key Token for the ABAP Web Service Provider

SAP BusinessObjects Planning and Consolidation Version 10.0 for NetWeaver. Platform Information, Support Pack Dates and Maintenance Dates

SAP ERP HCM E-Recruiting 6.0. New Candidate Services with Enhancement Package 3 SAP AG

Manage Efficiency in Finance SAP Shared Service Framework for Financials James Willis, 22 nd May 2012 FORUM

SAP ERP HCM E-Recruiting 6.0. Improvements in - Applicant Tracking - Requisition Management. Enhancement Package 3 SAP AG

Cloud for Customer Learning Resources. Customer

Infotag SAP MaxDB Begrüßung. Karl-Heinz Hess Senior Vice President SAP Business ByDesign SAP AG

S3: Secure SCM as a Service

Smart Design Eigene Applikationen effizient und einfach entwickeln

Kundenbeziehungsmanagement in der Krankenversicherung aus Sicht der SAP

Vorplanung mit Variantenkonfiguration Vorplanungsstückliste versus merkmalsbasierte Vorplanung

Business Collaboration mit SAP XI/PI im E-Business. Prof. Dr. H. Beidatsch

D5 - Service und Instandhaltung

Infotag SAP MaxDB Ausblick. Dr. Knut Hansen SAP AG

Zeitaufschreibung, Zuordnung von Kostenstellen und Auswertung

DRG Workplace Integration. der Firma SAP. Referenten/in: Annieck de Vocht, SAP. Andreas Kuhn, Siemens. Herbert Dürschke, SAP

SAP für Waste and Recycling Abbildung eanv im Industry Add-on

Future Factory Initiative

Global and Distributed Software Development

SAP BusinessObjects Planning and Consolidation Version 10.0 for NetWeaver Platform Information, Support Pack Dates and Maintenance Dates Nov 22, 2012

IT-gestütztes Investitionscontrolling. Arno Edinger, SAP Deutschland AG & Co. KG 11/2009

Planung und Simmulation von Key Performance Indicators auf der Basis von Statistischen Daten und Informationen. Horst Meiser, Solution Architect BI

SAP Solution Manager End-to-End Application Management Platform. Product Management SAP Solution Manager SAP AG

What follows Scrum at SAP?

Best Practices für Wikis im Unternehmen

Future Factory Initiative

Jahreswechsel 2009/2010

Content SAP Travel Management SAP ERP 6.0 with Enhancement Package 6 - Travel Planning- SAP Travel Management. Product Management, SAP AG

Von Big Data zu Smart Data - Ziele, Strategien, Umsetzung

Informatik im Projektalltag

SAP APO Lifecycle Assistant

SAP General Ledger Migration In Scope and Out Of Scope. SAP AG October 2008

C2 Stammdaten Qualität sichern, Pflege vereinfachen & zentrale IT Steuerung

Automatisierung in der Fertigungsauftragsabwicklung Prozessoptimierung bei der R. Nussbaum AG

SAP Business One. SAP Business One Accelerated Upgrade Program (B1AUP) SAP Business One Roll-Out Services July 2008

Maintenance Management with SAP Solution Manager

SAP Scrum by Design. SAP Scrum by Design. Dec. 7, How to Speed-Up Development Using Agile Project Management

Time Recording for external Employees

Datenzyklus Die zeitgerechte Nutzbarmachung von Daten als Informationen Christian Gnägi, Business Consultant SAP Schweiz AG Luzern, 15.

Document split in new G/L. Document splitting in new G/L part 4 SAP ERP SAP AG

Product Owner at SAP A New Job Title Developed

VORHER WISSEN, WAS AM ENDE RAUSKOMMT. SAP CONSULTING. Das Losgrößensimulationstool von SAP. Ein Add-on zum Dispomonitor. Marc Hoppe SAP Consulting

SAP's Replenishment Lead Time Monitor. Marc Hoppe SAP Consulting. customer

Product Owner at SAP A New Job Title Developed

SAP Hybris Service Cloud: Abwicklung für den technischen Aussendienst

Content SAP Travel Management SAP ERP 6.0 with Enhancement Pack 4

How to Request a Maintenance Certificate manually through SAP Support Portal?

Von ERP und APO zu S/4HANA

SAP JVM Profiler & Memory Analyzer for SAP NetWeaver PI. SAP KHNC Call. Daniel Horacio Bianchin SAP Intelligence Platform and NetWeaver RIG

PI Sheet Enhancement in EhP5: Archiving PI Sheets and Electronic Work Instructions. Suite Solution Management Manufacturing

Implementation Package based on Service-Oriented Architecture. SCM Master Data Cockpit

Supply Chain Planning: MD04 kennt man oder doch nicht?

SAP's Replenishment Lead Time Monitor. Marc Hoppe SAP Consulting. customer

SAP Consultant Certification

SAP GRC RIG Access Control 5.3 Configuration How-to Integration between Compliant User Provisioning and NetWeaver Identity Management (IdM)

Batch Manufacturing with SAP MII and with Perfromix xmes. John Harrison SAP

Workshop: Die neue Rolle des Controllers

XML Template Transfer Transfer project templates easily between systems

Infotag MaxDB im Einsatz bei SAP-IT und SAP Hosting. Werner Thesing SAP AG

Eigenfertigungskanban - so funktioniert es. Aufbau eines Eigenfertigungskanban

SAP Solution Manager: Release Strategy and Functional Outlook. Product Management SAP Solution Manager, SAP AG

Improving UI Integration with Formal Semantics

Fiori Makers - Showcase #9 Smart Carrier

SAP Solution Manager - ITIL Support

SAP ERP HCM. Manager Self Service for E-Recruiting 6.0. New Function with Enhancement Package 3 SAP AG

SAP Risk Management 2.0

Hardware Requirements in Unicode Systems. SAP Internationalization & Unicode September 2009

SAP Solution Manager 7.0 Enterprise Edition EhP1: Work Centers and myhome. SAP Solution Manager Product Management / November 2008

SAP Enterprise Modeling by IDS Scheer Enterprise Services Repository

Page 1. Semantische Geschäftsprozessmodellierung. Agenda. Matthias Born, SAP Research

Secure Area. SAP Support Portal. SAP Service Marketplace Product Management December 2007

SAP unterwegs. Mobile Anwendungen powered by SAP NetWeaver. Peter Sperk Solution Sales, SAP Österreich

Disclaimer SAP SE or an SAP affiliate company. All rights reserved. Public

SAP NetWeaver Identity Management 7.1. Virtual Directory Server

Arne Knöller SAP Solution Architect. SAP On Premise, Hybrid oder Public Cloud Wie Sie Ihre individuelle Plattformstrategie finden

PLAN the RUN to RUN the PLAN

SAP Productivity Pak by RWD Adapter for SAP Solution Manager. Overview Presentation. E2E Solution Operations Product Management SAP AG

From Visual Administrator to SAP NetWeaver Administrator SAP Enhancement Package 1 for SAP NetWeaver CE 7.1

Erweiterte Planung mit S/4HANA «PP/DS»

Intelligente Objekte. Anwendungspotenziale im Internet der Zukunft. Dr. Uwe Kubach, SAP Research Center Dresden, SAP AG

SAP Governance, Risk & Compliance Access Control 5.3. Post-Installation Enterprise Role Management Part II: Testing SAP GRC Default Process

SAP CRM 7.0. : CRM Web CRM

Prozess und Anwendung:

Itelli.world 2016 Thomas Ross / Udo Lange / Uwe Ringeisen. S/4HANA Systembetrieb On-Premise / On-Demand oder aus der Cloud?

New Developments in R3load und R3ta to Speed Up System Migrations

5-1-2 Maintenance Strategy for SAP Core Applications

SAP NetWeaver BW Accelerator

Business Process Integration and Automation Management

SAP Risk Management 2.0

Sap's missing parts information system

Advanced Availability Transfer Transfer absences from HR to PPM

Translation for Web Intelligence XI 3.1 Using Translation Manager

5. September 2017 Ines Zuparic Beat Wyler SAP Professional Consultant Principal Manager. Variantenkonfiguration in Webshop (CPQ) und CRM

BR*TOOLS STUDIO. Markus Maurer SAP AG

Transkript:

Piloting of Test Driven Development in Combination with Scrum An experience report Christian Schmidkonz, SAP AG Jürgen Staader, SAP AG OOP - January 2008

Agenda 1. Introduction 1.1. Why TDD? 1.2. What is TDD? 1.3. Where does it come from? 2. Our Path to TDD 3. Results SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 2

Motivation Why Did We Pilot TDD? Global Quality Less errors Less maintenance Text Text Text Team Continuous high quality Testing as development activity How to do efficient testing Interest in TDD SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 3

TDD in a Nutshell 1. ensure correctness 2. write the test 3. fix the build Test / Code Refactor 5. refactor 4. fix the test SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 4

The Rules 1. New production code (API) is called first by test code 2. Change of production code only allowed if code is called before by a failing test 3. A refactoring changes the structure of the production code but not its behaviour. SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 5

TDD Belongs to the Agile Methodologies Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/ SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 6

Agenda 1. Introduction 2. Our Path to TDD 2.1. Where we started 2.2. How we introduced TDD 2.3. Scrum and TDD 3. Results SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 7

Initial Situation Development Project situated in test tool development area Positive Scrum experience Team size Global Quality Motivated team Successful with Scrum Agile Mindset Two locations SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 8

Our Path to TDD Two days training Four weeks inside coaching Sprint planning Daily work Sprint review One week outside coaching Three months on our own again Training Coaching SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 9

Synergies: Scrum and TDD Ron Jeffries - http://www.xprogramming.com/images/circles.jpg SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 10

Synergies: Scrum and TDD Scrum Team/Roles BL / Sprint Planning Ron Jeffries - http://www.xprogramming.com/images/circles.jpg Sprints SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 11

How Scrum Changed For TDD Scrum Changes Sprint planning team commitment faster planning Daily Scrum task picking and pairing Sprint Review tests as part of demo Retrospective Scrum and TDD SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 12

Agenda 1. Introduction 2. Our Path to TDD 3. Results 3.1. Impact on Project 3.2. Payoff 3.3. Lessons Learned SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 13

Impact on Project Pre-TDD Training Coaching SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 14 TDD

TDD Benefits Code is well tested Better quality Mid-term time savings Less error searching Better code base Less interruptions Better design Code is easier to change Challenges Time pressure New techniques Legacy coding SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 15

Pair Programming Benefits Raise discipline for writing the tests Team More homogenous team Improved team work Code and internal quality More homogeneous code style Continuous code review Design better and simpler Reduce risk of single code-ownership Challenges Social aspects Remote Planning different SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 16

Metrics of Sample Program During TDD Pilot Phase LOC methods arg/ meth cyclic compl inh. hier. depth max nesting meth/ class statem/ meth 16.10.2006 9645 953 0,85 1,95 1,75 0,54 7,49 4,98 06.02.2007 15179 1570 0,71 1,76 1,5 0,46 6,54 4,55 SAP 2007 / Page 17

Method Code Coverage of Sample Program During TDD Pilot Phase SAP 2007 / Page 18

Payoff Features more complete with automated test, works forever Product Owner Better internal and external quality Risk reduction through shared knowledge Team Easier planning, less debugging, more confidence Scrum Master Better sprint predictability SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 19

Lessons Learned Open minded + committed team It needs education It helps It is hard to implement It works Initially it consumes more time It improves the design It significantly improves the functional correctness In total it saves time SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 20

Thank you! Christian Schmidkonz, SAP AG Jürgen Staader, SAP AG SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 21

Copyright 2007 SAP AG All rights reserved 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. SAP, R/3, mysap, mysap.com, xapps, xapp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge 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 in several other countries all over the world. All other product and service names mentioned and associated logos displayed 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. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind. SAP, R/3, mysap, mysap.com, xapps, xapp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen. Die in diesem Dokument enthaltenen Informationen sind Eigentum von SAP. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderen Vereinbarung mit SAP. Dieses Dokument enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP -Produkts und ist für SAP nicht bindend, einen bestimmten Geschäftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. SAP übernimmt keine Verantwortung für Fehler oder Auslassungen in diesen Materialien. SAP garantiert nicht die Richtigkeit oder Vollständigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts. SAP übernimmt keine Haftung für Schäden jeglicher Art, einschließlich und ohne Einschränkung für direkte, spezielle, indirekte oder Folgeschäden im Zusammenhang mit der Verwendung dieser Unterlagen. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit. Die gesetzliche Haftung bei Personenschäden oder die Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten Dritter ab. Alle Rechte vorbehalten. SAP AG 2007 / C.Schmidkonz, J.Staader: Piloting of TDD with Scrum / Page 22