Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st...

19
© improuv GmbH Agile Leadership. http://improuv.com Agil heißt … zuverlässig entwickeln und liefern Christoph Mathis Mario Gadet 20.02.2014

Transcript of Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st...

Page 1: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership. http://improuv.com

Agil heißt …zuverlässig entwickeln und liefern

Christoph Mathis

Mario Gadet 20.02.2014

Page 2: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Agile Thinking

• Face-2-Face

• conversational, collaborative, adaptive SW Entwicklung

• Generalisten als Spezialisten

• minimale Übergaben, Teamwork,

• gemeinsame Zielsetzung, breiter Wissensaustausch

• Gesamter Entwicklungprozess und Fortschritt transparent

http://commons.wikimedia.org/wiki/File:Agile_Software_Development_methodology.jpg

Page 3: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Wasserfall vs. Agile Entwicklung

http://www.targetprocess.com/blog/2008/09/waterfall-got-you-down-with.html

Page 4: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Risiko und Lieferwert

• Waterfall Process

• Specify-Design-Implement-Test

• Big-Bang Integration

• Iterative Test Driven Development

• Continuous Integration

Page 5: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Scrum = jeden Sprint liefern

• das Team ist verantwortlich

• Kontinuierliche Verbesserung

• Regelmäßige Lieferung von wertiger Software

• 1st principal Agile Manifesto„Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

• Feedback:

• dysfunktional arbeitende Teams, Organisationseinheiten erkennbar

• Agile generates information by aiming to deliver value: Transparency on actual progress, product increments

• What customer wants vs. needs!

Page 6: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Risiko und Kosten per IterationWasserfall Methodik

Specification Design Implementation Testing Deployment Maintenance

Chance of Failure

3M 1M 3M 2M 1M n Years

Iteration, Cycle Time

Page 7: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Cost of ChangeBoehm vs. Beck, Cockburn

http://patrickwilsonwelsh.com/?p=10 http://alistair.cockburn.us/Disciplined+Learning

Page 8: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

TCO VergleichTotal Cost of Ownership, Product vs. Project

http://people10.com/blog/total-cost-of-ownership-tco-is-lower-in-agile-development/

Page 9: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Scrum - The Technical Perspective

• Test-Driven Development, Refactoring, Pair Programming, Simple Design, and Continuous Integration.

Unit UnitUnitUnit

UnitUnitUnitUnit

UnitUnitUnit Unit Restaufwand

Zeit

Page 10: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Hardware in the LoopModel-Driven-Engineering

• „reine“ HIL Defizite

• Langfristige Verfügbarkeit von Bauteilen

• Custom-Hardware, ad-hoc Systeme sind teuer

• Starke Limitierung von Datenerfassung und –aufzeichnen

• FPGA

• Prototyping integrierter Schaltkreise

• Wiederverwendbare, Modulare Architektur

• Simulation von Hardware failure modes

• ohne Anpassung der Software (logging, diagnostics)

• erhebliche Kostenreduktion

1. Model

2. Simulate

3. Generate, Synthesis

4. Test on HW

Page 11: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

HIL Spektrum

Custom Hardware

• High development NRE

• Static capabilities

• Parts obsolescence

FPGA-based

• Flexibiltiy

• Design insight

• Inexpensive COTS parts

Contractor EDU

• Limited design insight

• Needs contractforesight

• Reduced independency

EDU = Engineering Design Unit

NRE = Non-recurring engineering

Page 12: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Lean High-Quality Delivery Chain

• develop a system that delivers high performance to customers

• optimum production levels demand a reliable supply chain of quality parts

• improve quality and productivity by taking cost and waste out of all facets of an operation

• Lean Management Style

• Get each person/unit/supplier to take initiative to solve problems and improve his or her job.

• Ensure that each persons’/units’/suppliers’ job is aligned to provide value for the customer and prosperity for the company.

Page 13: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Design

Develop

Integrate

Test

Release

Continuous Integration and Delivery

R1.0 R1.2

Page 14: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Continuous Integration and DeliverySIPOC Value Chain

Supplier Input Process Output Customer

Continuous Delivery

Continuous Integration

2. Makethe test

pass

3. Refactor

1. Write a failing

testTDD

Cycle IP Test

Suite

HQ Delivery

Upstream CI

IP Test

Suite

AcceptanceTests

Page 15: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Continuous Integration and DeliveryJenkins und Sonar

Page 16: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Continuous Delivery ResultEmbedded Systems

• automated tests

• traceability of changes

• reduced release time

• improved inter-team communication

• more time for development

• more motivation within the Teams

• know-how sharing (reducing Bus-factor)

• no need on dedicated release manager

• overall quality improvement recognized by stakeholders

Page 17: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Wikispeed C3 - the Open Source Car

• Agile Methoden

• Testgetriebe Entsicklung, Bsp. Handbremse ohneReibung

• Objektorientiere Design Prinzipien

• Contract-first Design (overspec HW interface)

• Modularität, lose Kopplung

• Ergebnis

• simulations and tests before, during and after construction (5 stars NHTSA)

• three months from conception through the first mile

• 637kg (aluminum frame, carbon fiber body)

• 100km/h in 5 sec, Vmax 240km/h, 2.16l/100km

Page 18: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

Key Messages

• nach Scrum Einführung weitere Verbesserungen antizipieren

• “sauberes” Scrum als Basis

• Features vertikal schneiden

• Organisation braucht ganzheitliches agiles Mindset

• Software- und Hardwarestände frühzeitig Integrieren

• Continuous Integration und Delivery ist State-of-the-Art

• Investitionen in CI Infrastruktur zahlt sich aus

• nicht nur in Projekten und Budgetzyklen denken, TCO beachten

Page 19: Agil heißt … zuverlässig entwickeln und liefern · Agil heißt … zuverlässig ... •1st principal Agile Manifesto „Our highest priority is to satisfy the customer through

© improuv GmbH Agile Leadership | http://improuv.com

• Christoph Mathis• Scrum Trainer und Coach• Geschäftsführer• [email protected]• Tel +49 170 3888374

• improuv GmbH• Brecherspitzstr. 8• 81541 München• http://improuv.com

Vielen Dank

• Mario Gadet• Scrum Master und

Continuous Delivery• [email protected]• Tel +49 157 82963844