Agile Adoption kann in einigen Organisationen fehlschlagen. Ich habe sogar für ein Unternehmen gearbeitet, in dem Wasserfall der einzige (wahre) Weg war, aber nur, weil sie Agile bei einem Projekt ausprobiert haben und gescheitert sind.
Als ich die Leute fragte, die sich noch daran erinnerten (ich war ein Junior), wurde ich hart abgeschaltet, als würde ich sie an einen schlimmen Albtraum erinnern, der wirklich passiert ist.
Ich weiß nicht, warum das Projekt fehlgeschlagen ist. Es gibt Ressourcen im Internet, warum Agile bei einigen Unternehmen versagt, aber der Grund ist meistens wirtschaftlicher Natur. Also dachte ich, ich bitte hier um ein Feedback.
Was sind die Gründe, warum die agile Einführung in einigen Organisationen fehlschlägt? Oder anders ausgedrückt: Was brauchen Sie, um mit Agile erfolgreich zu sein?
quelle
Antworten:
Sie benötigen Management, Kunden und Entwickler, um die agile Denkweise und die agilen Methoden zu verstehen und zu unterstützen. Ausführlicher:
Nach meiner Erfahrung ist dies der erste Punkt, der am häufigsten hinter fehlgeschlagenen agilen Projekten steckt, aber die beiden anderen können ebenfalls Probleme verursachen.
Aktualisieren
Mit "Management" meine ich nicht nur den direkten Projektmanager, sondern auch höhere Ebenen. Wie @Michael zu Recht bemerkt hat, können einige mehr oder weniger externe Parteien (z. B. QS oder ein externer Aufgabenbeauftragter) auch den Erfolg / Misserfolg von agilen Projekten beeinflussen, aber ich nehme an, dass dies nur möglich sein kann, wenn ihr jeweiliger Leiter dies zulässt, und / oder wenn Verantwortlichkeiten und Befehlszeilen innerhalb der Organisation nicht klar sind.
quelle
Du brauchst:
Scheint so einfach, aber viele davon sind große Fragen in dieser Branche.
quelle
Ein agiles Projekt scheitert meistens, wenn ein Schlüsselspieler sich weigert, agil zu sein, oder (schlimmer), wenn jemand nicht ehrlich am Erfolg des Projekts interessiert ist oder es geradezu sabotiert. Letzteres kann jedes Projekt beenden (wie eine Reihe anderer Dinge), aber agile Prozesse geben den Menschen mehr Flexibilität, und dazu gehört auch die Flexibilität, destruktive Politik zu betreiben.
Beispiele:
quelle
Ich kann meinen Rat nur aus eigener Erfahrung geben.
Ein Arbeitgeber, den ich bei Agile völlig gescheitert war. Die Arbeiten wurden auf Ad-hoc-Basis durchgeführt, es gab keine Tests und die Anforderungen wurden in E-Mails und Sitzungsprotokollen dokumentiert. Die einzige verwendete Entwicklungsmethode war Anarchie oder "Fire-and-Forget-Codierung". Die Implementierung einer Software-Engineering-Methode wäre unmöglich gewesen, da die Entwickler zu überarbeitet waren, um eine Art Story-Tracking-Projektmanagementsoftware einzurichten.
Bei einem anderen Arbeitgeber hatte unser Team ein heldenhaftes Mitglied, das verzweifelt versuchte, einige agile Best Practices zu etablieren - wir hatten ein Kanban-Board, Problemverfolgung, wir verwendeten TDD und BDD (obwohl sie an sich nicht agil sind, sind sie in agilen Gruppen präsent). . Leider fehlten uns Dinge wie Story Points, Schätzungssitzungen, Kapazitätsplanung, Burn-Down-Diagramme, Geschwindigkeitsdiagramme - eine Art nützliches agiles Projektmanagement-Material, mit dem die Arbeit reibungslos ablaufen kann. Als klassisches Symptom dafür, dass Agile schief geht, haben wir ein größeres Board gekauft, als unser Kanban-Board zu voll wurde: /
Der Ort, an dem ich mich gerade befinde, verwendet Story Points als Planungsmethode für zweiwöchige Iterationen, TDD, tägliche Stand-ups, Iterationen für Iterationen mit Zeitbox-Retrospektiven und Paarprogrammierung für die meisten Dinge. Dies ist das Ergebnis eines umfassenden Management-Buy-ins und einer Kundenschulung.
Damit Agile in einem Unternehmen erfolgreich sein kann, benötigen Sie Folgendes:
BEARBEITEN: Es ist auch wichtig sicherzustellen, dass Sie ein gutes Verständnis dafür haben, warum Dinge wie tägliche Stand-Ups und kurze Iterationen nützlich sind.
quelle
Meine Erfahrungen mit agilem Versagen hatten nichts mit Wirtschaft zu tun, sondern mit Unternehmens- / Abteilungs- / persönlicher Politik.
Auf persönlicher Ebene gibt es einfach einige Leute, deren Persönlichkeiten zusammenstoßen werden. Wenn sie zu einem agilen Team oder noch schlimmer zu einem gepaarten Programmierteam gezwungen werden, wird ihre Abneigung gegen einander zu einem Siedepunkt eskalieren. Dies kann sehr böse werden, sehr schnell und zu Dingen wie Sabotageakten führen, die einer Reality-Show würdig sind, und Scrum-Meetings in eine kreisförmige Schießgruppe der Schuld oder noch schlimmer verwandeln.
Darüber hinaus gibt es Entwicklungsmanagement. Ich habe gesehen, dass dies auf zwei verschiedene Arten schief gelaufen ist.
Das erste ist "Cargo Cult Agile", bei dem der Manager darauf besteht, das Manifest und die Klasse / das Buch / die Website, die er genau liest, zu befolgen, ohne zu verstehen, warum und wann er sie verwendet und wann er improvisiert. Es ist, als ob der agile Manager auf die Magie wartet, weil er dem Zauber genau folgt. Diese prokrustische Implementierung von Agile kann zu einer Reihe von Problemen führen, die zum Scheitern des Projekts führen.
Das andere ist "Agile In Name Only", bei dem die Terminologie wie Sprints und Scrum verwendet wird, aber eigentlich nur Bezeichnungen für alte Praktiken wie Mikromanagement, Unehrlichkeit, die die Befehlskette auf und ab geht, langwierige nutzlose Statusbesprechungen und ähnliches . Projekte scheitern wie früher, aber jetzt kann Agile eher dafür verantwortlich gemacht werden als für schlechtes Management.
Darüber hinaus fehlt ein Buy-In durch den Kunden / Kunden des Projekts. Diese Mitarbeiter haben ihre eigenen Abteilungsprioritäten und können möglicherweise nicht mit einem Entwicklungsteam zusammenarbeiten, es sei denn, das Management hat klargestellt, dass dies ein wesentlicher Bestandteil ihrer Arbeit ist. Dies kann durch Abteilungs- oder Unternehmenspolitik verschlimmert werden. Zum Beispiel haben sowohl der Betrieb als auch das Marketing einen Beitrag zu einem Projekt geleistet, und Ihr Team dreht am Ende die Räder, da sich beide Seiten auf nichts einigen können. Ein weiteres Beispiel ist, wenn Unternehmensrichtlinien zu Zeitmanagement und Abrechnung Konflikte verursachen. Ich habe tatsächlich festgestellt, dass externe Kunden einfacher zu behandeln waren als interne. Sie mochten die Aufmerksamkeit, die sie durch den Prozess erhielten, und wussten, dass sie auf ihre Kosten kamen.
quelle
IMO "Agile" schlägt fehl, wenn die Praktiken nicht im großen Stil übernommen werden. Was ich damit meine ist, dass Agile sich darauf verlässt, dass der "Kunde" (normalerweise eine andere Abteilung oder ein anderer Manager) versteht, dass:
All dies sind für die meisten Manager sehr schwer zu schlucken, und IMO ist der Hauptgrund, warum es schwierig ist, agil zu arbeiten. Manager sind es gewohnt, zu sagen, dass es bis zum x-Datum erledigt sein wird und dass es bis zu diesem Datum "magisch" gemacht wird (nachdem die Entwickler 80-Stunden-Wochen eingegeben haben) und es ist eine 180, um zu erkennen, dass das Entwicklungsteam Ihnen mitteilen wird, dass dieses Projekt in 3 Monaten abgeschlossen sein wird. Sie haben nur die Wahl, es zu akzeptieren oder die Anforderungen zu reduzieren es geschah früher.
Zweitens muss Vertrauen in das Entwicklungsteam bestehen. Hand in Hand mit Nummer 1 oben scheinen nur sehr wenige Manager der Meinung von Leuten zu vertrauen, die als Experten eingestellt wurden. Wenn ein Entwickler sagt, dass ein Projekt x Zeit in Anspruch nimmt und x mehr ist, als das Management denkt, ist es nie ein Fall von "Ich weiß nicht, wie man Software schreibt, also hat der Entwickler wahrscheinlich Recht", es ist mehr. Diese nichtsnutzigen Entwickler wollen bei der Arbeit abhauen, also sagten sie, dass es 3 Monate dauern wird. "
Drittens muss Ihr Entwicklungsteam hinter Agile stehen. Das bedeutet, keine Ecken zu schneiden und ständige Rückmeldungen und Fragen zu "Ist das richtig? Wenn x passiert, was soll Y tun?" nicht zu ignorieren. Auch wenn Sie TDD oder Pair Programming nicht befolgen, muss Ihr Entwicklungsteam kompetent genug sein, um die agilen Prozesse (z. B. Sprints, Iterationen) zu verfolgen. Dies beinhaltet einen Lead / Manager, der Aufgaben richtig einschätzen kann und versteht, dass Sie nicht jede Funktion zu einer Priorität machen müssen, es ist in Ordnung, einen Arbeitsstau zu haben, und Sie sollten die Leute nicht überarbeiten.
quelle