- Grundlagen:
- Software-Architektur: Struktur, Bausteine/Komponenten, Schnittstellen, übergreifende (querschnittliche) Konzepte
- Veränderung, Evolution, Wartung, Verbesserung von Software
- Kategorien von Problemen und Risiken von Software (Technische Schulden)
- Kernbegriffe rund um Verbesserung und Änderung von Software
- Technische Pflege
Ist-Situation analysieren:
- Ist-Analyse, Stärken/Schwächen-Analyse
- Stakeholder
- Problem, Ursache versus Symptom, Lösungsansatz
Probleme und Lösungsansätze schätzen und bewerten:
- Aufwand, Kosten, Schätzung, Beobachtung/Messung, Annahmen
- Investition, Ertrag, Kosten, Wert
- Return-on-Invest (ROI)
- Break-Even
- RTC- und BTC-Kosten
- Intervallschätzung, Gesetz-der-großen-Zahl
Verbesserung langfristig planen:
- Explizite Darstellung (Dokumentation) von bewerteten Problemen und Lösungsoptionen
- Gruppierung/Clusterung von Lösungen
- Abhängigkeiten von Problemen und Lösungen
- Mögliche m:n Relation von Problemen und Lösungsansätzen
- Synergieeffekte
- Iterativ-inkrementelles Vorgehen
- Entwicklung und Kommunikation langfristiger Lösungsstrategien
Typische Ansätze für Verbesserung:
- Strukturelle versus konzeptionelle Verbesserung
- Prozess- und Produktverbesserung
- Verbesserung in Code, Daten, querschnittlichen Konzepten, Prozessen, Infrastruktur, Analysierbarkeit/Monitoring
- Abbau technischer Schulden
- Verbesserungsmaßnahmen für Quellcode: Refactoring, Reduktion von Komplexität und Kopplung, Erhöhung der Lesbarkeit und Verständlichkeit
- Automatisierung von Prozessen zur Senkung von Veränderungsrisiken, insbesondere automatisierte Tests
Beispiele für Verbesserung:
- Art und Ausprägung der vorgestellten Beispiele können von der Schulung bzw. den Interessen der Teilnehmer abhängen
Methode
In diesem Seminar vermitteln Ihnen unsere Trainer:innen die Schulungsinhalte anhand von Vorträgen, die mit Diskussionen und Erfahrungsaustausch mit anderen Teilnehmenden sowie mit Fallbeispielen angereichert werden.