Derzeit stellt sich die Frage: was ist der Unterschied zwischen klassischer Software-Entwicklung und modernen agilen Verfahren? Dieser ist, das zeigte die «IT-Confidence-Konferenz» Tokio: Agile Entwickler messen, was sie produzieren. Ihre Messaspekte sind Grösse, Aufwand, Fehlerdichte und die technische Schuld der angefertigten Lösung. Traditionelle Entwicklungen hingegen vertrauen auf Pläne und Spezifikationen, auch wenn sich diese als unzutreffend und unbrauchbar herausstellen sollten.
Klares Anforderungsprofil definieren
Moderne Software-Entwicklung unterstellen der Software, dass sie eine Art Kommunikationswissenschaft sei, an der Menschen aus unterschiedlichen Fachbereichen und Maschinen partizipieren. Diese sollen am Schluss den Anwendern den höchsten Mehrwert liefern. Dazu müssen die Entwickler den ICT-Diensten detailliert mitteilen, was sie wann und wie zu leisten haben. Deswegen kommt der Einbettung von ICT-Dienstleistungen in die Unternehmung immer höhere Bedeutung zu.
Primär ist erforderlich, dass die Bedürfnisse der Anwender direkt in die Entwicklung einfliessen. Die Agile Vorgehensweise hat dazu Mechanismen erarbeitet, deren Effektivität messbar ist. Das ist aber noch nicht ausreichend; ebenso relevant ist es, den Prozess und die Ergebnisse der Ausarbeitung zu ermitteln. Zum Prozess gehören Produktivität, Fehlerdichte und Prozesskosten; zum Ergebnis Akzeptanz, Zuverlässigkeit und Sicherheit der ICT-Dienstleistungen.
Erfahrungen und Analysen zwingend
Die International Software Benchmarking Standards Group (ISBSG) hat dazu in über 20 Jahren ein einzigartiges Kompendium an Wissen aufgebaut. Ursprünglich gestartet zum Zwecke der Aufwandsschätzung, umfasst die ISBSG-Datenbank heute einen grossen Erfahrungsschatz an 7‘000 Software-Projekten aus der ganzen Welt.
Während früher der funktionale Umfang einer Software der entscheidende Kostenfaktor war, so sind es heute Aspekte wie Testintensität und Fehleranfälligkeit einer oft aus vielen Komponenten und Diensten bestehenden ICT-Installation. Vor allem bei Safety-kritischen Software-Anwendungen ist die vom Benutzer wahrgenommene Funktionalität längst weniger wichtig als das «Innenleben» (bestehend aus redundanter Funktionalität, Rückmeldungen und Zuverlässigkeitschecks). Dieses Innenleben entsteht oft erst in der Ausarbeitung während einem Sprint. Wird das Ergebnis nicht gemessen, so bleibt unbekannt, ob der Dienst vertrauenswürdig ist.
Option «Vergleich» wichtig
Viele von Software-Entwicklern verwendete Messverfahren laufen vollständig automatisch, in der Regel tagfertig. So wird heute der Projektfortschritt täglich mit Jira oder einer Kanban-Matrix, Testabdeckung und Fehlerdichte mittels SonarQube festgehalten. Auch bei Model-based-Designs wie Simulink oder Use-Case-Modellierung mit Enterprise Architect sind automatische Messverfahren erhältlich.
Es genügt aber nicht, zu messen. Erforderlich ist zudem das Wissen, welche Messergebnisse gut genug sind. Auch in dieser Hinsicht hat die «IT-Confidence-Konferenz» sowie der Workshop der ISBSG in Tokio bedeutende, neue Erkenntnisse gebracht:
Entscheidend ist, Resultate vergleichen zu können. Oft ist dies nicht innerhalb der eigenen Organisation möglich, da Wissen über Software-Benchmarking fehlt und eine jahrelang geführte Datensammlung nicht verfügbar ist. Hier hilft die ISBSG-Datenbank.
Die Firmen HP und IBM haben darüber hinaus an der Konferenz demonstriert, wie sie mit Hilfe der ISBSG-Daten vorhersehbar fähige ICT-Projekte durchführen, die innerhalb der gesetzten Vorgaben bleiben.
Vor Ort ein Bild machen
Das Messen von Software ermöglicht ein sog. «Scope-Management» (Inhalts- und Umfangsmanagement). Dabei werden die funktionale Grösse, die Kosten und die benötigte Zeit laufend beobachtet und im Gleichgewicht gehalten. Dies ist nur möglich, wenn laufend die wichtigsten Parameter im Projekt erfasst und mit Benchmarks verglichen werden. Pekka Forselius hat das in seinem Vortrag in Tokio eindrücklich gezeigt. Es ist erfreulich, dass der Finne am 4. Mai 2015 an einer Veranstaltung von ICTscope.ch in Bern mitwirken wird.
Thomas Fehlmann ist Leiter der swissICT-Fachgruppe ictscope.ch
Über Ictscope.ch
2014 entstand aus Fachgruppen einzelner Verbände – darunter die swiss-ICT-Fachgruppe Swisma – eine Gruppe ictscope.ch. Sie engagiert sich dafür, dass u.a. im öffentlichen Sektor in der Schweiz ICT Scope Management zum Thema wird. Die Gruppe ist nun bei der Schweizer Informatik Gesellschaft (Fokus: Hochschulbildung und technische Informatik), swissICT (Fokus: Anwendung in der Praxis) und SPM (Fokus: Projektmanagement) verankert. Die Gruppe führt diverse Events durch.
swissICT ist Mitglied der ISBSG und offeriert ihren Mitgliedern Zugang zur Datenbank mit 20% Rabatt:
www.isbsg.org/