Warum gibt es keine neuen Produktionen? Wo sind die Siege in Wettbewerben? Was meinst du mit zwei Monaten Laufen und Sammeln von Papieren? Welche andere Kreativität? Und warum hast du keine Zeit dafür? Welche andere Sekretärin sollten Sie einstellen? Was meinst du mit "Ich gehe"? Denken Sie ernsthaft, dass Sie ohne uns damit umgehen können? Ok, viel Glück.
So etwas beschrieb einen sehr guten Anführer eines sehr guten Tanzgruppenlebens "unter dem Flügel" einer staatlichen Institution, als er erklärte, warum er "unter dem Flügel" wegging.
Der Fall ist in der Seele versunken, tk. Ich habe gerade (noch einmal) ein Experiment durchgeführt, um andere kreative Leute - Programmierer - von nicht zum Kern gehörenden, aber "so wichtigen, notwendigen und obligatorischen Arbeiten" zu befreien - pünktlich zu sein.
Was passiert wenn?
Ich habe dieses Experiment mehrmals in verschiedenen Unternehmen durchgeführt - sowohl bei Projekten als auch bei der Entwicklung, bei Fabrikprogrammierern und bei der Bereitstellung von Revisionsdiensten. Ob Sie es glauben oder nicht, das Ergebnis ist immer das gleiche.
Wenn Programmierer sich keine Gedanken mehr über Termine machen und Probleme nacheinander ohne Ablenkung lösen, verdoppelt sich die Produktivität. Wenn Sie also den Modus "Zeit abfangen" wieder einschalten, ist der Koeffizient genau der gleiche - zweimal wird nur diesmal die Produktivität durch ihn geteilt.
Nun, und vor allem: Der Programmierer hält die Frist für mein Leben immer noch nicht ein. Und wenn doch, dann nur manchmal aus Versehen. Oder auf Kosten einer reduzierten Produktivität.
Hier ist alles sehr einfach. Ich werde das Axiom nicht beweisen, dass ein Programmierer nie genau weiß, wie lange es dauern wird, ein Problem zu lösen - es gibt viele Artikel und Bücher zu diesem Thema. Wenn Sie als Programmierer gearbeitet haben, ist kein Nachweis erforderlich. Es gibt natürlich Ausnahmen - ähnliche, sich wiederholende Aufgaben - aber dies sind die Ausnahmen.
Der Großteil unserer Arbeit enthält so viele sich ständig ändernde Unbekannte, ständige Rückblenden alter Aufgaben, Überraschungen von Subunternehmern und Aktualisierungen von Abhängigkeiten, Konstruktionsfehlern usw.
Wie planen Sie diese Arbeit? Grundsätzlich gibt es vier Ansätze - Fantasie, Reserve, Volumen und Fluss.
Methoden der "Planung"
Fantasy ist die Anwendung von Batch-Produktionsplanungsmethoden auf die Arbeit von Programmierern. Zum Beispiel Lean oder MRP. Dieser Ansatz wird von allen "klassischen Managern" verwendet, insbesondere von ihrer separaten Kaste - "Managern". Sie müssen nur die geplanten Arbeitskosten des Programmierers herausdrücken, alle seine Schreie wie "Verdammt, ich weiß nicht einmal, was ich dort vor mir habe" ignorieren und eine schöne Wurst auf die Gantt-Karte zeichnen. Und jeden Tag neu zeichnen.
Die Reserve besteht aus Ansätzen wie der Theorie der Zwänge, bei denen der Anteil eines Pferdes für alle Fälle einfach zu den geplanten Arbeitskosten addiert wird. Die resultierende Figur wird auch als Wurst auf der Gantt-Karte gezeichnet. Es wird seltener, aber fast immer neu gezeichnet.
Volumen ist, wenn nicht der Zeitrahmen für die Lösung von Problemen geplant ist, sondern die Produktivität. Dieser Ansatz wird beispielsweise in Scrum verwendet. Wenn Sie die ungefähre Geschwindigkeit der Teamarbeit (in Story-Punkten) kennen, können Sie den Arbeitsaufwand pro Sprint (im selben SP) planen. Dementsprechend haben alle Sprintaufgaben das gleiche Fälligkeitsdatum.
Flow ist, wenn es nur Geschwindigkeit gibt. Aufgaben werden aneinandergereiht, der Programmierer setzt sich und löst eins nach dem anderen. Die Daten sind nicht bekannt, können aber berechnet werden - unter Kenntnis der Geschwindigkeit und Anzahl der Aufgaben in der Warteschlange. Die Hauptsache ist, den Programmierer nicht selbst mit der Berechnung des Begriffs zu verwirren.
Vorteile und Nachteile
Es macht keinen Sinn, einen Fantasy-Ansatz zu diskutieren - er funktioniert nicht. Nicht nur das - es schafft auch ständigen, wilden Stress und idiotische Umplanungsarbeit. Sie können leben, wenn jemand anderes nicht an der Neuplanung beteiligt ist, dies kommt jedoch selten vor. Normalerweise wird der Programmierer jeden Tag mit Fragen wie "Sag mir die Frist", "Wann wirst du diese Aufgabe beenden?" oder "alle Fristen sind abgelaufen, werden Sie arbeiten oder nicht?" Auf natürliche, harmonische Weise kommt der Programmierer zu Zeitreserven, auch wenn er nichts über modische Methoden weiß.
Zeitreserven ersparen Ihnen Ärger, verringern jedoch die Produktivität aufgrund des Parkinson-Gesetzes - die Arbeit nimmt die dafür vorgesehene Zeit in Anspruch. Unter bestimmten Umständen eignet sich dieser Ansatz für alle - beispielsweise für werkseitige Programmierer. Bis der Programmierer zurücktritt, stellt er zwar in der Regel fest, dass seine Arbeitsgeschwindigkeit unter den Marktanforderungen liegt.
Die Fristen sind da eingehalten Zeitreserven können Tausende von Prozent der tatsächlichen Arbeitskosten betragen. Wenn das Geschäft oder der Prozess so strukturiert ist, dass der Schlüsselindikator genau auf die Frist trifft, ist die Zeitreservierungsmethode sehr gut geeignet.
Massenmethoden wie Scrum können Ihre Produktivität ungefähr verdoppeln, weil Reduzieren Sie den Einfluss des Parkinson-Gesetzes und konzentrieren Sie sich auf mehr oder weniger reale Produktivität, nicht auf Fantasien und Zeitreserven. Ein Sprint ist jedoch immer noch eine Frist, daher gilt das Parkinson-Gesetz ebenso wie Zeitreservierungen und Versuche, Story-Punkte zu manipulieren. Menschen sind Menschen - sowohl Programmierer als auch Manager. Programmierer wollen gute Mitarbeiter sein. Und Manager sind es so gewohnt, gute Mitarbeiter nur dann in Betracht zu ziehen, wenn sie „die Frist einhalten“, dass zumindest eine Zählung auf dem Kopf steht. All dies wird einfach anders genannt - wie "Alle Backlog-Aufgaben müssen innerhalb des Sprints ausgeführt werden, und hier gibt es nichts zu erleichtern." Und sie werden einen anderen KPI für dieses Geschäft entwickeln, weil die Vorstellungskraft nicht reich ist.
Es gibt seitdem keine derartigen Probleme im Stream Es gibt keinen Grund für sie - die Planung der Arbeit des Programmierers und Versuche, auf die eine oder andere Weise den Zeitpunkt der Arbeit abzuschätzen. Der Fluss schützt die Essenz der Arbeit des Programmierers - Kreativität. Ich möchte natürlich sagen, dass Flow reine Kreativität ist, aber das passiert nicht. Die Reinheit ist jedoch viel höher. Und die Produktivität wird mehr als bei Scrum verdoppelt.
Was interessant ist: Der Schutz des Programmierers oder eines Ausführenden der Arbeit ist in eine der oben genannten Methoden integriert. Bei Programmierern wird der Schutz jedoch immer vergessen.
Was ist die Basis einer Methode?
Zum Beispiel basiert Lean seltsamerweise auch auf der Idee des Flusses, da am Fließband erfunden. Die Idee ist, die Arbeit so gleichmäßig und harmonisch wie möglich zu gestalten. Damit jeder Darsteller in der Kette einerseits immer etwas zu tun hat und andererseits keine Warteschlange vor ihm steht. Nur die minimal erforderliche Kopffreiheit. Für einen Programmierer ist dies eine Aufgabe. Versuchen Sie, diese Idee einem Manager zu geben, der ein Lean-Experte ist - er wird nicht einmal verstehen, worum es geht, weil Ich habe den Abschnitt zum Schutz von Darstellern übersprungen, als ich den Wikipedia-Artikel über Lean Manufacturing gelesen habe.
In der Theory of Constraints, bei der es um Reserven geht, ist der Schutz der ausführenden Verbindung im Allgemeinen ein grundlegendes Postulat. Wo Programmierer sitzen, sind sie fast immer ein Engpass. Was sagt die CBT über den Engpass? Das stimmt - er muss beschützt werden. Entfernen Sie alle nicht zum Kerngeschäft gehörenden Aufgaben (einschließlich der Planung Ihrer eigenen Arbeit), vermeiden Sie Ausfallzeiten und verstemmen Sie Ihr Gehirn nicht mit dummen Fragen und Besprechungen. Organisieren Sie den Arbeitsfluss mit der Geschwindigkeit, mit der der Engpass funktioniert. Nun, Manager-Experten für Inhaltsverzeichnisse, geben Sie es zu - haben Sie lange darüber nachgedacht, wie Sie Programmierer vor allerlei Unsinn schützen können?
Bei Scrum dreht sich alles um Flow. Dort wird das Prinzip "Menschen nicht bei der Arbeit stören" auf ein absolutes Niveau angehoben und drückt sich in der Forderung nach maximaler Teamautonomie während des Sprints aus. Dann - bitte kommen Sie, sehen Sie, was passiert ist, wählen Sie Aufgaben für das nächste Rennen, stöbern Sie in der Dusche. Atme während des Sprints nicht einmal in der Nähe. Wer arbeitet in Scrum - was sagst du? Niemand berührt dich während des Sprints, oder?
Gesamt
Wo immer Sie spucken, überall brauchen Sie einen Fluss. Damit sich der Programmierer hinsetzt und einfach programmiert. Ich habe keine Fristen berechnet, nicht über Arbeitskosten phantasiert, Prioritäten nicht hundertmal neu geordnet, nicht an Meetings teilgenommen, nicht an idiotischen Korrespondenzen und Chats teilgenommen.
Wo immer Sie jedoch spucken, fließt nirgendwo etwas. Welcher Ansatz auch immer verwendet wird, der Manager oder der Kunde oder ein Idiot werden einen Grund finden, den Programmierer dem harmonischen kreativen Fluss zu entreißen, um einen wahnsinnig wichtigen Unsinn zu vermeiden.
Sie können jederzeit zum Stream zurückkehren. Oder zurück. Benötigen Sie jedoch - und kehren Sie zurück und unterstützen Sie. Der Juckreiz der ständigen Überwachung der Arbeit des Programmierers verfolgt. Besonders diejenigen, die in der Arbeit eines Programmierers nichts verstehen.