Schmitt-Rousselle |
Ardo Schmitt-Rousselle |
Grundlegende Metriken und KPI's für zeitgemäße (iterative) Softwareentwicklung |
Die hier im Auszug aufgezeigten Metriken stellen nur eine generelle Basis für ein plan- und ergebnisorientiertes Arbeiten.
Dabei ist es nicht so bedeutend, welche Technik oder welches Prozessmodell Anwendung findet. Wichtig ist Planung und stetige Überprüfung der Ergebnisse, ohne die Anforderung und Ergebnis kaum zur Deckung gelangen. Die Beispiele sind alle aus dem "echten" Leben gegriffen. Dabei wurden möglichst überschaubare Bereichsgrößen gewählt. Text und Bilder sind dem ersten Entwurfsmanuskript entnommem. |
|
Einführung |
|
1. Einleitung | Es wird viel von einer Krise innerhalb der Software gesprochen. Dem wird weitläufig zugestimmt und zum Alltag übergegangen. Der Autor möchte hier bewusst überspitzt formulieren: Wir haben keine Softwarekrise, sondern eine Softwaremanagementkrise. Damit soll ausgedrückt werden, dass ein Softwareunternehmen anders geführt werden muss als z.B. ein Autokonzern. In den letzten Jahren haben sich Verfahrensweisen herauskristallisiert, die erfolgreicher sind als andere. Es wird nicht mehr viel vom „scrach“ entwickelt, auch hat die Entwicklungsmethodik zugenommen. Allein, dies haben die Vorstandsetagen bisher im allgemeinen noch wenig realisiert und in folge dessen sprechen Management und Entwicklung verschiedene Sprachen und arbeiten oft asynchron. Mit diesem Handbuch wird auch der Versuch unternommen, diese Welten enger zusammenzuführen. Jedes Unternehmen, insbesondere ein Softwareproduzent stellt ein hoch komplexes und sensibles Gebilde da. Veränderungen wirken sich unternehmensweit aus und dies ist sinnvoll und bewusst zu steuern. Statistiken sind ein unentbehrliches Hilfsmittel, allein die Erhebungsgrundlagen müssen klar, verständlich und kompatibel sein, damit ihre Aussagen dass leisten können, was sie zu leisten versprechen. Dieses Handbuch behandelt grundlegende Mess- und Bewertungsverfahren für eine zeitgemäße Softwareentwicklung. Alle vorgestellten Methoden entstammen der Praxis und haben sich dort bewert, d.h. sie haben zu konkreten Ergebnissen und Verbesserungen geführt. Alle Verfahren sind bewusst einfach gestaltet, so dass ihre Einführung weder individuelle Infrastruktur noch schwer abschätzbaren Aufwand scheitern kann. Selbstverständlich bilden sie lediglich das persönliche Credo des Autors und sind nach örtlicher und inhaltlicher Gegebenheiten anzupassen oder zu erweitern. |
| 1.1 Ziel | Jede Maßnahme, jede Prozessveränderung bedarf eindeutiger Ziele. Das oberste Ziel jedes Unternehmens ist die Mehrung des Gewinns, zumindest die Konsolidierung eines gesunden finanziellen Zustandes. Somit ist letztlich jeder Aufwand mit dem Ertrag in Beziehung zu setzen. Der Ertrag wird nicht im direkten Gegenzug erwirtschaftet, er wird über einen zu definierenden Zeitraum erzielt. Des weiteren muss zwischen Projektziele, Projektfamilienziele und unternehmensweiten Zielen unterschieden werden.[1] Diese differenzierten Ziele gilt es für jede Mess- und Bewertungsvorschrift genau vorzugeben. Gegen diese Ziele werden dann die Ergebnisse bewertet.
|
| 1.2 Mittel | Die vorgelegten Metriken haben den Anspruch, einfach zu verstehen und einfach umsetzbar zu sein. Es wird bewusst auf jegliche spezielle Toolunterstützung verzichtet. Allerdings sollte die Anwendung der Officeprogramme, sowie das Schreiben einfacher SQL – Befehle und Batchdatein kein Hinderungsgrund darstellen.
|
|
1.3 Modell der Prozessänderung | Alle metrischen Untersuchungen zielen letztlich auf Kostenreduzierung[2]. Signifikant schlechte Werte signalisieren den Bedarf an Prozessänderungen. Eine Prozessänderung bedeutet Aufwand und Einarbeitungszeit für alle Betroffenen. Prozesse werden nicht von jetzt auf gleich umgestellt, sondern gemäß iterativer[3] Planung, die auch eine Kosten – Nutzen Kalkulation beinhaltet. Eine Ursache für die Softwarekrise ist schlechtgeplante Unternehmenssteuerung. Heute sind flache Hierarchien das Maß aller Dinge, morgen wohl definierte Strukturen, die den Entscheidungsprozess durch Aufteilung in mehrere Entscheidungsebenen vereinfachen möchten. Ungeplante und unkalkulierte Prozessänderungen können sind mit hohen Risiken verbunden. Eine Prozessänderung, die sich nicht in 3 Monaten amortisiert, gilt oft schon als Fehlinvestition und wird zurückgenommen oder durch einen anderen Prozess ersetzt. Dass diese hektischen Aktivitäten letztlich nichts bringen außer Kosten und genervten Mitarbeitern ist evident. Dem vorzubeugen, ist eine sorgfältige Planung und Abstimmung im Vorfeld unabdingbar. Prozessänderungen entstehen nicht losgelöst in den Rechnern der Prozessmanager, sondern zusammen mit denjenigen, die diese Prozesse leben werden. Nur die Prozesse, die auf eine breite Akzeptanz treffen, liefern gute Performancewerte. Wird diese Voraussetzung nicht geschaffen, wird ein Teil der täglichen Arbeitszeit daraufhin verwandt, genau diese ungeliebten Prozesse zu umgehen. Prozessänderungen werden – wie gesagt – iterativ vollzogen. Dabei wird von Iteration zu Iteration eine Bewertung des geänderten Prozesses vorgenommen, der Aufschluss über die nächsten Schritte gibt. Die meisten Prozesse sollen letztlich unternehmensweit gelten. Startpunkt ist jedoch ein einzelnes Projekt, das sozusagen zu einem Testprojekt des oder der Prozesse wird. Für dieses Verfahren sprechen schwerwiegende Gründe: 1. Auftretende Seiteneffekte werden minimiert. 2. Die Teammitglieder werden zu Multiplikatoren, die die Übertragung auf weitere Projekte erleichtern. 3. Konkrete Ergebnisse und Erfahrungen fließen in die Übertragung auf weitere Projekte ein. 4. Risiken werden verteilt. So ist es durchaus sinnvoll, in einem Projekt das Konfigurationsmanagement umzustellen und in einem anderen Projekt ein neues Modellierungswerkzeug einzuführen.
|
| 1.4 Gliederung |
Das Vorliegende Handbuch gliedert sich in 3 Teile Dieser Fragenkatalog soll lediglich als Vorlage dienen, er ist den individuellen Bedürfnissen anzupassen und zu erweitern. |
|
2. Projektführung |
Der Fragenkatalog versucht folgende fünf Schlüsselantworten zu finden: |
| 2.1 Fragenkatalog Projektführung | Der Fragenkatalog ist in 5 Rubriken eingeteilt. Jede Rubrik besteht aus 6 Fragen. Die jeweilige Höchstpunktzahl beträgt 3 Punkte. Einige Fragen sind unterteilt. Pro Rubrik sind also maximal (3*6=) 18 Punkte möglich. Die maximal erreichbare Punktzahl für den gesamten Fragenkatalog beträgt demnach (5*18=) 90 Punkte.
|
|
Projektdefinition (Anforderungen) |
Die Rubrik Risikomanagement hat drei Bedingungsfragen. Die Höchstpunktzahl ist hier variable und sollte auf 18 hochgerechnet werden. (Wenn z.B. nur 4 Fragen beantwortet werden und deren Punktzahl 8 ergäben sollte die Weiterberechnung mit (8/12*18=) 12 erfolgen.
|
|
Prohektplanung |
|
|
Projektkontrolle |
|
| 1. Einleitung |
|
| 2.2 Auswertung | Für die Auswertung werden einerseits die einzelnen Rubrikergebnisse verwendet, als das Gesamtergebnis. Sinkt z.B. das Projektergebnis unter 41 Punkten (46%), so weist das Projekt schon gravierende Mängel auf, bei einem Ergebnis von unter 30 Punkten (33 %) sollte Daueralarm gegeben werden, d.h. das Projekt selbst sollte neu überdacht werden.
Mit den Ergebnissen lassen sich folgende 4 Indikatoren bilden:
|
| 2.3 Beispiel 2.3.1 KPI und PI Projektführung |
In dem Beispiel wird eine Steigerung von 60 auf 74 Punkten über den Zeitraum von 2 Jahren vorgesehen. Die Datenerhebung findet regelmäßig alle 3 Monate statt. Die Abbildung zeigt den typischen Verlauf einer Prozessverbesserung: Die Besserung tritt sichtbar erst nach geraumer Zeit auf und sie bewegt sich in Wellenlinien nach oben.
|
|
2.3.2 Projektrubriken | Hier ist keine Kennlinie vorgegeben. Sinn dieser Daten ist die Erkennung kritischer Bereiche.
|
| 3. Entwicklungsprozess | Ähnlich bedeutend, wie die Projektführung, stellt sich der Softwareentwicklungsprozess da. Es ist eine wohlbekannte Tatsache, dass sich Versäumnisse und Fehler von einer Phase zu nächsten in signifikanten Verteuerungen niederschlagen (siehe Grafik). Legende: x-Achse: Projektphase y-Achse: Zeit Beispiel: Eine kleine nicht beachtete Anforderung, die im Produktdefinitionsprozess oder in der Grobspezifizierung lediglich 1 Stunde (0,13 MT) kostet, bedeutet für die Analysephase schon 2,7 Stunden (0,34 MT), dort nicht gefunden für die Designphase schon 7,4 Stunden (0,9 MT), dort nicht gefunden für die Entwicklungsphase 20 Stunden (2,5 MT) und erst in der Testphase entdeckt 54 Stunden (6,7 MT) Mehrarbeit. Aus diesem Grunde muss der Erfolg der einzelnen Phasen gemessen werden, um gegebenenfalls direkte Maßnahmen ergreifen zu können. Die folgenden KPI’s behandeln demgemäss die Phasen Analyse, Design und Implementierung.
|
| 3.1 Datenerhebung Entwicklungsprozess | Vorbedingung für die Erhebung von qualifizierten Daten bezüglich Fehlern, Versäumnissen und Problemen ist eine hinreichende aber nicht zu komplexe Klassifizierung. Auf die Vorschlagsliste werden hier folgende Klassen gesetzt:
Wünschenswert aber irrealistisch wären Implementierungsfehler à 100%. Die Klasse „Verschiedenes“ sollte kein Auffangbecken für unzureichendes Testen sein, sondern Problemen vorbehalten sein, die in keine dieser Rubriken passen oder nicht hinreichend durch diese abgedeckt werden. |
| 3.2 Auswertung | Die Datenauswertung erfolgt in regelmäßigen Abständen gemäß den ausgesuchten Fehlerklassen.
|
3.3 Beispiel KPI und PI Entwicklungsprozess |
Die Datenerhebungen liefern folgende Resultate:
Legende: Vorgabe: blau Die Abbildung zeigt deutlich anfängliche Schwäche im Bereich des Designs. Innerhalb eines halben Jahres wurde der geforderte KPI sogar übertroffen (7,7%). Dass in diesem Zeitraum die Analysefehler leicht ansteigen, liegt an der Maßnahme, Kapazitäten aus der Analyse in das Design zu verlagern. Diese Maßnahme erwies sich als richtig, was auch die gleichzeitig ansteigende Verteilung der Implementierungsfehler zeigt.
|
| 4 Fehlerreaktions- und Behebungszeit | Wer arbeitet, macht Fehler. Fehler müssen systematisch und nachvollziehbar beseitigt werden. Dafür gibt es den Fehlerbehebungsprozess
|
| 4.1 Datenerhebung | Vorbedingung für die Erhebung qualifizierter Daten ist ein funktionstüchtiger Defekttrackingprozess. Die Daten werden regelmäßig der Fehlerdatenbank durch einmal geschriebene SQL Befehle entnommen.
|
| 4.2 Auswertung | Die Datenauswertung erfolgt in regelmäßigen Abständen gemäß dem ausgesuchten Zeitraum, der Prioritäten und den Stati.
|
| 4.3 Beispiel KPI und PI Fehlerreaktions- und Behebungszeit | In dem Beispiel wird von einer Reduktion der Bearbeitungsgeschwindigkeit von submitted auf repaired über den Zeitraum von 2 Jahren auf 6 Stunden vorgeschrieben, von submitted auf tested auf 10 Stunden. Die Datenerhebung findet regelmäßig alle 3 Monate statt. Fehlerbehebungszeit bis repaired Fehlerbehebungszeit bis tested Es dauerte fast ein Jahr, bis der Fehlerkreislauf die gewünschte Performance zeigte. Nach und nach waren verschiedene Probleme zu beheben:
|
aus Teil2: Hilfsmetriken Die folgenden Metriken beleuchten Teilaspekte der Softwareentwicklung. Sie haben unterstützende Funktion, sind aber nicht ohne weiteres geeignet, Key Perfomance Indikatoren zu bilden. |
| 5. Fehlerverteilung | Eine Metrik hinsichtlich der Fehlerverteilung sollte für jedes Projekt selbstverständlich sein, interessant wird die Auswertung für Projektfamilien. Unternehmensweit sind diese Metriken nicht relevant, es sei denn unter Maßgabe einer groben Granularität wie GUI, Business-Logik, usw.
|
| 5.1 Datenerhebung | Vorbedingung ist ein funktionierendes Defekttracking, indem die betroffenen Module aufgeführt sind. |
| 5.2 Auswertung | Die Datenauswertung erfolgt in regelmäßigen Abständen. Rechenbeispiel: Ein Projekt besteht aus 45 Modulen. Damit liegt der Index bei (100/45=) 2,22. Bei Modul A treten 3,78% aller Fehler auf. Somit ergibt sich für dessen Kennzahl 1,7 (=3,8/2,22). Bei Modul B treten 1,1% aller Fehler auf. Somit ergibt sich für dessen Kennzahl 0,5 (=1,1/2,22). Rechenbeispiel: Bei einem Codevolumen von 1 000 000 LOC treten 2 500 Fehler auf. Damit beträgt der Fehlerdurchschnitt 1 Fehler pro 400 Zeilen. Diese Relation 1:400 wird = 1 gesetzt.
|
| 5.3 Beispiel Fehlerverteilung (Methode 1: absolut) | In dem Beispiel wird ein Projekt betrachtet, das aus 45 Modulen besteht. Die folgende Grafik zeigt alle Module die Kenngröße 1 überschreiten. Diese Methode berücksichtigt nicht das Modulvolumen. Fehlerverteilung auf Modulebene (absolut)
|
| Beispiel Fehlerverteilung (Methode 2: gewichtet) | Dieses Beispiel zeigt die dazugehörige Projektfamilie, nun aber nach Codevolumen gewichtet. Die Durchschnittserwartung liegt bei 1 (Gesamtfehler/Gesamtvolumen). Die Grafik zeigt die Module, die den Faktor >= 2 aufweisen. Fehlerverteilung auf Modulebene / LOC Zwei Module (n 27 und n 44) überschreiten signifikant die Fehlererwartung. Beide Grafiken haben ihre Berechtigung. Die zweite volumenabhängige indiziert direkten Handlungsbedarf. Die erste Grafik ist einerseits interessant hinsichtlich der Resourcenverteilung andererseits - über einen längeren Zeitraum gemessen - indiziert sie die Module, die gänzlich neu geschrieben werden sollten. Letzteres zeigt auch die Methode 3. |
| 5.5 Beispiel Fehlerverteilung (Methode 3) | Hier wird die Fehlerverteilung über einen Zeitraum von 30 Monaten wiedergegeben. Aufgeführt sind nur die Module, die signifikant (öfters) über ≥1‰ der Gesamtfehler) liegen. Fehlerverteilung der signifikanten Module (10).x-Achse: Fehlerzahl (in Promille der Gesamtfehler) y-Achse: Monate (1-29 Im folgenden Ausschnitt sind zur Verdeutlichung die 3 kontinuierlichen Ausreißer vergrößert dargestellt.
Vergrößerung für 3 Module aus vorheriger Abbildung Das zu oberst widergegebene Modul A ist eindeutiger Aspirant für eine künftige Neuprogrammierung. Im Falle der Anforderung neuer Funktionalitäten wird die Fehlerrate ansonsten mit Sicherheit wieder die Spitzengruppe anführen.
|
aus Teil 3: Komplexe Softwaremetriken |
| 6 Planungstreue | Die Wichtigkeit von Planungstreue, die Einhaltung von Milestones und Budget bedarf keiner ausführlichen Begründung. Alle Planungsdaten, unternehmensweit als auch projektbezogen, sind nur in dem Maße wert, indem sie realisiert werden. Erst durch die Erfassung von Planungsdaten und ihrer Umsetzung kann von wirklicher Planung die Rede sein.
|
| 6.1 Datenerhebung | Zeit
|
| 6.2 Auswertung | Die Auswertung erfolgt einerseits Iterationsweise um eine stete Korrekturmöglichkeit innerhalb der Projekte zu gewährleisten. Des weiteren wird nach Abschluss eines Projektes der ursprünglich veranschlagte Aufwand mit dem tatsächlichen verglichen. Letztere Zahlen bilden den KPI.
KPI Planungstreue PI Entwicklungsprozess
|
| 6.3 Beispiel PI Planungstreue | Betrachtet wird ein durch Abnahme abgeschlossener Projektteil mittlerer Größe (9 Monate, mit insgesamt über 40 Beteiligten), das sich in 5 Milestones gliedert. Die ersten beiden Iterationen wurden gründlich geplant, die erste erzielte sogar einen guten Puffer. Neue Anforderungen, für die 3. Iteration geplant, konnten nicht rechtzeitig eingearbeitet werden, da in der Eile nicht alle Implikationen gesehen wurde. Die 4. Iteration fing die Verzögerung durch Reduzierungen einiger interner Anforderungen wieder auf. Dieses Konzept erwies sich als Fehleinschätzung in der 5. Iteration, die alle Nacharbeiten zu leisten hatte. Die Aufwandsabschätzung zeigt eine typische Projektschätzung, wie sie tagtäglich gehandhabt wird, nicht aber wie sie sein sollte.
|
| 7 Anforderungen (Requirements) | Die Behandlung von Anforderungen und die Messung ihrer Stabilität bzw. Konsistenz ist eine komplexe Materie. Anforderungen sind Anlass jeder Softwareentwicklung, den Grad ihrer Erfüllungen bestimmt die Abnahme.
Anforderungen werden priorisiert. Gemäß dieser Priorisierung wird eine Änderbarkeit abgeleitet. Anforderungen werden miteinander verknüpft, so dass jeder Zeit der gegenseitige Einfluss ersichtlich ist. Demzufolge kann eine niedrig priorisierte Anforderung, die bereits implementiert ist, sich als schwer änderbar zeigen, während eine Anforderung mittlere Priorität durchaus änderbar sein kann.
|
| 7.1 Datenerhebung | Um signifikante und aussagekräftige Bewertungen erzielen zu können, müssen folgende Vorarbeiten implementiert sein: Die Projektführung wird bewertet (insbesondere 2.1.1 und 2.1.2) Der Entwicklungsprozess wird bewertet (Kapitel 3) insbesondere die Analyse (Abgrenzung). Alle Anforderungen und Change Requests werden systematisch aufgenommen und priorisiert (Datenbankanwendung z.B. Requisite Pro) und sind nach verschiedenen Kriterien (z.B. Urheber, Kosten, Abhängigkeit, usw. sortierbar). |
| 7.2 Auswertung | Die Datenauswertung erfolgt regelmäßig bei Iterationswechseln als ca. alle 6 Wochen für jedes Projekt. |
|
7.3 Beispiel PI Anforderungsstabilität | In dem vorliegenden Beispiel lag keine Priorisierung vor. Die Bewertung erfolgte am Ende jeder Iteration in Prozent. Legende: Die Abbildung zeigt (für 2) eine deutliche Anzahl an neuen Kundenforderungen. Diese entstanden einerseits weitgehend aufgrund des gelieferten Prototyps – der Kunde sah zum ersten Mal konkret was möglich ist. Des weiteren wünschte der Kunde in 2 und 3 die Einbindung weitere Schnittstellen. In 4 wurden neue Ausgabeformate implementiert. Die internen Anforderungsänderungen stellen ein typisches Grundrauschen da: je weiter die Entwicklung schreitet, um so mehr kann verbessert werden, insbesondere dann, wenn der Kunde schon mit einem Folgeauftrag winkt, der hier zwar noch nicht abgerechnet werden kann, für den aber Änderungen zum gegenwärtigen Zeitpunkt weitaus billiger sind, als nach endgültiger Fertigstellungen. |
| 8 Koordinierte Planung | Voraussetzung für eine Überprüfung hinsichtlich einer Kohärenz innerhalb der generellen Planung über die 3 Ebenen ist naturgemäß das Vorhandensein einer solchen. Die Projektebene wurde in 0 besprochen. Ein Fragenkatalog für Unternehmensleitung bzw. CTO-Bereich wird hier nicht gegeben, er würde den Rahmen des Buches sprengen, da hier viel individueller, der Infrastruktur und der Kultur Rechnung getragen werden muss. Die 5 Schlüsselfelder jeder sind identisch.
Tabelle 14: KPI: Koordinierte Planung Von den 5 definierten Schlüsselfelder werden folgende Kohärenzfragen abgeleitet:
|
| 8.1 Beispiel | Das folgende Bild zeigt die Auswertung hinsichtlich der Kohärenz der 3 Bereiche über den gleichen Zeitraum. Es soll nicht verschwiegen werden, dass die Ermittlung dieser Daten mit wesentlich mehr Aufwand und Fingerspitzengefühl erfordert als die Metriken für die Projektführung.
|
|
aus Teil 4: Grundbegriffe |
| 9. Iteration | Die meisten Softwareunternehmen verwenden einen iterativen Entwicklungsprozess – so sagen sie. Hinter den Kulissen plätschert der Wasserfall …
Eine Iterationspanne beträgt 6 Wochen ± 2 Wochen. |
| 9.1 Anforderungen | Stabile Requirements sind Illusion, sowohl in der Produktentwicklung als auch innerhalb von Kundenprojekten. Ein Produkt von scratch auf Markttauglichkeit zu entwickeln bedarf 3 Jahre Entwicklungszeit. Jeder Kenner der IT-Branche weiß, dass innerhalb von 3 Jahren maßgebliche Standardverschiebung stattfinden, die eine Umorientierung innerhalb laufender Projekte erfordern. Dies trifft naturgemäß auch auf Kundenprojekte zu, und es zeugt von einfacher Denkungsart, Anforderungsmängel allein auf dem Rücken des Kunden austragen zu können. |
|
9.2 Komplexität | Eine Software läuft nicht alleine. Sie kommuniziert mit unterschiedlichsten Systemen und sie besteht oft auch aus unterschiedlichen Systemen, Neuentwicklungen und Komponenten, die recht und öfters schlecht zum Zusammenspiel hingebogen wurden.
|
| 9.3 Risikomanagement | Innerhalb eines Projektrahmens sind folgende Risiken offensichtlich: technische Realisation, Skills und Ressourcen. Das iterative Prinzip fordert: „The biggest risk first“. Das größte Risiko kann sehr unterschiedlicher Natur sein: Hohe Performance bei größtmöglicher Flexibilität, Einführung neuer Technologie, enger Zeitrahmen (à z.B. einfache architektonische Lösung), zu wenig oder zu wenig erfahrene Ressourcen ... |
| 9.4 Erfolgskontrolle | Aus dem oben gesagten wird klar, dass zu mindest am Ende jede Iteration eine objektive Bewertung des bisher ereichten stattfindet. Planungsziele und Realisierung werden einfach gegenübergestellt. Das betrifft sowohl die Projektzeit (in MT), als auch die technischen Funktionen (realisierte Funktionen in den einzelnen Modulen). Dabei sollten nur diese Funktionen als realisiert gewertet werden können, die 100% realisiert sind. Gegebenenfalls sind auf Unterfunktionen herunterzubrechen: die Aussage zu 98% fertig heißt nichts. (Die fehlenden 2 Prozent können noch Monate verschlingen!) |
| 9.5 Besonderheiten | Das Change Management und die Fehlerbehebung wird in die iterative Entwicklung einbezogen, d.h. ein Change Request ist de facto eine neue Anforderung. Sie wird gleich jedem anderen Problem in das entsprechende Tracking Tool eingepflegt, über ihre Implementierung entscheidet der folgende Iterationsplan. |
| 9.6 Beispiel | Das folgende Beispiel zeigt die Aufgabenverteilung in einem iterativen Projekt. Der Wasserfallsgedanke ist immer noch sichtbar, einige wesentliche Aspekte iterativen Vorgehens sind jedoch schon implementiert. Nicht dargestellt ist die Angebots- und Abgabephase. Das Projekt dauerte inklusive Abnahme 9 Monate, jede Iteration im Schnitt 6 Wochen.
|
|
10 Firmenorganisation - Ressourcencontrolling - Ressourcenauslastung | Was hat die Organisation des Unternehmens mit softwaremetriken zu tun. Auf den ersten Blick nicht viel. Zwei gängige Entwicklungsmodelle sind z.Z. aktuell: Funktionsorientierte Entwicklung bzw. prozessorientierte Entwicklung.
|
| 10.1 Die funktionsorientierte Entwicklung | Funktionsorientierte Entwicklung bedeutet Spezialisten in funktionsorientierten Abteilungen (z.B. Analyse) zu führen. Dieses Modell findet sich häufig bei Unternehmen, die „multiside“ an verschiedenen Projekten gleichzeitig arbeiten. Die Gewinnversprechung dabei ist bessere Resourcenauslastung und größere Einzelkompetenz. Das hierbei zu meisternde Risiko liegt in der korrekten und vollständigen Übergabe der einzelnen Artefakte. |
| 10.2 Die prozessorientierte Entwicklung | Bei der prozessorientierten Entwicklung liegt der Schwerpunkt auf „Alle für einen, einer für alle“. Es gibt ein Projektteam, das für alle Aufgaben zuständig ist. Dies ist insbesondere für iterative Entwicklung sinnvoll, da hier jede Tätigkeit – wenn auch mit verändertem Gewicht – immer wieder gebraucht wird. Der sich anbietende Rollentausch fördert die Qualifizierung des Einzelnen und den Teamgeist. |
| 10.3 Die flussorientierte Entwicklung | Die flussorientierte Entwicklung versucht die beiden obigen Strukturen zu verbinden. Einerseits gehört jeder Mitarbeiter einer funktionalen Einheit an, andererseits gehört er während eines Projektes dem Projektteam. Selbstverständlich ist die Anzahl der Projektmitglieder dynamisch, doch bleiben alle Schlüsselfunktionen während der Laufzeit besetzt. Ein eventuell entstehende Mangel an Wissenstransfer ist hierbei durch die Hinzuziehung von Fachkollegen gewährleistet.
|
| 11 Planung | Wesentlicher Bestandteil der Analyse beruht auf Messungen hinsichtlich der Planungstreue. Planung ist Voraussetzung jeglicher Aktivität vom Vorstand bis zu Projektaktivitäten. Dazu gehört ein etabliertes Riskmanagement, das bei Risikofaktoren entsprechende Alternativen aufzeigt. Die folgende Abbildung soll das Zusammenwirken der drei Ebenen verdeutlichen. Dabei ist die Zeiteinteilung durchaus grob und nicht als strickte monatliche Vorgabe zu versehen. Eine Projektbewertung fällt bei jeder neuen Iteration an. Die Dauer von 6 Wochen ± 2 Wochen hat sich bewert.
Aus dem oben angeführten wird klar, das es nicht reicht, nur Projektspezifische Planungstreue zu messen. Ein ernstes Kriterium stellt das Vorhandensein von koordinierter Planung da. |
© 1998, 2018 Dr. Ardo A. Schmitt-Rousselle | Impressum Sitemap Datenschutzerklärung |