Strategien


In 3 Schritten

McKinsey-Tipps für die Anwendungsentwicklung

Dr. Andreas Schaffry ist freiberuflicher IT-Fachjournalist und von 2006 bis 2015 für die CIO.de-Redaktion tätig. Die inhaltlichen Schwerpunkte seiner Berichterstattung liegen in den Bereichen ERP, Business Intelligence, CRM und SCM mit Schwerpunkt auf SAP und in der Darstellung aktueller IT-Trends wie SaaS, Cloud Computing oder Enterprise Mobility. Er schreibt insbesondere über die vielfältigen Wechselwirkungen zwischen IT und Business und die damit verbundenen Transformationsprozesse in Unternehmen.
Durch Output-basierte Kenngrößen wie Use Cases und Use Case Points lässt sich die Produktivität der Applikationsentwicklung messen und effektiver machen.
Je weniger bei der Applikationsentwicklung Top-Down-Anforderungen und Bottom-Up Use-Case-Point-(UCP)-Kalkulationen auseinanderliegen, desto effizienter ist sie.
Je weniger bei der Applikationsentwicklung Top-Down-Anforderungen und Bottom-Up Use-Case-Point-(UCP)-Kalkulationen auseinanderliegen, desto effizienter ist sie.
Foto: McKinsey

Selbst Großunternehmen, die viel Geld in die Applikationsentwicklung investieren, können die Ergebnisse ihrer IT-Projekte häufig nicht exakt messen und bewerten. Das jedenfalls behaupten Michael Huskins, James Kaplan und Krish Krishnakanthan vom Beratungsunternehmen McKinsey. Der Grund: Firmen verlassen sich weitgehend auf Input-orientierte Messgrößen. Dazu zählen die Stundensätze der IT-Entwickler, Abweichungen vom veranschlagten Budget oder der Prozentsatz an Entwicklungsleistung, die zu bestimmten Lieferterminen erbracht ist. Diese Kenngrößen seien zwar nützlich, weil sie die Leistung der Applikationsentwicklung anzeigen.

Wenn es jedoch darum geht, die von einem Entwicklerteam innerhalb eines bestimmten Zeitraums an einen Fachbereich gelieferte Funktionalität zu bestimmen oder die Produktivität der Entwicklertruppe zu messen, tappen IT-Organisationen meist im Dunklen. Um die Effektivität bei der Anwendungsentwicklung zu erhöhen, raten die McKinsey-Autoren, eine Kombination der Output-basierten Kenngrößen "Use Case" (UC) und "Use Case Points" (UCS) einzusetzen.

Anwendungsentwicklung produktiver machen

Ein Use Case oder Anwendungsfall ist eine logische Methode, um funktionale und technische Anforderungen für Entwicklungsprojekte strukturiert zu sammeln. In Use Case Points wird dagegen die Anzahl der ausgelieferten Softwarefunktionalitäten erfasst. Ein UC beschreibe dabei ein Szenario, in dem ein Endanwender oder ein anderes IT-System mit einer Applikation interagiert sowie die Transaktionen, welche die Anwendung ausführt. Ein UC besteht zum Beispiel aus den Einzelschritten, die ein Bankkunde durchführt, um sich an einer Online-Banking-Anwendung anzumelden und einer Transaktion wie einer Überweisung, wofür die Applikation auf Informationen zugreift, die in einer Datenbank gespeichert sind. Rund um einen UC lassen sich dann technische Anforderungen und Design-Entscheidungen für eine Anwendung gruppieren.

Diese Struktur beschleunigt innerhalb des Lebenszyklus der Softwareentwicklung die Phase "Sammeln von Anforderungen", gleichzeitig wird das Risiko reduziert, dem Business falsche Funktionalität zu liefern. Dadurch würden den Autoren zufolge zeit- und kostenintensive Change Requests sowie Nacharbeiten während der Design- und Build-Phase vermieden. Zugleich lassen sich mit Use Cases funktionale Testfälle einfacher schreiben und durchführen.

Dagegen werden die Use Case Points aus den Informationen abgeleitet, die in den Use Cases gesammelt sind. UCP-Kalkulationen setzen sich zusammen aus der Anzahl der Transaktionen, die eine Applikation ausführt, und der Zahl der Personen oder IT-Systeme, die mit dieser Anwendung interagieren. Die Rohzahlen werden dann aufbereitet, indem darin auch die technische Komplexität einer Anwendung oder der Prozentsatz des zu modifizierenden Codes einbezogen werden. Für die Berechnungen sind die Daten zudem mit den Top-Down-Anforderungen aus dem Management und den Fachbereichen abzugleichen. Auf dieser Grundlage lässt sich dann in drei Schritten eine effiziente Applikationsentwicklung umsetzen.

Schritt 1: Score an Funktionalitäten definieren

Für jedes einzelne Entwicklungsprojekt ist in Form eines "Score" die relative Zahl der Softwarefunktionalitäten festzulegen, die ausgeliefert werden sollen. Eine hohe Übereinstimmung zwischen UCP-Kalkulation und dem vorgegebenem Score legt nahe, dass sich mit der UCP-Methode der Output und damit auch die Produktivität verschiedener Entwicklungs-Teams verlässlich messen und somit auch vergleichen lassen. Die Berechnungen können im Entwicklungs-Lebenszyklus einer Applikation bereits zu einem frühen Zeitpunkt durchgeführt und dann sukzessive verfeinert sowie angepasst werden.

Zur Startseite