Schnittstellen und Abhängigkeiten zwischen Implementierungssubsystemen wurden definiert.
Die Arbeitslast ist gleichmäßig auf das Implementierungsteam verteilt.
Potenzielle Engpässe wurden erkannt und die Arbeiten erneut verteilt. Es wurden Pläne für unvorhersehbare Ereignisse
erstellt, damit kritische Arbeiten erneut verteilt werden können, wenn sich die ursprüngliche Arbeitsverteilung als
unausgewogen erweist. |
Es sind keine Abhängigkeitsinstanzen vorhanden, die über mehr als eine Schichtgrenze hinausgehen.
Nicht erforderliche Abhängigkeiten von Subsystemen unterer Ebenen wurden eliminiert.
Die Auswirkungen der erforderlichen Abhängigkeiten von Subsystemen unterer Ebenen wurden verringert, indem dafür gesorgt wurde, dass die Subsysteme der mittleren Schichten Schnittstellen von Subsystemen der unteren Schichten erneut exportieren.
Es sind nicht mehr als sieben Schichten vorhanden (plus oder minus zwei), oder es gibt einen triftigen Grund dafür, dass mehr Schichten existieren.
Das Verhältnis zwischen Anzahl der Pakete oder Subsysteme und Anzahl der Implementierungselemente entspricht Größe und Komplexität der Anwendung.
Ein Verhältnis von 5 Paketen oder Subsystemen zu 1.000 Dateien ist beispielsweise ein Hinweis darauf, dass etwas nicht
stimmt. |
Der Umfang des Quellcodes entspricht den Erwartungen, die auf der Anzahl der Designklassen basieren.
100.000 Zeilen Code für 10 Designklassen sind beispielweise ein Hinweis darauf, dass entweder Design oder Implementierung
oder beides mangelhaft ist. |
Der tatsächliche Implementierungsaufwand entspricht in etwa dem geschätzten Aufwand. Falls nicht, wurde die Basis für die Schätzungen untersucht und angepasst.
|