28
1 Größe zählt Helge Nowak Bild: © kliverap / freeimages.com

ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

1

Größe zählt

Helge Nowak

Bild: © kliverap / freeimages.com

Page 2: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Zürich

Alfred Wullschleger, Schweizer Nationalbank: „Ein

Softwaresystem ist wie die Stadt Zürich…“

Bild: © Südliche Aussicht von der Weid bei Zürich, Heinrich Keller, 1880 / ETH Zürich

Page 3: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Lebenszyklus

• Entwicklung

• Inbetriebnahme

• Betrieb

• Außerbetriebnahme/Ablösung

Page 4: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

TCO laut Gartner

Capital

15-20%

Entwicklung

50-60%

...

Kosten €

Wartung

20-35%

Wartung

20-35%

1. Jahr 2. Jahr 3. Jahr

Wartung

20-35%

What the CFO Wants to Know and the Project Manager Wants to Hide

Aus: „The Cost and Risk of Application Development Decisions“, Gartner Research

Page 5: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Aufwand Neuentwicklung

• XP: four project variables: Resources, Scope, Quality,

Time (c2-Wiki)

• Also ist der Aufwand eine Funktion von

Funktionsumfang

Qualität

Page 6: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Betriebsphase

• Wartung

Fehlerbehebung

Anpassung an Änderungen in Umgebung/Infrastruktur

• Weiterentwicklung

Neuerungen

Änderungen

Page 7: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Aufwand Betriebsphase?

• Sollte doch gleich wie für die Neuentwicklung sein…

• …oder?

Page 8: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Ein Experiment

• 1 Aufgabe

• 4 Systemhäuser

• 4 Implementierungen

• Zuweisung an Nutzer per Zufallsgenerator

• mehrere Jahre Nutzung

• Dann in allen Systemen die gleichen Änderungen

vornehmen

Page 9: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Ein Experiment

• Abschätzung der Wartbarkeit

von unabhängigem Experten

• Lag völlig daneben

=>

• Tatsächlicher Aufwand hängt

NUR vom Codeumfang ab!

• Qualität/Technical Dept spielt

KEINE Rolle! http://www.leanway.no/code-is-the-problem/

Bild: © freedesignfile.com

Page 10: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Aufwand Betriebsphase

• NICHT gleich wie für Neuentwicklung!

• Rückwirkung auf bestehendem Code

=>

• Aufwand ist Funktion von

Funktionsumfang

Qualität

Codeumfang

• Die Abhängigkeit vom Codeumfang ist nichtlinear

Page 11: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Einfluß von Qualität/Technical Dept

• Sicher nicht null

• Aber wesentlich kleiner als Codeumfang

• Codemetriken konnten bislang empirisch nicht mit der

Wartbarkeit korreliert werden

Page 12: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Maximierung der Wartbarkeit

• Der Codeumfang ist wegen des nichtlinearen

Einflusses der wichtigste Parameter

• Die Stärke der Nichtlinearität wird bestimmt durch

Architektur

Technologie

Qualität

Page 13: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Ansätze zur Maximierung der Wartbarkeit

• Codeumfang minimieren

• „Gute“ Architekturen implementieren

Lose Kopplung

• Geeignete Technologien auswählen

Lose Kopplung

• Gute Codequalität erreichen

Lose Kopplung

Page 14: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Funktionsumfang klein halten

• YAGNI (You ain‘t gonna need it)

• YDNIA (You don‘t need it anymore)

• Konsequent wertorientierte Priorisierung: nur das

implementieren, was Wert für den Kunden darstellt

Page 15: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Codeumfang klein halten

• YAGNI

Keine unnötige Funktionalität implementieren

Nicht „auf Vorrat“ codieren

Nicht optimieren, bevor es notwendig ist (premature

optimization)

• YDNIA

Nicht mehr benötigte Funktionalität (sicher) entfernen

Page 16: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Codeumfang klein halten

• „Most simple thing that could possibly work“

Selbst bei klar definierten Aufgaben, gibt es viele Wege zum

Ziel

Studie „Code Similarities Beyond Copy & Paste“ von Elmar

Jürgens, Florian Deissenböck, Benjamin Hummel:

109 unterschiedliche Lösungen, kürzeste Implementierung 8

Zeilen, längste 55 Zeilen, mit unterschiedlicher

Verschachtelungstiefe und cyclomatischer Komplexität

• Ockhams Rasiermesser: „Entitäten dürfen nicht

über das Notwendige hinaus vermehrt werden.“

Page 17: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Reducing Complexity

• Kein „Reducing Complexity“, wenn die Komplexität der

Domäne wesentlich für die Funktionalität des Systems

ist!

• Einstein: „Man muß die Dinge so einfach wie

möglich machen. Aber nicht einfacher.“

Bild: © hardwear / spreadshirt.de

Page 18: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Redundanz vermeiden

• Kein Copy & Paste

• Möglichst EINE durchgängige Technologie

Vermeidet Wiederholungen an den APIs

Page 19: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Refactoring

• Refactoring ist Optimierung des Codeumfangs

• Refactoring als kontinuierliche Aufgabe

Page 20: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Vollständige Codebasis

• Boilerplatecode

• Code außerhalb der Codebasis: Frameworks,

Bibliotheken

Z. B. Dependency Injection macht den Code umfangreicher,

komplexer und schwerer nachvollziehbar: Funktionalität ist

nicht mehr an nur einer Stelle implementiert, sondern befindet

sich auch in externen Konfigurationsdateien

• Nutzen von Wiederverwendung nicht überschätzen!

(kann eine Form von Premature Optimization sein)

Page 21: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Anforderungen an die Technologie

• Maximale Semantik

• Minimale Syntax

• „Sprechender“ Code

Muß auch nach Jahren noch verstanden werden

• DSLs

• DDD, „generische DSLs“

Page 22: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Formbarkeit

• Neuerungen und Änderungen sollten so unabhängig

wie möglich vom existierenden Code sein

• Fernwirkungen im Code sollten vermieden werden

Technologisch bedingt (z. B. statische Typisierung)

• siehe z. B.: „IEEE SOFTWARE: Dynamically Typed Languages“ von

Laurence Tratt, Roel Wuyts

Implementierungsbedingt (Spaghetti-Code, etc.)

„Wellen“ und „Brüche“ im Codekörper

• Je weniger Auswirkungen auf andere Codeteile, um so

kleiner ist der Implementierungs- und Testaufwand

Page 23: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Agile Prozesse

• Entwicklung und Betrieb sind bei fortgeschrittenen

agilen Methoden nicht mehr getrennt

• Viele Agile Praktiken sind geeignet, die Codebasis

klein zu halten

• Continuous Delivery lehrt uns: „When it hurts, do it

more often“

Page 24: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Unser Mantra

• Einfach klein ist schön!

Bild: © Robertas Pezas / greatvectors.com

Page 25: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Praxisbeispiel

• Smalltalk: seit 1980 als Image-basiertes System

kontinuierlich weitergegeben und weiter entwickelt

d. h. die Basis-Objekte von heute sind DIESELBEN Objekte

von damals, aber weiterentwickelt

• In unserer Produktentwicklung haben wir in den letzten

Jahren unter Wahrung der Rückwärtskompatibilität ca.

30% Code entfernt

• Dadurch wurden Ressourcen frei für Innovationen

Page 26: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Ihre Erfahrungen und Ideen

• ……………………….

• ……………………….

• ……………………….

• ……………………….

Page 27: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

Helge Nowak [email protected]

Twitter: @nowagil

CINCOM and the Quadrant Logo are registered trademarks of Cincom Systems, Inc.

All other trademarks belong to their respective companies.

© 2014 Cincom Systems, Inc.

All rights reserved

Page 28: ATG Engineering & Support Quarterly Meeting October 23, 1998 · 2016-01-11 · TCO laut Gartner Capital 15-20% Entwicklung 50-60% ... Kosten € Wartung 20-35% Wartung 20-35% 1. Jahr

meet the SPEAKER @speakerlounge

1. OG DIREKT ÜBER DEM EMPFANG