Wie bringt man einen Manager dazu, Agile zu verstehen?


12

Ich habe ein Problem mit einem Senior Director, der die iterative Entwicklung nicht versteht (viel weniger Agile). Er besteht darauf, dass unsere Software Design Specification (SDS) vollständig ist, bevor eine Codezeile geschrieben wird. Vollständig bedeutet für ihn, dass alle funktionalen Details vorhanden sind. Als ehemaliger Cobol-Programmierer möchte er auch "Module" und Flussdiagramme sehen. Dies ist eine Java-Web-App zum lauten Schreien!

Auf jeden Fall versuche ich, eine einfache Stelle zu finden, um ihn vorsichtig darauf hinzuweisen, dass das Sicherheitsdatenblatt nicht zu 100% vollständig sein muss, bevor wir mit dem Codieren beginnen (und es auch nicht vollständig sein kann). Irgendwelche Vorschläge?

Vielen Dank!


Was bedeutet SDS? Versuchte googeln, aber viel Störung bekommen.
Max

2
SDS ist "Software Design Specification". Er benutzt diesen Satz auch früher in der Post.
Thomas Owens

2
Flussdiagramme? Ernsthaft?? Lauf! Lauf und schau nicht zurück!
Nikie

2
An einem Flussdiagramm zur Veranschaulichung der Funktionsweise eines Algorithmus ist nichts auszusetzen. Es kann viel einfacher zu lesen sein als Pseudocode.
Bjarke Freund-Hansen

Antworten:


20

Als Berater verstehe ich eine einfache Regel der Beratung:

  • Man kann Menschen nicht helfen, denen man nicht helfen möchte.

Sie können niemanden dazu bringen, etwas zu tun, was er nicht tun möchte, außer durch Autoritätsgewalt, die Sie nicht haben.

Als Trainer stelle ich Agile mit drei Regeln vor:

  1. Es ist unmöglich, alle Anforderungen zu Beginn des Projekts zu erfassen.

  2. Welche Anforderungen Sie auch immer stellen, sie ändern sich garantiert.

  3. Es wird immer mehr zu tun geben, als Zeit und Geld erlauben.

und ein Ziel:

  • Jede Woche etwas Wertvolles liefern.

Das ist alles, was Sie brauchen, um loszulegen.

Ihren Vorgesetzten zu überzeugen, ist eine andere Sache.


11

Ein Manager kann Agilität nicht anders "verstehen" als ein Entwickler. Sie müssen ihm die Argumente präsentieren (die Bücher von Kent Beck sind ein guter Anfang) und ihn sich selbst überlassen.

Alternativ können Sie ihn bitten, ein Experiment durchzuführen. Nehmen Sie ein kleines Projekt und führen Sie es mit iterativer Entwicklung aus. Behalten Sie dabei Zeit, Budget, Qualitätsprobleme und Teamzufriedenheit im Auge. Vergleichen Sie es mit früheren Projekten (oder Releases) und prüfen Sie, ob es besser, schlechter oder neutral war.


Der 'experimentelle' Ansatz ist das, was meine Gruppe jetzt mit einer unserer neuen Arbeiten macht. Scheint so weit zu arbeiten - 3 Wiederholungen, jeder außerhalb unserer Gruppe ist glücklich; die Entwickler noch mehr.
DaveE

5

Sie nicht

Warum ist ein Senior Director überhaupt an der Wahl der Softwareentwicklungsmethode beteiligt? Diese Entscheidung liegt weit unter seiner Gehaltsstufe, ist ein bisschen mikro-verwaltend und spricht für Misstrauen.

Zweitens, warum muss er es überhaupt verstehen? Wenn die Softwarespezifikationen in Stein gemeißelt sind, wird es genau eine Iteration geben. Wenn dies nicht der Fall ist, wird es mehrere Iterationen geben. Dies ist nicht seine Entscheidung .

Wenn er denkt, dass es seine Entscheidung ist, untergräbt er die Autorität des IT-Managers, des Projektmanagers, des IT-Architekten, der Teamleiter und des Entwicklungsteams. Also sollte er die @ # $% ing-Software selbst oder STFU schreiben und die Profis ihren Job machen lassen, ohne von Dinosauriern belastet zu werden.

Ich mache keinen Spaß. Wenn er dir nicht trauen kann, soll er es selbst tun und du solltest schreiend davonlaufen .


4

"Das Erstellen von Software ist wie das Erstellen eines Films. Sie müssen im Voraus planen, aber während des Filmens müssen Sie Neuaufnahmen machen, alte Szenen erneut besuchen und das Endprodukt bearbeiten, um ein gutes Ergebnis zu erzielen."

Andererseits ist er ein Manager, also in seinen Worten:

"Wir müssen unsere synergetische Flexibilität nutzen, um eine Just-in-Time-Komplettlösung zu generieren."


3
+1 für "Wir müssen unsere synergistische Flexibilität nutzen, um eine Just-in-Time-Full-Service-Lösung zu generieren"
CaffGeek,

Kennen sich die Leute mit Filmen besser aus als mit Software? Oder haben Sie sich über "Senior Director" lustig gemacht?
Alex Feinman

2

Es gilt das alte Sprichwort: Man kann das Pferd ins Wasser bringen, aber nicht zum Trinken bringen.

Wie andere bereits betont haben, ist der geschäftliche Wert für diesen Senior Director von entscheidender Bedeutung. Sie können versuchen, eine kurze Schätzung des Zeitaufwands für die Erstellung seiner Flussdiagramme und Moduldiagramme und die Erstellung eines "vollständigen" Sicherheitsdatenblatts (lächerliches Konzept, aber geben Sie ihm, was er will) abzugeben. Wenn ich etwas über diese Dinge weiß (und als ich anfing, Software zu schreiben, war das so), wird Ihre Schätzung leicht mehrere Mannwochen betragen, wenn nicht mehr für ein beträchtliches Projekt. Drücken Sie diese Zahl in Geld aus.

Zeigen Sie ihm dann, wie viel Funktionalität Sie gleichzeitig liefern können. Sprechen Sie mit einigen Geschäftsleuten darüber, wie viel Zeit sie sparen würden, wenn sie eine einfache Web-App hätten, die die Dinge erledigt, die Sie in derselben Zeit liefern könnten. Dann multiplizieren Sie diese Einsparung mit der Häufigkeit, mit der diese Funktion beispielsweise in 3 Jahren verwendet wird. Drücken Sie das mit Geld aus.

Es gibt wahrscheinlich andere geschäftliche Vorteile, die sich in Geld ausdrücken lassen. Mein Favorit ist immer "goofball" Prävention. Wenn Ihre Software dazu beitragen kann, Katastrophen zu minimieren oder ganz zu vermeiden, suchen Sie eine aktuelle Katastrophe und drücken Sie sie in Geld aus. Dann sagen Sie zu Ihrem Chef: Wenn wir das jetzt hätten, hätten wir dieses Geld gespart.

Und wenn der Geld-Trick nicht funktioniert, sollte er vielleicht zu ihm gehen und ihm sagen, er solle aufhören, sein Team mit Mikromanagement zu beschäftigen. Meiner Erfahrung nach wird Sie das jedoch mit größerer Wahrscheinlichkeit feuern als alles andere.


2

Der einfache Ort könnte das Manifest für agile Softwareentwicklung sein .

Die Informationen, die Sie an dieser Stelle finden, beziehen sich auf die Kernprinzipien der agilen Softwareentwicklung, die von einer Gruppe bekannter Fachleute definiert wurden.

Das ist

  • Individuen und Interaktionen über Prozesse und Werkzeuge
  • Arbeitssoftware über umfangreiche Dokumentation
  • Zusammenarbeit der Kunden bei Vertragsverhandlungen
  • Reaktion auf eine Umstellung nach einem Plan

Aber bitte schauen Sie sich die Seite im Detail an, um die volle Absicht zu erfahren.


1
und möglicherweise noch wichtiger, um den Punkt zu vermitteln: halfarsedagilemanifesto.org
gbjbaanb

1

Ich würde vorschlagen, ihm zu zeigen, dass Sie durch "Rapid Prototyping" (auch bekannt als das Codieren der ersten paar Iterationen) Ihre Sicherheitsdatenblätter schneller und genauer ausarbeiten können (was bedeutet, dass Sie später weniger Nacharbeit leisten müssen) und damit beginnen, den geschäftlichen Nutzen früher zu erzielen. Wahrscheinlich ist der geschäftliche Wert alles, was für diesen Direktor wichtig ist, und er hat entschieden, dass der beste Weg, dies zu erreichen, in diesem sequentiellen Prozess besteht. Sie müssen ihm in seinen Begriffen zeigen, warum Ihr Ansatz besser ist.


5
Manager: "Wir sind schon fertig? Großartig! Verwenden wir einfach den Prototyp"
Homde

@mko: Wenn das Ziel dieser Übung darin besteht, den Manager davon zu überzeugen, nicht auf solch detaillierten Spezifikationen zu bestehen, wäre diese Art der Reaktion ein klarer Gewinn. Es hört sich so an, als ob in diesem Szenario so gut wie keine Chance dafür besteht.
Aaronaught

-1

Dies könnte hilfreich sein - http://www.youtube.com/watch?v=4u5N00ApR_k

In diesem Film "Ich möchte ein agiles Projekt leiten" folgen wir den Erfahrungen eines solchen mutigen Projektleiters, Luke, der im gesamten Unternehmen viele verschiedene Begegnungen hat und daran arbeitet, sein agiles Projekt zu etablieren und umzusetzen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.