Taktiken zum Qualitätsmerkmal Wartbarkeit.
Modularität
Fördert auch: Analysierbarkeit, Angemessenheit
Domain-Driven Design
Softwarearchitektur basierend auf der Geschäftsdomäne strukturieren
Taktiken zum Qualitätsmerkmal Wartbarkeit.
Modularität
Fördert auch: Analysierbarkeit, Angemessenheit
Softwarearchitektur basierend auf der Geschäftsdomäne strukturieren
Modularität
Fördert auch: Änderbarkeit, Prüfbarkeit
Funktionalitäten in klar abgegrenzte, unabhängige Bereiche aufteilen
Modularität
Fördert auch: Wiederverwendbarkeit, Prüfbarkeit
Anwendung in kleine, unabhängige und wiederverwendbare Komponenten aufteilen
Analysierbarkeit
Erweiterungen klar von bestehenden Codeteilen abgrenzen
Modularität, Analysierbarkeit
Fördert auch: Änderbarkeit, Wiederverwendbarkeit
Systemarchitektur in unabhängige, austauschbare Module strukturieren
Modularität
Fördert auch: Änderbarkeit, Analysierbarkeit, Ersetzbarkeit
Softwaresystem in logische Schichten mit klaren Verantwortlichkeiten unterteilen
Wiederverwendbarkeit
Fördert auch: Änderbarkeit, Analysierbarkeit
Bewährte Lösungsmuster für wiederkehrende Designprobleme anwenden
Analysierbarkeit
Fördert auch: Modularität, Interoperabilität
Design und Logik eines Systems vor externen Einflüssen entkoppeln
Analysierbarkeit
Fördert auch: Änderbarkeit, Kapazität
Regelmäßig systematisch die Softwarearchitektur überprüfen
Änderbarkeit
Fördert auch: Angemessenheit, Prüfbarkeit
Ein minimales, lauffähiges System mit den Architekturkernideen entwickeln
Änderbarkeit
Fördert auch: Reife, Prüfbarkeit
Validieren, dass eine Architektur unter erwartetem Wachstum wartbar bleibt
Analysierbarkeit, Änderbarkeit
Quellcode nach bewährten Prinzipien für Lesbarkeit und Wartbarkeit strukturieren
Modularität
Fördert auch: Änderbarkeit, Wiederverwendbarkeit
Grundlegende Designprinzipien für objektorientierte Programmierung anwenden
Änderbarkeit, Analysierbarkeit
Regelmäßig Code zur Verbesserung der internen Struktur überarbeiten
Änderbarkeit, Analysierbarkeit
Regelmäßige Übungen zur Verbesserung des Codes durchführen
Analysierbarkeit
Fördert auch: Prüfbarkeit, Integrität
Automatisiert den Quellcode auf potenzielle Probleme und Verbesserungsmöglichkeiten überprüfen
Analysierbarkeit
Fördert auch: Änderbarkeit, Integrität, Korrektheit
Systematisch Quellcode anderer Entwickler überprüfen
Analysierbarkeit
Fördert auch: Änderbarkeit
Überflüssigen oder veralteten Code zur Reduzierung der Codebasis gezielt entfernen
Analysierbarkeit, Änderbarkeit
Fördert auch: Koexistenz
Veraltete Funktionen systematisch kennzeichnen und schrittweise entfernen
Analysierbarkeit, Änderbarkeit
Fördert auch: Prüfbarkeit
Komplexe Design- und Debugging-Herausforderungen durch gemeinsames Programmieren an einem Arbeitsplatz lösen
Analysierbarkeit
Fördert auch: Prüfbarkeit, Integrität
Zwei Entwickler gemeinsam an einer Aufgabe an einem Arbeitsplatz arbeiten lassen
Änderbarkeit
Fördert auch: Analysierbarkeit, Prüfbarkeit
Codequalität durch öffentliche Code-Reviews, transparentes Issue-Tracking und externe Beiträge verbessern
Analysierbarkeit
Fördert auch: Änderbarkeit
Einheitliche Richtlinien für Codeformatierung und -struktur definieren und durchsetzen
Analysierbarkeit
Fördert auch: Prüfbarkeit
Quantitative Messgrößen zur Bewertung der Codequalität erheben und analysieren
Analysierbarkeit
Codequalität durch standardisierte, automatisierte Überprüfungen sicherstellen
Prüfbarkeit
Fördert auch: Änderbarkeit, Fehlertoleranz
Softwaretests automatisch durchführen und regelmäßig ausführen
Prüfbarkeit
Fördert auch: Fehlertoleranz, Interoperabilität
Tests zur Überprüfung des Zusammenspiels verschiedener Systemkomponenten durchführen
Prüfbarkeit
Fördert auch: Änderbarkeit, Fehlertoleranz
Tests vor der eigentlichen Implementierung schreiben
Prüfbarkeit
Fördert auch: Vollständigkeit, Bedienbarkeit
Basierend auf den zu erwartenden Verhaltensweisen entwickeln
Prüfbarkeit
Fördert auch: Änderbarkeit, Verfügbarkeit
Anteil des durch Tests abgedeckten Codes messen
Modularität
Fördert auch: Prüfbarkeit, Wiederverwendbarkeit
Abhängigkeiten zwischen Komponenten extern verwalten und injizieren
Modularität
Fördert auch: Änderbarkeit, Prüfbarkeit
Abhängigkeiten zentral verwalten und bereitstellen lassen
Änderbarkeit
Fördert auch: Reife, Integrität, Verfügbarkeit
Verwaltung und Aktualisierung von externen Abhängigkeiten systematisieren
Änderbarkeit, Prüfbarkeit
Fördert auch: Verfügbarkeit
Regelmäßige Codeänderungen in ein gemeinsames Repository integrieren
Änderbarkeit
Fördert auch: Prüfbarkeit, Analysierbarkeit
Inkrementelles, wartbares Design durch zeitlich begrenzte Lieferzyklen erzwingen
Analysierbarkeit
Fördert auch: Änderbarkeit
Regelmäßige Workshops zur Weiterentwicklung der Softwarearchitektur durchführen
Analysierbarkeit
Fördert auch: Änderbarkeit, Wiederverwendbarkeit
Gremiums zur Überwachung und Steuerung der Architekturentwicklung etablieren
Modularität
Fördert auch: Wiederverwendbarkeit
Architekturprinzipien und Best Practices definieren und durchsetzen
Analysierbarkeit
Übereinstimmung der Softwarearchitektur mit den definierten Architekturprinzipien überprüfen
Analysierbarkeit
Fördert auch: Interoperabilität
Regelmäßig die Einhaltung von Architekturvorgaben überprüfen
Änderbarkeit
Fördert auch: Kapazität
Langfristig die Architekturentwicklung planen und steuern
Änderbarkeit
Fördert auch: Analysierbarkeit, Prüfbarkeit
Änderungen am Quellcode systematisch verfolgen und verwalten
Änderbarkeit
Fördert auch: Prüfbarkeit, Verfügbarkeit
Funktionen durch Konfigurationsschalter aktivieren oder deaktivieren
Analysierbarkeit, Prüfbarkeit
Fördert auch: Verfügbarkeit
Systemverhalten umfassend protokollieren
Analysierbarkeit
Fördert auch: Änderbarkeit
Wissen über das Softwareprojekt zentral sammeln und verteilen
Analysierbarkeit, Änderbarkeit
Softwarearchitektur detailliert dokumentieren und pflegen
Analysierbarkeit
Fördert auch: Änderbarkeit
Wichtige Architekturentscheidungen und deren Begründungen dokumentieren
Analysierbarkeit
Fördert auch: Änderbarkeit, Prüfbarkeit
Aktuelle und leicht zugängliche Dokumentation als integraler Bestandteil der Entwicklung etablieren
Analysierbarkeit
Fördert auch: Änderbarkeit, Wiederverwendbarkeit
Dokumentation wie Quellcode behandeln und verwalten
Modularität
Fördert auch: Interoperabilität, Wiederverwendbarkeit
Schnittstellen vor der Implementierung der Anwendungslogik definieren und entwerfen
Analysierbarkeit
Fördert auch: Erlernbarkeit, Interoperabilität
Schnittstellen und deren Verwendung detailliert beschreiben
Analysierbarkeit
Fördert auch: Änderbarkeit, Wiederverwendbarkeit
Code durch aussagekräftige Kommentare und Dokumentationsblöcke ergänzen
Analysierbarkeit
Fördert auch: Änderbarkeit, Bedienbarkeit
APIs mit natürlichsprachähnlicher Methodenverkettung entwerfen
Prüfbarkeit
Fördert auch: Änderbarkeit, Verfügbarkeit
Robustheit von Softwaretests durch gezielte Codeänderungen testen
Prüfbarkeit
Fördert auch: Änderbarkeit, Verfügbarkeit
Software durch zufällige Eingaben und Eigenschaften überprüfen
Modularität
Fördert auch: Änderbarkeit, Wiederverwendbarkeit
Querschnittliche Belange von der Hauptfunktionalität trennen
Änderbarkeit
Fördert auch: Prüfbarkeit, Korrektheit
Codeteile basierend auf Vorlagen oder Metadaten automatisiert erstellen
Änderbarkeit
Fördert auch: Verfügbarkeit
Automatisiert Softwareänderungen für die Produktionsumgebung vorbereiten
Änderbarkeit
Fördert auch: Verfügbarkeit, Vollständigkeit
Vollautomatisch Softwareänderungen in der Produktionsumgebung bereitstellen
Modularität
Fördert auch: Änderbarkeit
Anwendung in kleine, unabhängige Dienste aufteilen
Änderbarkeit
Fördert auch: Installierbarkeit
Anwendungen und ihre Abhängigkeiten in Containern kapseln
Änderbarkeit, Wiederverwendbarkeit
Fördert auch: Fehlertoleranz
Infrastruktur durch Code definieren und verwalten
Modularität, Änderbarkeit
Abhängigkeiten zwischen Modulen minimieren, damit Änderungen nicht kaskadieren
Modularität, Analysierbarkeit
Sicherstellen, dass jedes Modul einen fokussierten, klar definierten Zweck mit eng verwandten Verantwortlichkeiten hat
Prüfbarkeit, Änderbarkeit
Fördert auch: Modularität
Geschäftslogik durch Ports und Adapter von Infrastrukturbelangen isolieren
Modularität, Änderbarkeit
Fördert auch: Wiederverwendbarkeit
Komponenten durch asynchrone Ereignisse entkoppeln für unabhängige Weiterentwicklung und Modifikation
Änderbarkeit, Wiederverwendbarkeit
Altsysteme schrittweise durch Umleitung des Datenverkehrs auf neue Implementierungen ablösen
Analysierbarkeit
Fördert auch: Prüfbarkeit
Strukturiertes Logging, verteiltes Tracing und Metriken für tiefgreifendes Systemverständnis implementieren
Prüfbarkeit, Modularität
Fördert auch: Änderbarkeit
Sicherstellen, dass Service-Schnittstellen vereinbarten Verträgen entsprechen, für unabhängige Modifikation
Änderbarkeit, Prüfbarkeit
Kurzlebige Branches kontinuierlich in den Hauptzweig integrieren für schnelle, sichere Änderungen
Änderbarkeit
Fördert auch: Analysierbarkeit
Datenbankschemata inkrementell mit versionskontrollierten Migrationsskripten weiterentwickeln
Änderbarkeit, Analysierbarkeit
Technische Schulden systematisch identifizieren, nachverfolgen und priorisieren