SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Der Technical Debt Manager
JUG Saxony Day 2017
Jens Nerche
@jensnerche
http://techblog.kontext-e.de
Worum geht‘s?
Warum?
Aufgaben
Diskussion
… und der Architekt?
Definition Technische Schluden
Zengyang Li, Paris Avgeriou, Peng Liang:
„Technical debt (TD) is a metaphor reflecting technical
compromises that can yield short-term benefit
but may hurt the long-term health of a software
system.“
(Paper A systematic mapping study on technical debt and its management)
Aber wer behält den Überblick?
Jeder ein bisschen?
„Verantwortung ist nicht teilbar.“
Verantwortungsdiffusion
Dedizierte Rolle:
„Technical Debt Manager“
Aufgaben
sammeln dokumentieren
bewerten priorisieren
Rückzahlung planen (Rückzahlung überwachen)
Stakeholder
Aufgaben
Sprint 1 Sprint 5 Sprint 10 Sprint 20
0
1
2
3
4
5
6
7
8
9
10
Velocity
Deliver Value Constantly
Traurige Wahrheit
Erwartung
Sprint
StoryPoints
Wurzel-Ursachen angehen
(„Root-Cause-Analysis“)
Team
Management
Kundenerwartungen
Ops
...
Menschen
„The code got that way for a reason, & if you can't
change people's habits,
it'll just re-messify again after the refactoring.“
Sarah Mei (@sarahmei) on Twitter
https://twitter.com/sarahmei/status/715639963274969088
Skills, die dabei hilfreich sind
Geduld und ein langer AtemGeduldGeduld
Soziale Kompetenz
Mit Management reden können: Investitionen in
Clean Code begründen können, ROI abschätzen,
Risiken des vorhandenen TD
einschätzen und kommunizieren
Schlitzohrigkeit im positiven Sinne, Chuzpe, Listigkeit
Ist das alles nicht
eigentlich eine Aufgabe
für den
Softwarearchitekt?
Dietrich, 62 Jahre, verheiratet
Hamburg
Modelleisenbahn
Softwarearchitekt
„Haben wir schon immer so gemacht“
Programmiert nicht mit
Erstellt Dokumentation mit Bildern
in eigener Notation, meist ohne
Legende
Denkt lange über optimale (überladene)
Architektur nach
Hat Anschluss an technologische
Entwicklung verloren
Großes Projekt, großes, agiles Team
Muss an vielen Sitzungen teilnehmen
Oft beim Kunden
Noch andere Aufgaben,
z.B. Bewerbungsgespräche
hat nicht so viel Zeit fürs Programmieren
wie sie gerne hätte
sieht die Probleme, hat aber zu wenig
Zeit sich selbst darum zu kümmern
Susann, 45 Jahre, ledig
Leipzig
Ehrenamt bei DKMS
Diplommathematikerin
Marco, 34 Jahre
Berlin
Fußball
Software Craftsman
Elternzeit, dann Teilzeit
Muss aus vertraglichen Gründen
Architekten-Rolle weiterhin übernehmen
Erfahrenes, eingespieltes Team
Projekt läuft schon einige Zeit, wichtige
Entscheidungen sind getroffen, viele
ähnliche Masken, Use Cases, ... müssen
"nur noch" hinzugefügt werden
Kein Problem wenn Architekt für gewisse
Zeit kürzer arbeitet
Hannah, 28 Jahre, verliebt
Köln
Schlagzeug, JUG Orga Team
Team Lead
"Pizzateam" (gemeinsames Pizzabacken)
Besucht mit ihrem Team die
Sachbearbeiter, beobachtet Abläufe,
„Interviews“ in Kaffeeküche
Achtet auf Clean Code
Pair Programming, Code Reviews
Organisiert Coding Dojos und Code
Retreats
Continuous Delivery
Robert, 37 Jahre, geschieden
München
Kaninchenzucht
Architekt
Architekt, weil er der einzige
Festangestellte im Projekt ist
Wurde vom Management eingesetzt, evtl.
leicht überfordert
Mangel an Qualifikation und/oder
Interesse
Andere Sachen wie Deadlines, Features
usw. sind wichtiger als Codequalität
Codequalität, Infrastruktur, ... leidet
Technischer Projektleiter,
Systemarchitekt,
Berater und Autor
Mitglied des C++-DIN-Arbeitskreises
"Es geht um die Frage, ob es nicht an der Zeit ist, die
Tatsache zu akzeptieren, dass Code immer in einem
mehr oder weniger miesen Zustand ist."
Nicolai Josuttis, Blogpost auf heise Developer
„We must finally accept that code will be crap and so
we must ???“
ACCU 2009
??? = introduce the role of a Technical Debt Manager
JUG Saxony 2017
Ich kümmere mich ab jetzt um die
Technischen Schulden:
Ich fühle mich verantwortlich
Ich forme mein T: Weiterbildung
Mache mir die betreffenden Tickets im Backlog zu eigen
Betrachte Legacy Code, mangelnde Infrastruktur etc. nicht
als Last, sondern als interessante Herausforderung
Ich forme durch mein Verhalten und meine Kompetenz
eine Kultur des Clean Code und Bewusstseins für
Technische Schulden.
Ich kümmere mich ab jetzt um die
Technischen Schulden:
Quellen
Nicolai Josuttis
https://www.heise.de/developer/artikel/Handwerkskunst-versus-miese-Realit
aet-353161.html
Uncle Bob citing Nicolai Jossutis
https://sites.google.com/site/unclebobconsultingllc/crap-code-inevitable--rum
blings-from-accu
http://avatarmaker.com/
Jusottis Bild: https://programutvikling.no/en/instructor/nicolai-josuttisis
Jens Nerche
Kontext E GmbH
Softwarearchitektur, Technischen Schulden, Brownfield-
Projekte, Agile Softwareentwicklung, Domänenspezifische
Sprachen
Email j.nerche@kontext-e.de
Twitter @jensnerche
Blog http://techblog.kontext-e.de
Homepage www.kontext-e.de
Folien Slideshare

Weitere ähnliche Inhalte

Ähnlich wie Der Technical Debt Manager

Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungDas Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungOPITZ CONSULTING Deutschland
 
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendetVortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendetLisa Reimer (geb. Wenzel)
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
Requirement Engineering & PDD
Requirement Engineering & PDDRequirement Engineering & PDD
Requirement Engineering & PDDCristina Vidu
 
User Experience im Digital Banking
User Experience im Digital BankingUser Experience im Digital Banking
User Experience im Digital BankingJürg Stuker
 
Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?
Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?
Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?embarc Software Consulting GmbH
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-qualitySebastian Dietrich
 
Warum Scrum CMMI Level 5 erfüllt
Warum Scrum CMMI Level 5 erfülltWarum Scrum CMMI Level 5 erfüllt
Warum Scrum CMMI Level 5 erfülltKEGON AG
 
Management of the system architecture in large-scale projects
Management of the system architecture in large-scale projectsManagement of the system architecture in large-scale projects
Management of the system architecture in large-scale projectsCapgemini
 
Agil und kreativ - Moderne Designprozesse
Agil und kreativ - Moderne DesignprozesseAgil und kreativ - Moderne Designprozesse
Agil und kreativ - Moderne DesignprozesseHans-Joachim Belz
 
Architektur = Kommunikation
Architektur = KommunikationArchitektur = Kommunikation
Architektur = KommunikationMatthias Bohlen
 
Enterprise Architecture Management - Endlich agil!
Enterprise Architecture Management - Endlich agil!Enterprise Architecture Management - Endlich agil!
Enterprise Architecture Management - Endlich agil!Christopher Schulz
 
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...integro
 
UX-Methoden im Projektmanagement
UX-Methoden im ProjektmanagementUX-Methoden im Projektmanagement
UX-Methoden im ProjektmanagementUwe Thimel
 
Agile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern andersAgile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern andersSteffen Thols
 
Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...
Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...
Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...Joscha Jenni
 
Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013superflomo
 

Ähnlich wie Der Technical Debt Manager (20)

Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungDas Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
 
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendetVortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Requirement Engineering & PDD
Requirement Engineering & PDDRequirement Engineering & PDD
Requirement Engineering & PDD
 
User Experience im Digital Banking
User Experience im Digital BankingUser Experience im Digital Banking
User Experience im Digital Banking
 
Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?
Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?
Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-quality
 
objectiF extrem
objectiF extremobjectiF extrem
objectiF extrem
 
Warum Scrum CMMI Level 5 erfüllt
Warum Scrum CMMI Level 5 erfülltWarum Scrum CMMI Level 5 erfüllt
Warum Scrum CMMI Level 5 erfüllt
 
Management of the system architecture in large-scale projects
Management of the system architecture in large-scale projectsManagement of the system architecture in large-scale projects
Management of the system architecture in large-scale projects
 
Agil und kreativ - Moderne Designprozesse
Agil und kreativ - Moderne DesignprozesseAgil und kreativ - Moderne Designprozesse
Agil und kreativ - Moderne Designprozesse
 
Architektur = Kommunikation
Architektur = KommunikationArchitektur = Kommunikation
Architektur = Kommunikation
 
Enterprise Architecture Management - Endlich agil!
Enterprise Architecture Management - Endlich agil!Enterprise Architecture Management - Endlich agil!
Enterprise Architecture Management - Endlich agil!
 
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
 
Mehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean CodingMehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean Coding
 
UX-Methoden im Projektmanagement
UX-Methoden im ProjektmanagementUX-Methoden im Projektmanagement
UX-Methoden im Projektmanagement
 
Agile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern andersAgile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern anders
 
Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...
Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...
Lust, Last, List? Ein Scrum Projekt reflektiert von Product Owner, Scrum Mast...
 
Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013
 
100517 cw leisenberg
100517 cw leisenberg100517 cw leisenberg
100517 cw leisenberg
 

Der Technical Debt Manager

  • 1. Der Technical Debt Manager JUG Saxony Day 2017 Jens Nerche @jensnerche http://techblog.kontext-e.de
  • 3. Definition Technische Schluden Zengyang Li, Paris Avgeriou, Peng Liang: „Technical debt (TD) is a metaphor reflecting technical compromises that can yield short-term benefit but may hurt the long-term health of a software system.“ (Paper A systematic mapping study on technical debt and its management)
  • 4. Aber wer behält den Überblick? Jeder ein bisschen? „Verantwortung ist nicht teilbar.“ Verantwortungsdiffusion Dedizierte Rolle: „Technical Debt Manager“
  • 7. Sprint 1 Sprint 5 Sprint 10 Sprint 20 0 1 2 3 4 5 6 7 8 9 10 Velocity Deliver Value Constantly Traurige Wahrheit Erwartung Sprint StoryPoints
  • 9. Menschen „The code got that way for a reason, & if you can't change people's habits, it'll just re-messify again after the refactoring.“ Sarah Mei (@sarahmei) on Twitter https://twitter.com/sarahmei/status/715639963274969088
  • 10. Skills, die dabei hilfreich sind Geduld und ein langer AtemGeduldGeduld Soziale Kompetenz Mit Management reden können: Investitionen in Clean Code begründen können, ROI abschätzen, Risiken des vorhandenen TD einschätzen und kommunizieren Schlitzohrigkeit im positiven Sinne, Chuzpe, Listigkeit
  • 11. Ist das alles nicht eigentlich eine Aufgabe für den Softwarearchitekt?
  • 12. Dietrich, 62 Jahre, verheiratet Hamburg Modelleisenbahn Softwarearchitekt „Haben wir schon immer so gemacht“ Programmiert nicht mit Erstellt Dokumentation mit Bildern in eigener Notation, meist ohne Legende Denkt lange über optimale (überladene) Architektur nach Hat Anschluss an technologische Entwicklung verloren
  • 13. Großes Projekt, großes, agiles Team Muss an vielen Sitzungen teilnehmen Oft beim Kunden Noch andere Aufgaben, z.B. Bewerbungsgespräche hat nicht so viel Zeit fürs Programmieren wie sie gerne hätte sieht die Probleme, hat aber zu wenig Zeit sich selbst darum zu kümmern Susann, 45 Jahre, ledig Leipzig Ehrenamt bei DKMS Diplommathematikerin
  • 14. Marco, 34 Jahre Berlin Fußball Software Craftsman Elternzeit, dann Teilzeit Muss aus vertraglichen Gründen Architekten-Rolle weiterhin übernehmen Erfahrenes, eingespieltes Team Projekt läuft schon einige Zeit, wichtige Entscheidungen sind getroffen, viele ähnliche Masken, Use Cases, ... müssen "nur noch" hinzugefügt werden Kein Problem wenn Architekt für gewisse Zeit kürzer arbeitet
  • 15. Hannah, 28 Jahre, verliebt Köln Schlagzeug, JUG Orga Team Team Lead "Pizzateam" (gemeinsames Pizzabacken) Besucht mit ihrem Team die Sachbearbeiter, beobachtet Abläufe, „Interviews“ in Kaffeeküche Achtet auf Clean Code Pair Programming, Code Reviews Organisiert Coding Dojos und Code Retreats Continuous Delivery
  • 16. Robert, 37 Jahre, geschieden München Kaninchenzucht Architekt Architekt, weil er der einzige Festangestellte im Projekt ist Wurde vom Management eingesetzt, evtl. leicht überfordert Mangel an Qualifikation und/oder Interesse Andere Sachen wie Deadlines, Features usw. sind wichtiger als Codequalität Codequalität, Infrastruktur, ... leidet
  • 17. Technischer Projektleiter, Systemarchitekt, Berater und Autor Mitglied des C++-DIN-Arbeitskreises
  • 18. "Es geht um die Frage, ob es nicht an der Zeit ist, die Tatsache zu akzeptieren, dass Code immer in einem mehr oder weniger miesen Zustand ist." Nicolai Josuttis, Blogpost auf heise Developer
  • 19. „We must finally accept that code will be crap and so we must ???“ ACCU 2009
  • 20. ??? = introduce the role of a Technical Debt Manager JUG Saxony 2017
  • 21. Ich kümmere mich ab jetzt um die Technischen Schulden: Ich fühle mich verantwortlich Ich forme mein T: Weiterbildung Mache mir die betreffenden Tickets im Backlog zu eigen Betrachte Legacy Code, mangelnde Infrastruktur etc. nicht als Last, sondern als interessante Herausforderung
  • 22. Ich forme durch mein Verhalten und meine Kompetenz eine Kultur des Clean Code und Bewusstseins für Technische Schulden. Ich kümmere mich ab jetzt um die Technischen Schulden:
  • 23. Quellen Nicolai Josuttis https://www.heise.de/developer/artikel/Handwerkskunst-versus-miese-Realit aet-353161.html Uncle Bob citing Nicolai Jossutis https://sites.google.com/site/unclebobconsultingllc/crap-code-inevitable--rum blings-from-accu http://avatarmaker.com/ Jusottis Bild: https://programutvikling.no/en/instructor/nicolai-josuttisis
  • 24. Jens Nerche Kontext E GmbH Softwarearchitektur, Technischen Schulden, Brownfield- Projekte, Agile Softwareentwicklung, Domänenspezifische Sprachen Email j.nerche@kontext-e.de Twitter @jensnerche Blog http://techblog.kontext-e.de Homepage www.kontext-e.de Folien Slideshare