Projektmanagement


Projekt-Outsourcing

Warum agile Teams nicht richtig funktionieren

Igor Tkach ist MD und CTO bei Daxx. Er schreibt zu Themen, wie agile Entwicklung, Produktmanagement, Steigerung der Führungsqualität in Organisationen.

Im Projekt-Outsourcing wird "agile" zunehmend propagiert. Doch der schöne Schein trügt, denn die Projekte leiden unter dem Stress der Software-Entwickler.
  • Die Agile-Implementierung im Projekt-Outsourcing scheitert in den meisten Fällen.
  • Outsourcing-Unternehmen setzen Mitarbeiter oft gleichzeitig für mehrere Projekte ein.
  • Kunden, die ein Projekt komplett auslagern, wissen nur selten, wie erfahren die Entwickler sind.
Idealerweise arbeiten Software-Entwickler als untrennbare Einheit in einem Team zusammen, so dass sie aus dem Feedback der Kunden ständig lernen und in kurzen Iterationen den geschäftlichen Nutzen maximieren können.
Idealerweise arbeiten Software-Entwickler als untrennbare Einheit in einem Team zusammen, so dass sie aus dem Feedback der Kunden ständig lernen und in kurzen Iterationen den geschäftlichen Nutzen maximieren können.
Foto: Billion Photos - shutterstock.com

Agilität im Projekt-Outsourcing zu implementieren ist derzeit ein heiß diskutiertes Thema, weil agileagile Methoden eine schnellere und flexiblere Reaktion auf die Anforderungen des Kunden ermöglichen. Doch das Vorhaben ist schwierig und es gibt gute Gründe, weshalb die Agile-Implementierung im Projekt-Outsourcing in den meisten Fällen scheitert. Alles zu Agile auf CIO.de

Zunächst die Frage: Was ist ein Projekt? Ein Projekt ist ein vorübergehendes Unterfangen mit einem bestimmten Anfangs- und Endtermin (Deadline), das darauf abzielt, entweder ein Produkt beziehungsweise Dienstleistungen zu erschaffen oder ein Ergebnis zu erzielen. Standardmäßig geht jedes Projekt mit einem bestimmten Termin, Qualitätsanforderungen, Umfang und Budget einher. Nachdem der Kunde die Anforderungen für die Produktentwicklung mitteilt, erwartet er eine verlässliche Einschätzung des Zeitplans, des Budgets sowie des Ergebnisses und wann und wie das Produkt fertiggestellt wird.

Die Erfahrung zeigt aber, dass es nahezu unmöglich ist, exakt vorherzusehen, wie lange die Entwicklung eines Produktmerkmals dauert, und gleichzeitig alle möglichen Risiken in einer Welt sich schnell ändernder Produktanforderungen in die Schätzung zu integrieren. Da der Softwareentwicklungsmarkt ständig neue Lösungen generiert, können sich Produktanforderungen während der Entwicklung ändern, was entweder zu einer Erhöhung des Budgets oder zu einem Terminverzug führen kann. Solche unplanmäßigen Verzögerungen außerhalb des ursprünglichen Plans belasten das Entwicklungsteam und verhindern, dass es in einem normalen Tempo arbeitet. Infolgedessen stehen auf Projekt-Outsourcing spezialisierte Teams unter ständigem Druck, einen Termin einzuhalten oder Meilensteine vor einer Deadline zu erreichen.

Stress führt zu minderwertigem Code

Sie arbeiten zwar schneller, haben aber weniger Zeit, um über die richtige Architektur und die optimalen Möglichkeiten zur Implementierung von Features nachzudenken. Die Folge: Sie treffen irrationale Entscheidungen, die zu minderwertigerem Code oder - noch schlimmer - einem nicht funktionierenden Produkt führen. Das frustriert Kunden, die keine Abstriche bei der Qualität machen wollen.

Um dies zu vermeiden, ist es ratsam, ein stabiles und vollzeitbeschäftigtes Team aufzubauen, das agil ausschließlich an einem Projekt oder Produkt arbeitet. In diesem Fall kennt der Kunde das Produktivitätsniveau des Teams, weiß, wie viel es pro Monat kostet, und kann das Timing und Budget genau planen. Die Realität sieht jedoch anders aus. Outsourcing-Unternehmen setzen Mitarbeiter oft gleichzeitig für mehrere Projekte ein, erwarten aber volles Engagement für jedes Projekt.

Entwickler werden abgezogen

Neben der Tatsache, dass Entwickler in der Regel mehrere Projekte gleichzeitig unter einen Hut bringen müssen, birgt das Projekt-Outsourcing einen weiteren Nachteil. Ein Outsourcing-Anbieter kann Entwickler ohne Rücksprache mit dem Kunden austauschen. Dies führt zwangsläufig zu unvollständigem Engagement und einem reduzierten Fokus auf die Bedürfnisse und Geschäftsziele des Kunden. Entwickler nehmen Kunden eher als Garantie für ihre Stelle wahr und schenken dem Projekt lediglich dann mehr Aufmerksamkeit, wenn eine Frist abläuft oder der Kunde mit etwas unzufrieden ist. Outsourcing-Anbieter schwärmen zwar gerne von ihrer Agilität, die Wirklichkeit ist jedoch eine andere.

Projekt-Outsourcer wollen den kurzfristigen Profit

Projekt-Outsourcer profitieren in der Regel von den für die Entwicklung aufgewendeten Stunden und nicht unbedingt von erzielten Ergebnissen. Je weniger Arbeit in den bereits "verkauften" Stunden ausgeführt wird, desto höher fällt ihr Gewinn aus. Kunden sollten bei den Verhandlungen im Kopf haben, dass Outsourcing-Unternehmen potenziellen Kunden im Verkaufsprozess mehr Mitarbeiter als tatsächlich benötigt anbieten könnten, um untätige Entwickler halten zu können.

Darüber hinaus wissen Kunden, die ein Projekt komplett auslagern, im Rahmen des Modells nur selten, wie erfahren die Entwickler sind, die an ihrem Projekt arbeiten. Einige Anbieter nutzen diese Wissenslücke bewusst aus, um ihre Gewinnmargen zu erhöhen. Sie stellen zum Beispiel Juniorentwickler mit niedrigeren Gehältern ein, berechnen dem Kunden aber einen Middle oder Senior Ingenieur. Insbesondere bei einem großen Team ist es für den Kunden äußerst schwierig, das tatsächliche Qualifikationsniveau jedes einzelnen Teammitglieds zu überprüfen.

Fazit

Projekt-Outsourcing ist keine schlechte Sache. Das gilt vor allem für kurzfristige und kleinere Projekte oder wenn Projektumfang und Umsetzung glasklar definiert sind. In diesen Fällen ist Projekt-Outsourcing oft die beste Lösung. Dennoch werden Kunden auf Schwierigkeiten stoßen, wenn sie den maximalen geschäftlichen Nutzen aus der Implementierung von agilen Methoden ziehen wollen.

Um wirklich agil zu sein, müssen Kunden alle Prinzipien des Ansatzes verstehen und anwenden. Idealerweise arbeiten Softwareentwickler als untrennbare Einheit in einem Team zusammen, so dass sie aus dem Feedback der Kunden ständig lernen und in kurzen Iterationen den geschäftlichen Nutzen maximieren können.

In ausgelagerten Projekten wird aber offensichtlich gegen zwei Agile-Hauptprinzipien verstoßen:

1. Ein volles Engagement des Teams ist nicht gegeben, da es auf mehrere Projekte verteilt ist.

2. Kunden setzen in ihrer Erwartung eine bestimmte Frist, Budget und Qualität voraus.

Und während in manchen Fällen das erste Prinzip angewendet werden könnte, gibt es kaum einen Weg, das zweite zu befolgen.

Zur Startseite