Gleichzeitige Projekte von Ajile (unter Gefängnis) und Wasserfall

Es gibt viele vorgefertigte, bewährte Frameworks für die Organisation des Workflows, in denen Methoden und Prinzipien gut beschrieben sind. Wenn wir ein Auto zusammenbauen, Kanban verwenden, einen Kuchen vorbereiten - Lean, eine benutzerdefinierte Website entwickeln - PMBoK. Es ist wichtig zu berücksichtigen, dass jedes Projekt einzigartig ist und eine Anpassung der Ansätze erfordert. Im Allgemeinen gibt es jedoch für Ihren Fall höchstwahrscheinlich bereits genügend nützliche Lösungen. Ich habe Prozesse für mich selbst aufgebaut und ein bisschen von allem genommen.

Es war


Er arbeitete in einem Startup. Ein Produkt, ein kleines Team, es gibt keine strengen Fristen. Benutzte Scrum und Kanban sozusagen in seiner reinsten Form. Wir haben Aufgaben in Trello aufgeschrieben und auf 4 Bretter gezogen: Ideen, wir müssen es tun, bei der Arbeit, es ist fertig. Um den Fortschritt der Arbeit zu besprechen, riefen sie jeden Tag an und planten einmal pro Woche Aufgaben für den nächsten Sprint. Alles ist wie die Menschen.

Wurde


Nachdem ich den Entwicklungsverlauf ein wenig verändert hatte, machte ich eine neue Erfahrung in einem Webstudio. Dort war er zunächst überrascht über die Flexibilität bei der Arbeit mit Kunden und, wenn auch ohne Sarkasmus, über das Fehlen eines Systems.

Um das Gesamtbild zu zeigen, werde ich ein sehr vereinfachtes Beispiel geben.
Kunde A: Ich muss eine Zielseite für ein Ereignis mit diesem oder jenem Datum entwickeln.
Projektmanager (MP): Okay, wir werden es bis zu einem bestimmten Datum tun.
Kunde B: Nehmen Sie dringend die folgenden Änderungen an der Site vor.
MP: OK, so schnell wie möglich hinzufügen.

Als nächstes stimmt der Abgeordnete der Schätzung für Kunde A zu, schreibt die Aufgaben in den Tracker und erstellt separate Projekte und nicht verbundene Boards. Sagt dem Team, was zu tun ist. Entwickler beginnen zu schneiden, und nach Abschluss zeigt der Manager den Kunden das Ergebnis.

Einträge im System sehen folgendermaßen aus:
Bild

Probleme


Der Wartungsansatz ist ziemlich logisch, aber die folgenden Probleme treten auf:

  • Keine sichtbare Verbindung zwischen Kunden- und
    Teamaufgaben. Geschäftsaufgaben werden normalerweise in der Tabelle gefunden und in Jira dekompiliert. Wenn ein Entwickler eine andere API-Methode schreibt, müssen Sie zum Manager gehen und erneut klären, um zu verstehen, wer sie verwenden wird.
  • Falsche Priorisierung
    Designer meldet vorzeitige Fertigstellung des Layouts (ja, dies passiert auch). Er fragt: Was tun als nächstes? MP legt die Aufgabe des vierten Projekts fest, das erste auf der Liste. Am Ende des Tages erkennt er, dass die vierte Aufgabe aus dem ersten Projekt wichtiger war.
  • Es gibt keine visuelle Darstellung des Arbeitsumfangs.
    Aufgaben in verschiedenen Projekten. Niemand möchte sie im Kopf behalten oder die Kataloge durchsuchen. Wenn ich fertig bin, ist es einfacher zu fragen: Was tun als nächstes?
  • Ungleichmäßige Lastverteilung nach Zeit und Mitarbeiter
    Es ist klar, was Vasya und Petya im Moment tun. Es ist schwieriger zu sagen, wer nach 2 Wochen beschäftigt sein wird und ob ihre Aufgaben gleichwertig sind.
  • Bei der Planung der Fertigstellungszeit werden Aufgaben aus anderen Projekten nicht berücksichtigt. Wir wurden
    gebeten, den Link auf der Site zu ändern. Oh, es ist einfach, lass es uns heute tun. Dann erinnert sich der Manager, dass es auf einer anderen Site überkritische Fehler gibt. Infolgedessen verlängerte sich das Team nach Angaben des Kunden eine Woche lang.

Vielleicht sieht es in diesem Beispiel mit den Änderungen und der Zielseite nicht beängstigend aus, da dies alles leicht zu bedenken ist, aber in der Praxis könnten 5 Projekte gleichzeitig mit jeweils 40 Aufgaben vorhanden sein. Viele Projekte kamen von anderen Managern. Die Boards, Arten von Aufgaben und Methoden wurden entsprechend ihrer Stimmung ausgewählt.

Melone konvertieren


Um ein System zu erstellen, mussten zunächst die Daten in ein einziges Format gebracht werden. Durch die Umwandlung der Masse der mir zur Verfügung gestellten Einheiten gelang es mir, zu folgendem Konzept zu gelangen:

Bild

Ich denke, aus dem Bild ist alles klar, aber mit der Implementierung in Jira sind kleine Nuancen verbunden. Lassen Sie uns jede Entität anhand von Beispielen analysieren.

Mit dem Konzept eines Projekts ist sowohl in den Köpfen der Community als auch von Atlassian alles eindeutig. Dies ist eine Folge von Aktionen, die darauf abzielen, in einer begrenzten Zeit Ergebnisse zu erzielen. Zum Beispiel: eine Website entwickeln, die Anwendung ein Leben lang unterstützen, eine Werbefirma gründen.

Epos (Veröffentlichung)- isolierte große Teile des Projekts: persönliches Konto, Warenkorb, Produktkatalog. Hier fangen die Meinungsverschiedenheiten bereits an. Jira hat ein Entity-Epos, aber ich habe immer noch Release verwendet.

Tatsache ist, dass zur Implementierung der korrekten Struktur 3 Verschachtelungsebenen erforderlich sind. Jira hat zum Zeitpunkt des Schreibens des Artikels 2 + 1 (Verlauf und Aufgabe befinden sich auf derselben Ebene). +1 ist eine Unteraufgabe, ich berücksichtige sie nicht, da sie aufgrund mangelnder Flexibilität und starker Bindung an die Eltern eher die Funktion des Komplements als des Verschachtelns hat.

Anstelle der Veröffentlichung könnten Sie eine Komponente oder einen Sprint verwenden, aber für meine Zwecke sahen sie weniger erfolgreich aus. Aus dem gleichen Grund wird Epic verwendet, um Geschichten aufzunehmen.

Geschichte (episch) in dieser Struktur ist die Aufgabe des Geschäfts (Kundenwunsch). Aufgabe- verständliche Maßnahmen zur Lösung geschäftlicher Probleme.

Außerdem wurden Entitäten einige Zähler und Felder hinzugefügt. Die wichtigste davon ist eine Skala zur Bewertung der Komplexität einer Aufgabe von 1 bis 10 in willkürlichen Einheiten (Story Point).

Systemerstellung


Wenn Daten vorhanden sind, müssen Sie entscheiden, in welcher Form und wie sie angezeigt werden sollen. Ich habe ein gemeinsames Projekt für das Team erstellt und eine JQL-Abfrage geschrieben, um Aufgaben aus all unseren Projekten darin abzurufen (die Abfrage kann im Abschnitt "Probleme" einfach generiert werden). Kanban-Boards und Status hinzugefügt, die unserem technischen Prozess entsprechen: Backlog → Zu erledigen → Ausführen → Überprüfen → Testen → Abgleichen → Fertig.

Das folgende Bild stellte sich heraus:

Bild

Jetzt durchlaufen alle Aufgaben einen einzigen Produktionszyklus, der ziemlich universell ist (Sie können das Design nicht testen, sondern sofort auf Vereinbarung übertragen). Wenn eine Phase fehlschlägt, wird der Aufgabe ein Kommentar hinzugefügt und an die Aufgaben zurückgesendet. Jede Aufgabe hat sichtbare Links zum Projekt, zum Kundenverlauf (Epos) und zum Epos (Release).

Mit derselben JQL-Abfrage mit dem BigGantt-Plugin (oder einem anderen) für Jira können Aufgaben in Form eines Gantt-Diagramms angezeigt werden. Ändern Sie die Vorlaufzeit, Fristen, Registerabhängigkeiten, sehen Sie die Belastung der Darsteller. Aufgaben in der Geschichte reduzieren, Geschichte in Epen, d.h. Visualisieren Sie eine Roadmap oder einen detaillierten Arbeitsplan.

Administrativer Teil


Von den Methoden wird Lean verwendet (eine Abfolge von Aktionen wird festgelegt, während die Möglichkeit der parallelen Ausführung von Aufgaben bestehen bleibt), Kanban (Aufgaben gehen von Spezialist zu Spezialist, ein Engpass ist leicht zu erkennen). From Scrum nahm an täglichen Besprechungen teil, um zu verstehen, wer was tut. Sie bewerteten auch die Komplexität neuer Aufgaben in Story Points. Ich wollte, konnte aber keine Sprints einsetzen, weil Der Kunde hat manchmal die Priorität von Aufgaben geändert, und es ist nicht mehr möglich, den Arbeitsaufwand nach dem Start des Sprints zu regulieren.

Nach dem Meeting werden Aufgaben in einem Backlog priorisiert, ein Executor zugewiesen und an Aufgaben übertragen. Der Entwickler erstellt einen Zweig in BitBucket, die Aufgabe springt automatisch zu Doing. Nach Abschluss des Vorgangs wechselt der „Entwickler“ zu Review, der Künstler wechselt zu einem anderen Entwickler. Wenn alles in Ordnung ist, führt der „Prüfer“ eine Zusammenführung durch und der Code befindet sich auf dem Testserver. Jira sendet die Aufgabe an den Tester. Nach der Überprüfung überträgt die Qualitätssicherung diese an den Manager. Das zeigt der Kunde. Der Kunde ist zufrieden - der Code wird unter strenger Aufsicht der täglichen Autotests an den Kampfserver gesendet.

Vielen Dank für diese Automatisierung, danke an unsere Entwickler. Ich habe gerade die Änderung von Status und Executoren für Ereignisse von git konfiguriert. Dies geschieht in den Einstellungen von Geschäftsprozessen, wenn Sie im atlasianischen Ökosystem arbeiten. Und wenn Sie GitLab, Bitrix, verwenden, muss Redmine basteln.

Lösungen


Mal sehen, was wir erreicht haben:

  • Das Fehlen einer sichtbaren Verbindung zwischen den Aufgaben des Kunden und dem Team.
    Geschäftsaufgaben werden in Jira als Storys (episch) aufgezeichnet. Sie können mit einem Fertigstellungsgrad und einem Gantt-Diagramm angezeigt werden. Der Entwickler, der die Aufgabe ausführt, sieht, zu welcher Geschichte sie gehört, kann die Beschreibung lesen.
  • Falsche Priorisierung Der
    Designer, der die Aufgabe früher erledigt hat, nimmt eine neue aus dem Anfang der Aufgabenliste, wo sie nach dem Verhältnis von Story-Punkt zu Kosten (Geschäftsaufgaben in Rubel) priorisiert werden.
  • Es gibt keine visuelle Darstellung des Arbeitsumfangs.
    Aufgaben in einem Projekt. Jedes Mitglied des Teams sieht, wie es sich entlang des Kanban-Boards bewegt, dem allgemeinen Arbeitsablauf. Was wurde getan und was bleibt noch zu tun?
  • Ungleichmäßige Lastverteilung nach Zeit und Personal
    . Mit Gantt-Diagrammen können Sie Arbeiten an einem langen Horizont planen (mit ständiger Aktualisierung). Es gibt eine Projektion auf die Darsteller. Es kann gesehen werden, wenn der Executor zwei Aufgaben gleichzeitig hat, während jemand sie nicht hat.
  • Bei der Planung der Fertigstellungszeit werden Aufgaben aus anderen Projekten nicht berücksichtigt.
    Wenn Sie einem Projekt eine neue Aufgabe hinzufügen, wird dies im allgemeinen Rückstand angezeigt. Die Priorität in Bezug auf andere Aufgaben wird für sie in einer einzigen Metrik festgelegt.

Pläne


Einige Prozesse wurden reduziert oder automatisiert, aber es blieb noch viel mehr in den Plänen:

Erstellung von Schätzungen für Projektzeit und -material


Bei jeder Aufgabe notiert der Mitarbeiter die darin enthaltene Zeit. Wenn Sie die Stundensätze jeder Person, ihre Position und den Korrekturfaktor kennen (um wie viel multipliziert werden muss, um die Kosten des Unternehmens zu berücksichtigen), können Sie eine Tabelle mit einer Liste von Jobs und Kosten erstellen.

Automatische Abrechnung zwischen Managern


Wenn ich Aufgaben habe, aber nicht genügend Ressourcen vorhanden sind, frage ich einen anderen Manager nach dem Auftragnehmer. Wenn die Zeit für Berichte kommt, bringe ich die aufgewendeten Geldstunden des Mitarbeiters als Ausgaben in meinen Plan und als Einkommen in den Plan eines anderen Managers ein.

Jeden Monat musste ich die ganze Arbeit erhöhen, mich bei den Managern erkundigen, multiplizieren und subtrahieren, ohne kreativ zu sein. Wenn alle Mitarbeiter auf ein einziges Datenformat umstellen würden (die Art und Weise, Projekte in Jira durchzuführen), könnten alle Berechnungen ohne menschliches Eingreifen durchgeführt werden.

All Articles