Kontakt

Dr. Pascal Sieber & Partners AG

Laupenstrasse 45

3008 Bern

1 Schwanengasse
Bern, BE, 3011
Switzerland

+41 31 566 93 00

Software Risk Assessment

News

Software Risk Assessment

Eva Gerber

Evaluation der Software-Architektur und Source Code-Qualität bei iGovPortal.ch

Dank der Analyse konnten wir
einen wegweisenden Entscheid mit
grosser Sicherheit treffen.
— Christian Dolf (Management Office)
 
 

Das iGovPortal (www.igovportal.ch) ist eine Webanwendung, welche die Kantone St. Gallen, Luzern, Graubünden, Wallis, Fribourg, Jura, Basel-Landschaft, Solothurn und Glarus nutzen. Die Anwendung wurde über die Jahre stetig weiterentwickelt, und nun sollen als Ergänzung weitere Funktionalitäten und Komponenten inkludiert werden.

Seitens Vereins «iGovPortal.ch» stand die Frage im Raum, ob eine Erweiterung oder Erneuerung der Anwendung angestrebt werden soll. Die Vereinsversammlung wollte sicherstellen, dass es in den nächsten 5 bis 10 Jahren lohnend ist, in ihre bestehende Anwendung zu investieren:

Daher wurde sieber&partners seitens Vereins «iGovPortal.ch» angefragt, die Anwendung iGovPortal hinsichtlich der Software-Architektur und der Source Code-Qualität zu beurteilen, sowohl relevante Risiken als auch Chancen zu identifizieren und die Qualität einzuschätzen, um den Führungsausschuss und die technische Kommission bei der strategischen Orientierung und Entscheidung zu unterstützen.

Projektbestreben

Das übergeordnete Ziel des Projekts war es, die Software-Architektur zu evaluieren und die Source Code-Qualität anhand der Wartbarkeit der Anwendung zu beurteilen.

Auch beabsichtigt wurde die Evaluation der API-Qualität, die Analyse des Entwicklungsprozesses und die Abschätzung des Wartungsaufwands, des Wiederherstellungswerts und der bestehenden technischen Schuld. Final soll überprüft werden, ob die Software-Architektur mit den definierten Anforderungen übereinstimmt.

Am Projektende wurden iGovPortal sogenannte «Key Findings und priorisierte Empfehlungen» – basierend auf dem Review – unterbreitet.

Projektvorgehen

Die ersten Besprechungstermine ermöglichten sieber&partners ein Verständnis der Architektur, Codeorganisation sowie des Entwicklungsprozesses, um in einem weiteren Schritt die bestehende Architektur analysieren und Findings identifizieren zu können. Damit wurde die Analysephase jedoch nicht abgeschlossen, sondern erst eingeläutet:

sieber&partners kümmerte sich gezielt darum, bis in die Tiefen des Codes zu analysieren, und liess iGovPortal die Befunde besprechen. Zum Schluss wurden iGovPortals technischer Kommission die finalen Antworten auf die Untersuchungsfragen präsentiert.

Analyse des Source Codes und Beurteilung der Softwarequalität

Für die Analyse des Source Codes wurden einerseits ein Analyseframework, andererseits das Tool Sigrid der Software Improvement Group (SIG) eingesetzt. Die definitive Analyse des Source Codes fand durch sieber&partners im Labor der SIG statt.

Das benutzte Framework der Softwarequalitätsanalyse basiert auf ISO 25010-Eigenschaften mit Fokus auf die Wartbarkeit und besteht aus Architektur- und Code-Qualität-Metriken. Dabei werden einzelne Kennzahlen zu einem Rating verdichtet, wobei die schlussendliche Bewertung anhand eines Benchmarks erfolgt. Da das besagte Rating TÜViT-zertifiziert ist, ist es auch möglich, entwickelte Lösungen zertifizieren zu lassen.

Die Beurteilung der Wartbarkeit basierte auf einem Modell, welches sicherstellt, dass Einzelmessungen zu einer 1 bis 5-Sterne-Bewertung aggregiert werden. Anschliessend und mittels acht Mess-grössen wurden die ISO 25010-Charakteristiken Analysierbarkeit, Veränderbarkeit, Testbarkeit, Modularität und Wiederverwendbarkeit bestimmt. Die Qualität des Systems wurde dabei mit einem Benchmark aus tausenden Softwaresysteme Messungen verglichen.

Architekturanalyse

Die Analyse der Software-Architektur erfolgte in Anlehnung an die Architektur-Trade-Off-Methode: Die Durchführung basierte auf gebildeten Szenarien, mittels Qualitätsattributen und Geschäftstreibern sowie einer parallel dazu ausgeführten Analyse der Softwarearchitektur, des Architekturansatzes und der Architekturentscheidungen, damit sieber&partners eine Risikoanalyse durchführen und Empfehlungen identifizieren kann.

Beurteilung der API-Qualität nach Maturität und Automatisierung

Für die Beurteilung wurde ein Framework basierend auf dem Richardson Maturity Model angewendet. Zur Beurteilung der API-Qualität wurden drei Niveaus definiert: Basic, Intermediate und Advanced.

Key Findings und weitere Zusammenarbeit

Durch die IST-Analyse von sieber&partners gingen sogenannte «Key Findings und Empfehlungen» hervor – z.B. bezüglich Architekturkonsistenz, third-party Libraries oder der Code Hygiene. Die Findings sind in der Lage aufzuzeigen, dass sich durch Erneuerungen (statt einer komplett neuen Architektur) Kosten einsparen lassen, weshalb sie in einem neuen Mandat umgesetzt werden. Damit wird die Zusammenarbeit mit sieber&partners fortgeführt, und durch unsere Expert:innen Unterstützung bei der Umsetzung geboten.