20
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

Technische Schulden im Software Entwicklungsprozess › portal › Softwareforen... · Technische Schulden (aus BA Marco Bauer) waghalsig umsichtig bewusst unbewusst Wir haben keine

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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.06.2017

2

3

Software Qualität ist wie Schönheit

Name: Profn. Dr.-Ing. Sabine Radomski Berufung: Informations- und Kommunikationstechnologien Forschungsgebiete: Software Qualität, Cloud Computing,

Energiemanagement, IT Sicherheit Lehrveranstaltungen:

Software Engineering Software Management Verteilte Systeme

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.

28

Vielen Dank für die Aufmerksamkeit

und

immer gut gepflegte Software

20.06.2017

15

29

GI Regionalgruppe Leipzig

Aktivitäten

30

20.06.2017

16

Kooperationen

31

32

Kontakt

Profn. Dr.-Ing. Sabine Radomski Applied computer science

Hochschule für Telekommunikation Leipzig

(HfTL)

Germany

[email protected]

20.06.2017

17

33

Sorgfalt bei der Herstellung

Sorgfalt bei der Herstellung

34

20.06.2017

18

Sorgfalt bei der Herstellung

Linuxwochen Wien 2016

Gütesiegel „geprüfte Sicherheit“ für Software

• „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-

cybersicherheit.de/SharedDocs/Downloads/DE/BSI/Publikationen/Lageberichte/Lagebericht2014.pdf?__blob=publicationFile

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

XGh_Of78gCFUEWDwodHcoP4w&biw=1024&bih=671 10. https://www.google.de/search?q=gourmet+essen&tbm=isch&tbo=u&source=univ&sa=X&ved=0CEAQsARqFQoTC

LbA74Sg78gCFcUADwodlTMJ6w&biw=1024&bih=671 11. http://www.ferchau.de/news/details/schoene-smarte-welt-4042/ 12. Von LCPL JOHN MCGARITY, USMC - http://www.defenselink.mil/multimedia/, Gemeinfrei,

https://commons.wikimedia.org/w/index.php?curid=3647061 13. Bilder : fotocommunity.de; 14. http://www.fitforfun.de/beauty-wellness/haut-haare/huebsch-schoenheit-ist-messbar-_aid_8673.html 15. http://www5.in.tum.de/lehre/seminare/semsoft/unterlagen_02/ariane/website/Ariane.Htm 16. https://de.wikipedia.org/wiki/Alter 17. https://de.wikipedia.org/wiki/McDonnell_Douglas_F/A-18 18. https://timedotcom.files.wordpress.com/2015/12/rtrtbv.jpg?quality=75&strip=color&w=1100 19. https://de.wikipedia.org/wiki/McDonnell_F-4

References

20.06.2017

20

39

20. Content disclaimer: Standard content warnings on xkcd comic pages

21. Programmieren: Reuters

22. broken computer: http://www.loj.name/comp_svcs.htm

23. desktop glass broken: http://www.tophdwallpaersland.com/pc-desktop-backgrounds.html/desktop-broken-glass-windows-computer-wallpaper-backgrounds

24. bad code bart simpson: http://www.codeproject.com/Tips/1029496/How-to-Avoid-Low-Quality-Development-With-Third

25. 2cb71: https://www.linkedin.com/pulse/20141207144637-10429763-good-and-bad-software-engineering-manager

26. bad language: https://pixabay.com/de/wort-zorn-software-ingenieur-904454/

27. Baby at Computer: https://hecticparents.com/author/hecticparents/page/3/

28. Baby Computer: https://www.tnooz.com/article/open-apis-in-travel-need-to-grow-up/

29. Windows Fehler: http://www.pcwelt.de/ratgeber/Fun-Special-witzige-Windows-Fehlermeldungen-240507.html

30. https://de.wikipedia.org/wiki/Akne#/media/File:AcneVulgarisUSMIL.jpg

31. http://bestcarmag.com/gallery/1964-ferrari-275/page/2

32. https://www.it-agile.de/wissen/methoden/kanban/

33. https://familiefamilienrecht.wordpress.com/2015/01/01/kleiner-bub-spricht-mit-mr-barack-obama/

34. Spiegel; TV5 Monde

35. BA Marco Bauer, HfTL, 2015

36. https://www.lorent-online.com/softwareentwicklung/

References