Bei mehreren Projekten zur Implementierung von Unternehmenssystemen bin ich auf die Aufgabe gestoßen, schwer vorhersehbare Aufgaben zu planen und zu steuern. Stellen Sie sich vor, Sie müssen viele ähnliche Aufgaben ausführen, und eine große Anzahl von Personen ist daran beteiligt, während Sie nicht genau wissen, in welcher Reihenfolge sie ausgeführt werden und wie lange sie dauern werden.
Im Projektmanagement vertraute Gantt-Diagramme funktionieren in diesem Fall schlecht. Ein typisches Beispiel ist die Entwicklung von Erweiterungen für CIS.
Im Folgenden werde ich Ihnen sagen, welche Methode wir für Projekte verwendet haben, um eine große Anzahl paralleler Aufgaben mit minimalen Verwaltungskosten zu steuern.
1. Arbeitsplanung
Vor ungefähr fünf Jahren schrieb ich
einen Artikel - Empfehlungen an Projektmanager zur Terminplanung. Die Prinzipien wurden im Laufe der Zeit getestet und ich halte mich immer noch daran.
Für einige Arten von Aufgaben ist es jedoch praktisch unmöglich, einen konsistenten detaillierten Zeitplan zu erstellen. In einer Situation, in der viele Aufgaben parallel ausgeführt werden und deren Dauer und Komplexität nur mit einem großen Fehler geschätzt werden kann.
Ein klassisches Beispiel ist die Entwicklung. Jede Entwicklung durchläuft mindestens mehrere Phasen - Design, Codierung, Test. In der Regel sind mehrere Iterationen erforderlich, wenn die Aufgabe zur vorherigen Stufe übergeht. Die Entwicklung wechselte vom Codieren zum Testen, der Entwickler übernahm eine andere Aufgabe. Die Entwicklung wurde auf Codierung zurückgesetzt, der Entwickler beendet entweder die vorherige Aufgabe oder nimmt sofort die Korrektur von Fehlern auf. Abhängig von der Situation und den Prioritäten kann es eine unterschiedliche Reihenfolge der Teamarbeit im Aufgabenpool geben. Der Prozess sieht chaotisch und unkontrollierbar aus. Dies in Form eines übersichtlichen Gantt-Diagramms darzustellen, an das Projektmanager gewöhnt sind, das alles zu kontrollieren ist, ist äußerst mühsam und, wenn überhaupt möglich, nicht sehr nützlich.
Wie man ist Wie kann man den Arbeitsfortschritt kontrollieren? Wie man versteht - rechtzeitig oder nicht; Wo sind die Engpässe? Gibt es genügend Ressourcen? Wer arbeitet gut und wer nicht? Wie kann man am Ende dem Management Bericht erstatten?
Unten ist eine der Optionen, die mir optimal erscheint, und unter bestimmten Bedingungen die einzige.
2. Verwenden eines Arbeitsverwaltungssystems
Es ist sofort erwähnenswert, dass es ohne die Verwendung eines Aufgabenverwaltungssystems, mit dem jeder Teilnehmer Aufgaben empfangen, an andere Teilnehmer übertragen und deren Abschluss markieren kann, unmöglich ist, einen normalen Prozess aufzubauen.
In meiner Praxis habe ich verschiedene Tools verwendet und einen Übersichtsartikel zu diesem Thema veröffentlicht (siehe Artikel zu Habr:
Projektmanager-Tools ). Hier werde ich die Erfahrungen mit JIRA, die wir für das Entwicklungsmanagement eingerichtet haben, mit Standardfunktionen und minimalem Einsatz zusätzlicher Plug-Ins genauer beschreiben.
JIRA ist das Task-Management-System von Atlassian. Die Kosten für eine Lizenz beginnen je nach Anzahl der Benutzer bei 10 USD pro 10 Benutzer. Es gibt Optionen für die eigene Installation oder die Verwendung der Anwendung in der Cloud. Preise für alle Optionen finden Sie
hier .
JIRA zeichnet sich durch eine etwas altmodische Benutzeroberfläche (es ist ein System von sehr respektablem Alter, das bereits einen sehr langen Entwicklungsweg hinter sich hat), Zuverlässigkeit, ein flexibles System zur Konfiguration aller möglichen Funktionen (Workflow, Bildschirmtyp, Zugriff, Benachrichtigungssystem), eine große Anzahl von kostenpflichtigen und kostenlosen Plug-Ins aus. und die Möglichkeit einer tiefen Entwicklung.
Wir mussten nicht überarbeitet werden, wir haben den Workflow eingerichtet und ständig verbessert (der Arbeitsprozess ist die Festlegung und Reihenfolge der Status für die Aufgabe und die Übergänge zwischen ihnen) sowie den Zugriff von Teilnehmern und Dashboards zur Steuerung der Arbeit.
Ich habe mir nicht die Aufgabe gestellt, die Funktionen und Möglichkeiten der Verwendung der Anwendung irgendwie detailliert zu beschreiben, aber für die weitere Darstellung ist es wichtig, einige Punkte zu veranschaulichen.
3. Workflow für die Aufgabenverwaltung
Der Workflow spiegelt den Lebenszyklus der Aufgabe wider, in unserem Beispiel - Design, Codierungstests. Eigentlich ist der Prozess viel komplizierter. Abhängig von den Merkmalen der Organisation des Projekts, der Rekrutierung von Teilnehmern und den Kontrollanforderungen kann die Anzahl der Phasen erheblich variieren.
Beispielsweise hatte eines der Projekte den folgenden Workflow zum Verfolgen einer Entwicklungsaufgabe.

Viele Phasen der Koordination, Arbeitsverteilung, Tests auf allen Instanzen des Systems ... Dies ermöglichte es jedoch, jeden Schritt im System zu bestätigen, die Verantwortung zu verfolgen und genau zu wissen, wer und in welcher Phase die Aufgabe ist.
4. Die Komplexität der Aufgabe
Die Komplexität der Aufgabe wurde in zwei Komponenten unterteilt: Design und Konstruktion. Design ist die Arbeit eines Analysten, um Dokumente vorzubereiten und die Entwicklung zu testen. Das Bauen ist die Arbeit des Entwicklers für die Entwicklung von technischem Design, Codierung und eigenen Tests, bevor es an den Analysten weitergegeben wird.
Es ist ziemlich schwierig, die Komplexität einer Aufgabe im Voraus zu beurteilen, ohne auf die Details einzugehen, insbesondere wenn es mehrere tausend Aufgaben gibt, wie dies in unserem Fall der Fall war. Es ist jedoch notwendig zu bewerten, um den Gesamtarbeitsaufwand und den erforderlichen Ressourcenaufwand zu verstehen und den Zeitpunkt zu bestimmen.
Für eine ungefähre Bewertung wird ein Taschenrechner verwendet, dem je nach Art und Komplexität der Aufgabe die geplante Komplexität zugeordnet wird.
Die Komplexität der Aufgabe hängt vom Objekt und dem Arbeitsaufwand ab. Um beispielsweise ein Formular in Oracle eBS zu entwickeln, werden die Komplexitätskriterien wie folgt beschrieben:
- Sehr einfach - Einzelblockform mit 8 oder weniger Spalten. Es ist keine spezielle Funktionslogik erforderlich.
- Einfach - Einzel- und Mehrfachblockform (2-3 Blöcke) mit 20 oder weniger Spalten. Eine einfache Funktionslogik (einfache Bearbeitung, Kreuzbearbeitung (Kreuzbearbeitung), einfache Berechnungen, Summen und Zwischensummen) ist erforderlich.
- usw.
Die Art der Aufgabe spiegelt den Inhalt der Aufgabe, die Besonderheiten der Technologie, der Anwendung oder eines Teils davon wider.
Zum Beispiel:
- Neue oder veränderbare Formen.
- Neue oder überarbeitete Berichte.
- Neue oder veränderbare Datenbankprogramme.
- SQL * Loader-Skripte.
- Signale (Warnungen).
- Personalisierung.
- usw.

Basierend auf der Komplexität und Art der Entwicklung berechnet der Rechner die geplante Komplexität.
Und obwohl der Schätzfehler statistisch in großer Zahl signifikant sein kann, werden diese Fehler ausgeglichen, und eine allgemeine Vorstellung vom Arbeitsaufwand kann für Projektplanungszwecke verwendet werden.
5. Überwachen der Aufgabenleistung
Wie können wir angesichts des Status der Aufgabe und ihrer Komplexität den Fortschritt der Arbeit bewerten?
Die traditionelle Option besteht darin, zu planen, wie viele Aufgaben Sie für einen bestimmten Zeitraum ausführen müssen, und den Abschluss der Aufgaben regelmäßig zu verfolgen. Das Problem ist, dass einige Aufgaben lange dauern und sich über mehrere Planungszeiträume erstrecken. Und in einigen Zeiträumen sind viele Aufgaben erledigt, in anderen zu wenige. Dies liefert kein Verständnis für die Situation, insbesondere zu Beginn und am Ende des Projekts.
Sie können versuchen, den Abschluss einzelner Phasen der Aufgabe zu planen. Im obigen Beispiel haben wir 21 Stufen verwendet, von denen jede nicht planbar ist. Wir wählen die wichtigsten aus - Fertigstellung des Entwurfs, Fertigstellung der Codierung, Fertigstellung der gesamten Aufgabe. Wir planen einen Termin für jede Aufgabe, wir werden Abweichungen kontrollieren. Es scheint machbar. Bei der gleichzeitigen Bearbeitung einer Vielzahl von Aufgaben ist es jedoch schwierig, etwas in mehreren hundert Abweichungen zu erkennen und die richtigen Schlussfolgerungen zu ziehen. Für jede Abweichung gibt es eine Erklärung, einen objektiven Grund. Etwas wird spät erledigt, etwas schneller.
Bei einem der Projekte haben wir versucht, die Datumskontrollmethode zu verwenden. Der geplante Termin wurde von den Darstellern festgelegt. Die Tatsache wurde beim Übergang vom entsprechenden Status automatisch im System aufgezeichnet.

Die Abbildung zeigt ein Histogramm der Abweichungen nach dem Datum, an dem das funktionale Design (FD) fertig ist. Positive Werte zeigen einen Fortschritt an, negative Werte zeigen eine Verzögerung im Diagramm an. Es ist ersichtlich, dass die größte Anzahl von PD von den Testamentsvollstreckern mit einer Verzögerung von 3,8 bis 1,7 Tagen übergeben wird. In diesem Fall liegen die Extremwerte zwischen 43 Tagen Verspätung und 67 Tagen vor dem Zeitplan.
In dieser Situation sehen wir, dass die Darsteller in den allermeisten Fällen die von ihnen festgelegten Fristen verletzen. Dieser systematische Fehler ist es wert, darüber nachzudenken. Vorausgesetzt, das Team ist motiviert und jeder arbeitet in gutem Glauben, bedeutet dies nur, dass die Leute die Echtzeit nicht angeben können. Die Darsteller berücksichtigen keine komplizierenden Faktoren, die in den meisten Fällen während der Arbeit auftreten.
Zusätzliche Zeit wird für die Planung aufgewendet, aber tatsächlich ist niemand für die Einhaltung der Fristen verantwortlich. Wenn Sie Sanktionen für Verstöße einführen, werden Termine mit einem großen Spielraum festgelegt, und die Leistungssituation wird noch schlimmer.
Wenn Sie etwas kontrollieren möchten, überlegen Sie, was Sie mit den Ergebnissen der Kontrolle tun werden. Welche Entscheidungen können Sie basierend auf den gesammelten Daten treffen?
6. Earned Volume-Methode
Versuche, eine große Anzahl von Aufgaben mit einem hohen Maß an Unsicherheit auf einer detaillierten Ebene zentral zu verwalten, sind zum Scheitern verurteilt.
Sie können diese Aufgaben in Gruppen aufteilen und detaillierte Planungen an Gruppen delegieren. Mehrere Personen, mehrere Dutzend Aufgaben können in einer Kette angeordnet werden, schnell auf Änderungen reagieren und Entscheidungen über die Änderung von Prioritäten treffen. Auf Projektebene sind jedoch andere Methoden erforderlich.
Die verwendete Volumenmethode hilft. Ohne auf die Theorie einzugehen, werde ich beschreiben, wie diese Methode zur planmäßigen Kontrolle der Entwicklung implementiert wird.
Wir haben bereits den Lebenszyklus der Aufgabe bestimmt und die geplante Komplexität jeder einzelnen von ihnen bestimmt. Jetzt weisen wir den Prozentsatz der Aufgabenerfüllung für jede Stufe zu. In unserem Fall, weil Es gab eine Aufteilung des Arbeitseinsatzes in Design und Codierung, wobei jedem der Werte ein Prozentsatz zugewiesen wurde.
Die Zuweisung von Interessen erfolgt durch einen Experten, der bewertet, wie viel wir für erledigt halten und wie viel mehr Arbeit in dieser Phase verbleibt.

Nachdem eine solche Tabelle erstellt wurde, kann für jede Aufgabe ermittelt werden, wie viele Personentage aus der geplanten bereits gemeistert werden, und so der Fortschritt jeder Aufgabe gemessen werden.
Beispielsweise hat eine Aufgabe einen geplanten Arbeitsaufwand von 10 Stunden für das Design und 20 Stunden für die Entwicklung. In der Testphase glauben wir, dass es zu 80% in Bezug auf die Arbeit des Analytikers (weitere 20% der für die Durchführung des Tests erforderlichen Arbeit) und zu 50% in Bezug auf die Arbeit des Entwicklers abgeschlossen ist. Wir sind bereit zuzugeben, dass das Design 8 Stunden und die Entwicklung 10 Stunden gedauert hat. Insgesamt wurden von 30 Manntagen bereits 18 abgeschlossen.
Gleichzeitig berücksichtigen wir nicht, dass tatsächlich andere Zeit aufgewendet werden kann. Für die angegebenen Zwecke spielt es keine Rolle.
7. Projektberichterstattung
Mit einer Tabelle, in der wir für jede Aufgabe eine geplante Komplexität und ein beherrschtes Volumen haben, ist es leicht zu verstehen, wie die Dinge laufen.
Es ist möglich, Aufgaben in Richtungen, Komponenten und Meilensteine des Projekts zu unterteilen, um eine detailliertere Analyse durchführen und in allen erforderlichen Abschnitten Übersichtstabellen erstellen zu können.
Das Gesamtbild des Projekts wird für die Präsentation auf Führungsebene bequem:
JIRA-Upload-Übersichtstabelle

Kontrolle der Plan Tatsache für das gesamte Projekt

Diese Methode findet nicht immer Verständnis. Mythische Manntage werden weniger verstanden als Entwicklungsstücke. Und er storniert keine detaillierte Planung auf Gruppen- und Einzelebene. Dies ist jedoch die objektivste Methode zur Beurteilung der aktuellen Situation und zur Vorhersage des Arbeitsabschlusses.