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!
design
agile
specifications
Steven A. Lowe
quelle
quelle
Antworten:
Als Berater verstehe ich eine einfache Regel der Beratung:
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:
Es ist unmöglich, alle Anforderungen zu Beginn des Projekts zu erfassen.
Welche Anforderungen Sie auch immer stellen, sie ändern sich garantiert.
Es wird immer mehr zu tun geben, als Zeit und Geld erlauben.
und ein Ziel:
Das ist alles, was Sie brauchen, um loszulegen.
Ihren Vorgesetzten zu überzeugen, ist eine andere Sache.
quelle
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.
quelle
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 .
quelle
"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."
quelle
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.
quelle
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
Aber bitte schauen Sie sich die Seite im Detail an, um die volle Absicht zu erfahren.
quelle
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.
quelle
Dies könnte hilfreich sein - http://www.youtube.com/watch?v=4u5N00ApR_k
quelle