20.06.2017 1 Technische Schulden im Software Entwicklungsprozess Wer zahlt die Zinsen? Jahrestagung GI- Fachgruppe Architekturen Leipzig 2017 1 Hochschule in privater Trägerschaft der Deutschen Telekom AG mit staatlicher Anerkennung Studiengänge: • Angewandte Informatik • Wirtschaftsinformatik • Kommunikations- und Medieninformatik • Telekommunikationsinformatik • Informations- und Kommunikationstechnik Berufsbegleitend, konzernintegriert und direkt Bachelor- und Masterstudiengänge Seite 2
20
Embed
Technische Schulden im Software Entwicklungsprozess › portal › Softwareforen... · Technische Schulden (aus BA Marco Bauer) waghalsig umsichtig bewusst unbewusst Wir haben keine
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
20.06.2017
1
Technische Schulden im Software Entwicklungsprozess
Patentanmeldungen 2012 und 2013 Professor des Jahres 2015 GI Regionalgruppensprecher in Leipzig
• Software Qualität
• Technische Schulden
• Auswirkungen von schlechter Software in der digitalen Gesellschaft – wer zahlt die Zinsen?
Agenda
4
20.06.2017
3
Software Engineering 5
Software Qualität
SW-Qualität ist wie Schönheit – Geschmackssache: jeder nutzt Software auf seine Weise – produktbezogen – prozessbezogen – SW lebt länger, als der Entwickler glaubt!
5
6
Software Qualität
Software – ist immateriell, in sich inhomogen – wird immer nur einmal entwickelt und dann kopiert – verschleißt bei Benutzung nicht – Anforderungen ändern sich ständig – entsteht wie ein Kunstwerk
6
20.06.2017
4
7
Wie entsteht Software Qualität?
7
Softwarequalität Verwendete Technologien
Involvierte Personen
Finanzielles und zeitliches Budget
Prozessqualität
Kostenentwicklung in der IT
8
20.06.2017
5
Technische Schulden (aus BA Marco Bauer)
waghalsig umsichtig
bewusst
unbewusst
Wir haben keine Zeit für Design
Der Termin steht, wir müssen mit den
Konsequenzen leben
Was ist Modularisierung?
Jetzt wissen wir, was wir hätten tun
müssen
Refaktorierung von gesunden technischen Schulden
10
20.06.2017
6
Umgang mit technischen Schulden
Technische Schulden
unbeabsichtigt beabsichtigt
kurzzeitig langfristig
ungesund gesund
Arten von technischen Schulden
20.06.2017
7
Software Metriken
Ermittlung der technischen Schulden mit Metriken
20.06.2017
8
Beispielprojekt
Kritikalität technischer Schulden
20.06.2017
9
Gewichtete Kommentarqualität
Zyklomatische Komplexität
20.06.2017
10
Komplexität im Quellcode
Auswirkungen von technischen Schulden
20.06.2017
11
Erkannte technische Schulden
Erkannte technische Schulden im Projekt
• T1: defizitäre Kommentarqualität
• T2: kein persistentes Logging im Frontend
• T3: Frontendfunktion ohne Regressionstests
• T4: Nicht-Einhaltung von Programmierrichtlinien in Abrechnung.vb
• T5: Unsichere Zugriffsebenen in Abrechnung.vb
22
20.06.2017
12
Kritikalität der erkannten technischen Schulden
Refaktorierungskosten der erkannten technischen Schulden
20.06.2017
13
Erfolgreicher Einsatz von Software Metriken
Notwendiger Aufwand zur Beseitigung von technischen Schulden
• Der Refaktorierungsaufwand umfasst insgesamt 99 Story Points. Das entspricht ungefähr 460.000 €
• Die analysierten Abweichungen vom gewünschten Qualitätsstandard lassen sich in Entwicklungskosten für die Behebung der technischen Schulden umrechnen.
26
20.06.2017
14
Erreichtes Ziel
• Die durchgeführte Risikobewertung ermöglichte die Formulierung einer expliziten Handlungsempfehlung an das Management in Form von einem priorisierten Refaktorierungsplan.
• Zusammenfassend kann die Sinnhaftigkeit des Einsatzes von allgemeinen Metriken zur Auffindung von technischen Schulden auf ein bestimmtes Projekt mit Ausnahme der Größenmetriken belegt werden.
• „Software ist heute allgegenwärtig und kommt im täglichen Leben überall zum Einsatz: in der Kommunikation, der Unterhaltungselektronik, im Haushalt, in der Medizintechnik und in sicherheitskritischen Bereichen.”
• Entsprechend den von der GI formulierten „Grand Challenges der Informatik“ beschäftigt sich der Workshop mit einer aktuellen Herausforderung der Informatik – der Software Qualität. Insbesondere soll erreicht werden: Nachhaltigkeit, Transparenz und Sicherheit.
Linuxwochen Wien 2016
36
20.06.2017
19
Gütesiegel „geprüfte Sicherheit“ für Software
• „Verlässliche Software steigert das Vertrauen der Nutzer, führt zu einem effizienteren Einsatz knapper Ressourcen und verhindert Katastrophen in sicherheitskritischen Bereichen sowie in der Infrastruktur.”
• „Sichtbarmachen von Software Qualität
• Sichtbarmachen von Software Sicherheit
• Die Einhaltung von Software Entwicklungs-richtlinien sichtbar machen
Linuxwochen Wien 2016
37
38
1. Hofmann, K.: IT Business, 18.3.2015: CeBIT 2015: Anwendungen mit den meisten Sicherheitslücken 2. BSI Lagebericht 2014: https://www.allianz-fuer-
3. Balzert, H.; Lehrbuch der SW Technik – Basiskonzepte und Requirements Engineering, Spektrum Akademischer Verlag; Auflage: 3. Aufl. 2009
4. Glenford J. Myers: Reliable Software through Composite Design. Mason and Lipscomb Publishers, New York 1974. 5. Easter eggs: https://de.wikipedia.org/wiki/Easter_Egg 6. River Rafting Foto: Source: rafting-in-rishikesh.com 7. Barry Boehm: in Sophist White Paper 2011 8. Andreas Essigkrug, Thomas Mey: Rational Unified Process kompakt. Spektrum Akademischer Verlag, Heidelberg
u. a. 2003, ISBN 3-8274-1440-7. 9. https://www.google.de/search?q=Essen+lecker&tbm=isch&tbo=u&source=univ&sa=X&ved=0CDwQsARqFQoTCK