Wie agile Methoden Chaos und Unvorhersehbarkeit in Softwareprojekten lösen

Dieses Papier versucht zu zeigen, warum eine agile Methodik für das Management von Softwareprojekten sinnvoll ist, im Gegensatz zu den bisher üblichen traditionellen Wasserfall-Methoden. Das Papier wird argumentieren, dass Softwareprojekte von Natur aus chaotisch und unvorhersehbar sind und daher nicht durch Prozesse verwaltet werden können, die am besten für klar definierte Problemdomänen geeignet sind. Das Papier wird auch zwischen dem Status quo der Wasserfallentwicklung und der Hyperproduktivität unterscheiden, bei der Organisationen wie Yahoo seit der Anpassung agiler Softwareentwicklungsmethoden ROIs in der Größenordnung von 666 % bei einem Projekt und 250 % insgesamt erzielt haben.

Im Mittelpunkt jeder Entscheidung für Agile Softwareentwicklung steht die Auseinandersetzung mit den harten Realitäten Ihrer eigenen aktuellen Softwareentwicklungserfahrungen. Wenn Sie mit der Abwicklung Ihrer Projekte und Ihrer Ergebniserreichung zufrieden sind, sollten Sie vielleicht gar nicht erst an Agile Methoden Softwareentwicklung denken. Es besteht jedoch die Möglichkeit, dass Sie einer von vielen sind, die schlechte Erfahrungen mit verspäteter Lieferung, fehlerhafter Software oder, wage ich zu sagen, Software gemacht haben, die entweder unvollständig ist oder die Anforderungen von Endbenutzern oder Kunden nicht erfüllt. Die meisten von uns haben leider all das und noch mehr erlebt – ganz zu schweigen von den sehr stressigen Arbeitsumgebungen, die diese Erfahrungen charakterisieren oder unterstreichen.

DIE AGILE METHODIK

Agile Softwareentwicklungsmethoden sind aus der Notwendigkeit entstanden, die schwerwiegenden Probleme der Softwareindustrie anzugehen. Der bemerkenswerteste „State-of-the-Union“-Bericht über die Softwareindustrie wurde 1995 in dem inzwischen berühmten „Chaos“-Bericht der Standish Group veröffentlicht.

Zu den harten Fakten aus dem Bericht gehören:

o Durchschnittliche Projekterfolgsraten von 16,2 % – das bedeutet, dass erstaunliche 83,8 % der Projekte entweder angefochten oder beeinträchtigt wurden
o Durchschnittlich 52,7 % der Projekte kosten 189 % des ursprünglichen Budgets
o In gescheiterten oder beeinträchtigten Projekten waren nur 61 % der ursprünglich spezifizierten Features und Funktionen verfügbar
o Über 1/3 der herausgeforderten oder beeinträchtigten Softwareprojekte erlebten Zeitüberschreitungen von 200 bis 300 %

1995 wurden in den USA mehr als 250 Milliarden Dollar für Softwareprojekte ausgegeben. Diese Ausfälle haben erhebliche Auswirkungen auf die Produktausgaben, was sich wiederum auf die Wirtschaft als Ganzes auswirkt.

Dieses Bild ist nicht schön und viele Projekte scheitern natürlich auch heute noch. Ich weiß aus eigener Erfahrung und aus Gesprächen mit vielen meiner Kollegen, dass die meisten Projekte nicht wie erwartet verlaufen. Ein enger Arbeitskollege in der medizinischen Softwarebranche verbringt viel Zeit mit der Vorausplanung und Vorbereitung sehr detaillierter Projektzuschüsse. Es wird enorm viel wertvolle Zeit investiert und sehr selten erreichen sie ihre Meilensteine wie geplant. Da stellt sich die Frage, welche Funktion diese ganze Vorausplanung erfüllt.

Glücklicherweise gibt es heute echte Lösungen für diese Probleme, wie sie von agilen Softwareentwicklungsmethoden bereitgestellt werden. Die meisten Aspekte oder Merkmale des agilen Projektmanagements, einschließlich Scrum, haben ihre Wurzeln entweder in den Vorschlägen des Standish-Berichts oder in weiteren Studien, die von Feldexperten auf diesem Gebiet durchgeführt wurden (Hirotaka Takeuchi und Ikujiro Nonaka, Jeff Sutherland, Ken Schwaber et al).

Hinweise zur Behebung der Probleme wurden im Standish-Bericht bereitgestellt und sind unten aufgeführt.

Unter den Top 5 waren:

1. Benutzerbeteiligung
2. Unterstützung der Geschäftsführung
3. Klare Anforderungen
4. Richtige Planung
5. Realistische Erwartungen
6. Kleinere Projektmeilensteine

Alle diese Aspekte werden von agilen Projektmanagementprozessen wie Scrum adressiert, deren Einzelheiten in einem folgenden Papier diskutiert werden.

Es ist wichtig, eine zweite Tatsache über nicht agile Projekte zu verstehen, deren Ursprünge am besten in der Theorie der industriellen Prozesssteuerung verstanden werden, und wissenschaftliche Forschung zugunsten agiler Softwareentwicklungsmethoden bereitzustellen.

Es gibt zwei Arten von Prozesssteuerungssystemen: definierte Prozesse und empirische Prozesse.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *