Russisches SCRUM. Sinnlos und gnadenlos

Gute Tageszeit, lieber Habr!

Ich bin ein Programmierer der alten Schule mit mehr als 20 Jahren Erfahrung. Er war an der Entwicklung vieler Projekte beteiligt, von denen die meisten sehr berühmt und erfolgreich sind. In einigen Projekten hatte er Führungspositionen inne und erreichte ein gutes Gehaltsniveau. Aber wir haben uns hier nicht versammelt, um unsere Erfahrung, Erfahrung, unser Gehalt usw. zu messen, oder? Lassen Sie uns besser darüber sprechen, wie Startups moderne Methoden zur Verwaltung der Softwareentwicklung verwenden. Und was kommt davon?

Haftungsausschluss Diese Veröffentlichung spiegelt nur die persönliche Meinung des Autors zur Entwicklung und Anwendung moderner Methoden des Softwareentwicklungsmanagements wider und kann nur als unterhaltsame Lektüre angesehen werden, die jene Momente veranschaulicht, die Sie plötzlich in der täglichen Arbeit eines Programmierers erleben können.

Haftungsausschluss-2. Die Verwendung von Emoticons wird in Veröffentlichungen zu Habré nicht empfohlen. Aber sie sind impliziert.

Wir werden also über das gewöhnlichste Startup sprechen.

Es war einmal eine gewöhnliche Produktionsfirma, in der ein etablierter Produktionsprozess seit langem und erfolgreich funktioniert. Alle Phasen des genannten Produktionsprozesses werden im Unternehmensinformationssystem angezeigt. Rohstoffe und Komponenten kamen im Lager an - eine Zeile zu diesem Ereignis wurde in der ERP-Datenbank ( Enterprise Resource Planning, Enterprise Resource Planning) angezeigt . Die hergestellten Waren wurden an den Käufer versandt - ein paar weitere Zeilen wurden der Datenbank hinzugefügt. Routinemäßige, alltägliche Informationstechnologie im Dienste eines echten Unternehmens, nichts Interessantes.

Aber die Zeit steht nicht still, Informationstechnologien entwickeln sich, banales ERP sieht nicht so „modisch“ aus (auch wenn es offen gesagt in manchen Augen „veraltet“ aussieht), und eine Gruppe von Initiativmanagern hatte die Idee, die Blockchain an den Produktionsprozess zu „binden“. Nein, nicht so. BLOCKCHAIN. Modern, mächtig, effektiv und unbestechlich (alle Wörter mit einem Großbuchstaben).

Ein Entwicklungsteam hat - am häufigsten in der klassischsten Komposition - Front-End-Entwickler, Back-End-Entwickler und Datenbankentwickler zusammengestellt. 3 Entwickler und Projektmanager. Obwohl nein, gibt es wirklich keinen Projektmanager ( - Sehen Sie den Gopher? - Nein ... - Und ich verstehe nicht. Und er ist es. ), Obwohl dieser Autor ein wenig voraus ist.

Es gab keinen Blockchain-Spezialisten im jungen Team, keiner der Entwickler, einschließlich des fehlenden PM, hatte sich nie mit der Blockchain befasst - daher wurde der Autor dieser Veröffentlichung, der Erfahrung in der Entwicklung mehrerer Blockchain-Projekte hat, als Blockchain-Entwickler eingestellt.

Da die derzeit geplante Information Blockchain-Technologie die modernste ist, wurde die modernste Methode zur Verwaltung der Softwareentwicklung gewählt - nämlich SCRUM.

Der Autor ist sich sicher, dass die Mehrheit der Leser von Habr die Grundprinzipien dieser Methode kennt, aber da der Autor selbst in der Praxis nur in diesem Projekt auf diese Methode gestoßen ist, wird er sich erlauben, die Hauptpunkte sehr einfach auszusprechen.

  1. (Project backlog) « » (user story) — , . «, , ...» ( — . ).
  2. . , «» « » .
  3. «», 1 . ( , ())
  4. «» « » ( , . )

Hier kommt also die Antwort auf die Frage "Warum hatte das Entwicklungsteam nicht plötzlich eine PM?" - es ist sehr einfach - diese Position wird von der SCRUM-Ideologie nicht vorgesehen, genau wie die Position des Software-Architekten nicht bereitgestellt wird ( Hallo, Matrix! ) Und Posten des Technical Writer ( runter mit der Bürokratie! ). Das Team sieht die Position des SCRUM-Masters vor, der nur Besprechungen abhält, die Ergebnisse der Diskussion formuliert und aufzeichnet. Freie Entwicklung freier Menschen Entwickler .

Und lass den Spaß beginnen !

Ich möchte Sie daran erinnern, dass das Ziel des diskutierten Startups darin besteht, ein "System zu entwickeln, in dem die Produktions- und Geschäftsprozesse eines Unternehmens in der Blockchain angezeigt werden" (anstelle einer veralteten Datenbank).

Eine klassische, veraltete und uninteressante Entwicklungsmethode würde die konsequente Umsetzung solcher Schritte beinhalten.

  1. Beschreibung der Einheiten (Rohstoffe-Komponenten-Produktionsprozesse-Lieferanten-Käufer usw.), mit denen das entwickelte Informationssystem arbeiten wird.
  2. Aufbau von Beziehungen zwischen Unternehmen (der Lieferant liefert Rohstoffe, der Käufer kauft die Waren usw.).
  3. Entwicklung der Systemarchitektur.
  4. Beschreibung der Systemkomponenten.
  5. Entwicklung von Leistungsbeschreibungen für jede Komponente des Systems.
  6. Implementierung.
  7. Debugging, Optimierung.
  8. Systemimplementierung.

Aber das alles ist sehr lang! Der Kunde kann das Ergebnis nicht innerhalb einer Woche sehen!

Daher verwenden wir das moderne SCRUM anstelle der veralteten Entwicklungsmethode.

  1. 1- — «, , , - » (… - ...).
  2. , 1 .
  3. ; -; ; ; - - .
  4. , .
  5. ( ). : 1, 2, 3, 5, 8, 13, 21. , 21 , 20. 21 () , 13 ( ), ? , SCRUM.
  6. , ? ! , 20 — 1 . — 5 8 .
  7. , .
  8. … — SCRUM- , 1 . .

Infolgedessen sieht der Kunde nach einer Woche eine Site mit 1 Schaltfläche. Wenn Sie auf eine Schaltfläche klicken, wird eine Transaktion an die Blockchain gesendet - "Ein Produktionsprozessereignis wurde erstellt". Es wird noch kein Feedback geben. Ja, dies ist eine vollständige Beschreibung der erfolgreich aufgelösten User Story. "Ich als Benutzer möchte ein System erhalten, in dem die Produktions- und Geschäftsprozesse des Unternehmens in der Blockchain angezeigt werden." Nein, der Autor übertreibt nicht.

Die Kosten für die Entwicklung einer solchen Lösung betragen 1/4 des monatlichen Gehalts von 4 Entwicklern und 1 Scrum-Master (zu Preisen im April 2020 - ca. 6.000 USD).

Hier ist er, der russische SCRUM. Sinnlos und gnadenlos.

All Articles