Software Renovierung Ein Weg aus der Kostenfalle Dr. Markus Pizka 16. September 2008
Fragestellung Lebenszyklen >30 Jahre Steigende Kosten und Risiken Abnehmende Qualität Zuverlässigkeit Sicherheit Wartungsaufwand oder? M. Pizka, GmbH 2
Überblick Kostentrends und Risiken Ursachen Business-Driven IT? Stellhebel Software-Qualität Fallbeispiele Software-Renovierung Software Asset Management M. Pizka, GmbH 3
Kostenfalle Kostenentwicklung Handlungsspielraum sinkt Innovationsfähigkeit nimmt ab 450,00 400,00 350,00 Budget Mio EUR p.a. 300,00 250,00 200,00 150,00 Vorhaben Wartung Betrieb Infrastruktur 100,00 50,00 0,00 steigende laufende Kosten (Funktionswachstum, Alterung, Volumina) 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 Jahr M. Pizka, GmbH 4
Langfristig Effektiv durch Effizienz Kostenentwicklung Mio EUR p.a. 450,00 400,00 350,00 300,00 250,00 200,00 150,00 100,00 50,00 0,00 Budget 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 Jahr Effektivitätsgewinn Höheres Business Value Effizienzsteigerung Senkung lfd. Kosten durch Renovierung M. Pizka, GmbH 5
Ursachen (Exklusiv) Business-Driven IT Organisationen Geschäftsprozesse treiben Entwicklung der Anwendungslandschaft Einzelprojekte mit Fokus - Fachliche Anforderungen / Business Value - Geschwindigkeit langfristige Effekte nachrangig Alt-Systeme und Infrastruktur haben keinen (starken) Stakeholder Fehlendes Wissen über Software-Wartung Notwendigkeit: Software verschleißt nicht doch sie altert! Methodik (Forschung und Lehre) - Langfriststrategien: Ablösung versus Modernisierung - Prozesse und Werkzeuge; z.b. Restrukturierung und Migration Effizienz findet langfristig wenig Beachtung M. Pizka, GmbH 6
Alterung D.L. Parnas 94: Programs, like people, get old. Software aging occurs in all successful products. Ursachen: mangelnde Bewegung unkundige Behandlung Symptome: Gewichtszunahme Sinkende Performance und Zuverlässigkeit Prävention: Vorausplanen (Qualität, flexibles Design) Aufzeichnungen aufbewahren (Dokumentation), Internet Java UML CASE, OO Water Fall RDBMS IMS 1970 1980 1990 2000 zweite Meinung einholen (Review) Heilkunde: Alterungsprozess aufhalten, Restrukturierung, Amputation SOA Innovation Jahr M. Pizka, GmbH 7
Verfall Bell-Labs: 100Mloc, 5000 Module, 15 Jahre, 10.000 Entwickler Eick, Bell Labs, 2001. Does Code Decay? Zunahme: Änderungsaufwand, Fehlerpotential Vermeidung: Qualitätscontrolling, zeitnahe Gegenmaßnahmen M. Pizka, GmbH 8
Qualität beurteilen und messen? DIN EN ISO 9000: Grad, in dem ein Satz inhärenter Merkmale Anforderungen erfüllt Halstead Volumen (verschiedene) Operatoren und Operanden McCabe s Cyclomatic Complexity Kontrollfluss Gegenbeispiele einfach konstruierbar SEI Maintainability Index = 71-5.2 * ln(avghv) 0.23 * avgcc(g') 16.2 * ln (avgloc) + 50 * sin (sqrt(2.4 * percm)) HV: Halstead Volumen percm: % Kommentare OO-Metriken: NOC, CBO, LCOM, weder notwendig noch hinreichend ISO9126: u.a. Changeability: easily change the software ~ comments per change? Wirksames Qualitätsverständnis: begründet und objektiv prüfbar! M. Pizka, GmbH 9
Qualität = Wirtschaftlichkeit Q-Merkmal Korrektheit Fehler Kostenfaktor Performance Personal Zuverlässigkeit Usability Sicherheit Wartbarkeit Erweiterung Schulung Betrieb Wartung (ca. 30%) Möglichkeit der Beurteilung von beiden Seiten M. Pizka, GmbH 10
Magisches Dreieck Funktionalität Qualität Budget Zeit M. Pizka, GmbH 11
Tools Organization Turnover Situation Structure Software Algorithms TUM/ Qualitätsmatrix Fakt existence consistency + congruency + + + + redundancy + count + + + - - - - - - + + + + Attribut Kosten Analysis Maintain Implement C. Location Impact A. Coding Testing Einfluss Prüfwerkzeuge + Inspektionen TUM, Deißenböck, Pizka 2006 M. Pizka, GmbH 12
Erfahrungen Systeme: 30 LOC: ca. 15 Mio. LOC Gesamt Asset: 400 Mio. EUR Gesamtbudget p.a.: 20 Mio. EUR Fakten: 260 25% Ökonomie : 75% Technik 50% Hard : 50% Soft Facts Technologien: Client: Java, VBA, C/++/#, PHP Mainframe: COBOL, PL/I Branchen: Automotive, Finanzen, Software, Marketing M. Pizka, GmbH 13
Kennzahlen System Redundanz (15% - 90%) IF per ksloc (30-70) Literal Redundanz (2-18) Vokabular per ksloc (12-150) Aktualität der Dokumentation (1-6) Normalisierung des Datenmodells (1-6) Missbrauch ~ Code in Includes Organisation MA mit Wissen über Prozess / Software (0-10) Ökonomie Produktivität in RFSLOC / PT (5-300) Bugs per SLOC (1/50 1/2000) M. Pizka, GmbH 14
Benchmark Software Portfolio 30 Technische Qualität 0-30 1.000 2.000 3.000 4.000-500 1.000 1.500 2.000 Kosten p.a. (T ) M. Pizka, GmbH 15
Software Archäologie Obfuskation MS_stupid() Function banana() Function isgroup(x As String) /* assigns country code */ zjhjnt zjntx zkk zkm zkmnr zknn Algorithmik CUR = FIRST; FOR Z = 1 TO ANZ WHILE (CUR ^= NULL && NOT LAST) IF CUR->NEXT ^= NULL THEN CUR = CUR->NEXT; ELSE LAST = '1'; END; M. Pizka, GmbH 16
Renovierung Fallbeispiel 1 Situation Geschäftskritisches System Kostentreiber: Ressourcenverbrauch Ziel: Senkung Verbrauch -30% (System galt als optimiert) Vorgehen 1. Analyse Verbrauchsdaten 2. Profiling 3. Inspektion (Code-Reading) 4. Entwurf Zielalgorithmen 5. Anleitung ext. Lieferant Teilimplementierung Kommunikation Ergebnisse Ablauf Maßnahme Resultat 1 MR Fetch -55% 2 MR Fetch -32% 3&5 MR Fetch, - 85% Bin Suche, Quicksort 4 MR Fetch -19% 6 Bin. Suche - 57% 7 Cursor Insert - 20% 8 DB Index - 40% 9 Caching - 30% - 120tEUR p.a bzw. - 42% Aufwand: ca. 50 PT (ROI: 4 Monate) Sekundäreffekte Wachsendes Volumen beherrschbar reduzierter Testaufwand Ausbildung M. Pizka, GmbH 17
Renovierung Fallbeispiel 2 Situation Geschäftskritisches System System galt als nicht mehr wartbar Kostentreiber: Betrieb, Störungen Ziel: Wartbarkeit herstellen, Betrieb - 30% Vorgehen 1. Code-Reading 2. Redokumentation UML Use Cases OO Designkonzept 3. Entwurf und Abstimmung Redesign 4. Implementierung und Test (im Team) 5. Produktivsetzung Ergebnisse Redundanz eliminiert, Modellbildung Schnittstellenbereinigung, dynamic SQL, ca. 60PT 100% (+intern) 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Umfang Testaufwand CPU Vorher Nachher Sekundäreffekte Beseitigte Fehler Innovationsfähigkeit wiederhergestellt M. Pizka, GmbH 18
Modernisierungsstrategie Bereinigung Plattformmigration Sprachtransformation Restrukturierung Weiterentwicklung M. Pizka, GmbH 19
Software ist Vermögen Software ist Kostenfaktor, Produktionsfaktor und Vermögen! Wertermittlung Wiederherstellungsaufwand, z.b. 10 MLOC ~ 500 Mio EUR Net Present Value (R t : Cashflow Zeitpunkt t) Zielsetzung: Vermögen bewahren, (realen Wert) maximieren Wertzuwachs Investition I minimieren Laufzeit T verlängern Cashflow R t erhöhen (future cost, benefit ) M. Pizka, GmbH 20
Vermögensverwaltung extend (Nachkauf) shutdown (Abstoßen) run & maintain (Depotgebühr) fix, restructure (Umschichten) reverse eng. (Informieren) Application Landscape adapt (Veränderung bestätigen) t M. Pizka, GmbH 21
Optimierungsprozess SRAH US Verteidigungsministerium Situation 1997: 3/4 Budget in Bestand gebunden, Budgetmangel für Vorhaben Lösung: Maßnahmenkatalog, 3-stufige Bewertung (tech./ökon./strat.), Umsetzung Strategisch absichern Chancen identifizieren Ökonomisch quantifizieren Umsetzung M. Pizka, GmbH 22
Renovierung versus Ablösung Ablösung (optimistisch) 10 Mio. EUR Kosten, 2 Jahre 0,75 Mio. EUR Nutzen p.a. Break-Even: 2021 Renovierung (pessimistisch) 3 Mio. EUR Kosten, 2 Jahre 0,4 Mio. EUR Nutzen p.a. Break-Even: 2015 16.000.000,00 Kosten/Nutzen Ablösung 9.000.000,00 Kosten/Nutzen Renovierung 14.000.000,00 12.000.000,00 Wertvernichtung 8.000.000,00 7.000.000,00 Kosten Nutzen 10.000.000,00 8.000.000,00 6.000.000,00 4.000.000,00 Kosten Nutzen 6.000.000,00 5.000.000,00 4.000.000,00 3.000.000,00 2.000.000,00 2.000.000,00 1.000.000,00-2008 2010 2012 2014 2016 2018 2020 2022 2024 2026 Jahr - 2008 2010 2012 2014 2016 2018 2020 2022 2024 2026 Jahr M. Pizka, GmbH 23
Effizienz niedrig hoch Software-Renovierung Software-Asset durch Kontinuität bewahren Effizienz steigern, Effektivität sichern Shutdown, Extend Operate Shutdown, Extend, Reengineer niedrig Effektivität Reengineer hoch M. Pizka, GmbH 24
Wer wir sind 15 Jahre Forschung Informationstechnologie und -strategie GmbH seit 2003 30%-40% Wachstum p.a. Standorte gate Garching, München Tallinn, Estland Expertise Automotive, Energie, Finanzen, Pharma, Software Vertrieb, Entwicklung, Controlling, Produktion Services Engineering: Geschäftskritische Systeme, Reengineering Consulting: Software Management, Prozessverbesserung M. Pizka, GmbH 25