Entwicklungsmanagement in einem großen Projekt

    Bei mehreren Projekten zur Einführung von Unternehmenssystemen stand ich vor der Aufgabe, schwer vorhersehbare Aufgaben zu planen und zu steuern. Stellen Sie sich vor, Sie müssen viele ähnliche Aufgaben ausführen, und dies erfordert eine große Anzahl von Personen, während Sie nicht genau wissen, in welcher Reihenfolge sie ausgeführt werden und wie lange sie dauern werden.

    Die dem Projektmanagement bekannten Gantt-Diagramme funktionieren in diesem Fall schlecht. Ein typisches Beispiel ist die Entwicklung von Erweiterungen für KIS.

    Nachfolgend erkläre ich Ihnen, welche Methode wir in Projekten angewandt haben, um eine Vielzahl paralleler Aufgaben mit minimalen Verwaltungskosten zu steuern.

    1. Terminplanung


    Vor ungefähr fünf Jahren schrieb ich einen Artikel - Empfehlungen für Projektmanager bei der Erstellung eines Zeitplans. Die Prinzipien wurden im Laufe der Zeit getestet und ich halte mich daran.

    Für einige Aufgaben ist es jedoch fast unmöglich, einen konsistenten detaillierten Zeitplan zu erstellen. In einer Situation, in der viele Aufgaben parallel erledigt werden und deren Dauer und Komplexität nur mit großer Unsicherheit geschätzt werden können.

    Ein klassisches Beispiel ist Design. Jede Entwicklung durchläuft mindestens mehrere Schritte - Design, Codierung, Testen. In der Regel sind mehrere Iterationen erforderlich, wenn die Task zur vorherigen Stufe wechselt. Die Entwicklung hat sich vom Codieren zum Testen verschoben, der Entwickler hat eine andere Aufgabe übernommen. Die Entwicklung wurde zurückgegeben, der Entwickler beendet entweder die vorherige Aufgabe oder übernimmt sofort die Korrektur von Fehlern. Je nach Situation und Prioritäten kann es zu einer unterschiedlichen Reihenfolge der Teamarbeit im Taskpool kommen. Der Prozess sieht chaotisch und unüberschaubar aus. Dies in Form eines genauen Gantt-Diagramms darzustellen, an das sich Projektleiter gewöhnt haben, das die Kontrolle über alles gewohnt ist, ist äußerst mühsam und von geringem Nutzen, wenn überhaupt möglich.

    Wie zu sein Wie kontrolliert man den Arbeitsfortschritt? Wie man versteht - wir haben Zeit oder nicht; Wo sind die Engpässe? Gibt es genügend Ressourcen? Wer arbeitet gut und wer nicht? Wie soll man dem Management Bericht erstatten?

    Unten ist eine der Optionen, die mir optimal erscheint, und unter bestimmten Bedingungen - die einzige.

    2. Verwendung des Arbeitsmanagementsystems


    Sofort lohnt es sich zu reservieren, dass ohne den Einsatz eines Task-Management-Systems, bei dem jeder Teilnehmer Aufgaben erhalten, auf andere Teilnehmer übertragen und deren Implementierung markieren kann, kein normaler Prozess erstellt werden kann.

    In meiner Praxis habe ich verschiedene Tools verwendet und einen Übersichtsartikel zu diesem Thema veröffentlicht (siehe den Artikel zu Habré: Tools des Projektmanagers ). Hier werde ich die Erfahrung mit JIRA, die wir für die Verwaltung der Entwicklung mithilfe von Standardfunktionen mit minimalem Einsatz zusätzlicher Plug-Ins eingerichtet haben, detaillierter beschreiben.

    JIRA ist ein System zur Verwaltung von Aufgaben (Anfragen) von Atlassian. Die Kosten einer Lizenz betragen je nach Anzahl der Benutzer 10 US-Dollar für 10 Benutzer. Es gibt Optionen, um sich selbst zu installieren oder die Anwendung in der Cloud zu verwenden. Preise für alle Optionen finden Sie hier .

    JIRA zeichnet sich durch eine etwas altmodische Benutzeroberfläche (dies ist ein sehr fortschrittliches Alterssystem, das bereits einen sehr langen Entwicklungspfad durchlaufen hat), Zuverlässigkeit, ein flexibles Konfigurationssystem für alles, was Sie können (Workflow, Bildschirmtyp, Zugriff, Benachrichtigungssystem), eine große Anzahl von bezahlten und kostenlosen Plug-Ins. und die Möglichkeit einer tiefen Verfeinerung.

    Wir brauchten keine Überarbeitung, wir haben den Workflow (Workflow - Rekrutierung und Reihenfolge der Aufgaben für die Aufgabe und Übergänge zwischen ihnen) sowie den Zugriff für Teilnehmer und Dashboards zur Steuerung der Arbeit eingerichtet und ständig verbessert.

    Ich mache mir nicht die Aufgabe, die Funktionen und Anwendungsmöglichkeiten der Anwendung detailliert zu beschreiben, aber für die weitere Darstellung ist es wichtig, einige Punkte zu veranschaulichen.

    3. Workflow der Aufgabenverwaltung


    Der Workflow spiegelt den Lebenszyklus der Aufgabe wider, in unserem Beispiel Design, Codierungstest. In der Tat ist der Prozess viel komplizierter. Abhängig von der Organisation des Projekts, der Rekrutierung von Teilnehmern und den Kontrollanforderungen kann die Anzahl der Stufen erheblich variieren.

    Bei einem der Projekte befanden sich zum Beispiel die folgenden Workflow-Entwicklungsaufgaben.



    Viele Stufen der Koordination, Verteilung der Arbeit, Testen aller 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 zu welchem ​​Zeitpunkt die Aufgabe ist.

    4. Die Komplexität des Problems


    Die Komplexität der Aufgabe wurde in zwei Komponenten aufgeteilt: Design und Konstruktion. Design ist die Arbeit des Analytikers bei der Vorbereitung und Entwicklung von Dokumenten. Die Konstruktion ist die Arbeit des Entwicklers an der Entwicklung von technischem Design, Codierung und eigenen Tests, bevor er an den Analytiker weitergegeben wird.

    Es ist ziemlich schwierig, die Komplexität der Aufgabe im Voraus einzuschätzen, ohne in Details einzutauchen, insbesondere wenn es mehrere tausend Aufgaben gibt, wie dies in unserem Fall der Fall war. Es ist jedoch eine Schätzung erforderlich, um die Gesamtmenge der Arbeit, die benötigten Ressourcen und die Bedingungen zu verstehen.

    Für eine grobe Schätzung wird ein Taschenrechner verwendet, der ihm je nach Art und Komplexität der Aufgabe eine geplante Arbeitsintensität zuweist.

    Die Komplexität der Aufgabe wird abhängig von dem Objekt und dem Arbeitsaufwand bestimmt. Für die Entwicklung eines Formulars in Oracle eBS werden Komplexitätskriterien beispielsweise wie folgt beschrieben:

    • Sehr einfach - Einzelblockform mit 8 oder weniger Spalten. Erfordert keine spezielle Funktionslogik.
    • Einfach - Einzel- und Multiblock (2-3 Blöcke) mit 20 oder weniger Spalten. Eine einfache Funktionslogik ist erforderlich (einfaches Editieren, Cross-Editing, einfache Berechnungen, Summen und Zwischensummen).
    • 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 Formulare.
    - Neue oder veränderbare Berichte.
    - Neue oder veränderbare Datenbankprogramme.
    - Loader'a SQL-Skripte.
    - Signale (Warnungen).
    - Personalisierung.
    - usw.



    Basierend auf der Komplexität und Art der Entwicklung berechnet der Rechner die geplante Arbeitsbelastung.
    Und obwohl der Schätzfehler bei einer großen Anzahl signifikant ist, werden diese Fehler statistisch ausgeglichen, und die allgemeine Vorstellung des Aufwands kann für die Projektplanung verwendet werden.

    5. Kontrolle der Aufgabenausführung


    Wenn wir also den Status der Aufgabe und ihre Komplexität haben, wie bewerten wir den Fortschritt der Arbeit?

    Die traditionelle Option besteht darin, zu planen, wie viele Aufgaben in einem bestimmten Zeitraum erledigt werden müssen, und den Abschluss von Aufgaben regelmäßig zu verfolgen. Das Problem ist, dass einige Aufgaben lange und über mehrere Planungszeiträume hinweg erledigt werden. Und in manchen Perioden werden viele Aufgaben erledigt, in anderen - zu wenige. Dies vermittelt insbesondere zu Beginn und am Ende des Projekts kein Verständnis der Situation.

    Sie können versuchen, den Abschluss einzelner Phasen der Aufgabe einzuplanen. Im obigen Beispiel haben wir 21 Stufen verwendet, es ist unmöglich, jede davon zu planen. Wir wählen die wichtigsten aus - die Fertigstellung des Designs, die Fertigstellung der Codierung, die Fertigstellung der gesamten Aufgabe. Wir planen für jede Aufgabe einen Termin, wir überwachen Abweichungen. Es scheint machbar. Wenn Sie jedoch gleichzeitig an einer großen Anzahl von Aufgaben arbeiten, ist es ziemlich schwierig, in mehreren hundert Abweichungen etwas zu erkennen und die richtigen Schlussfolgerungen zu ziehen. Für jede Abweichung gibt es eine Erklärung, einen sachlichen Grund. Etwas wird spät getan, etwas schneller.

    Bei einem der Projekte haben wir es mit der Datumskontrollmethode versucht. Geplante Datums-Darsteller. Der Umstand wurde beim Übergang vom entsprechenden Status automatisch im System erfasst.



    Die Abbildung zeigt ein Histogramm von Abweichungen gemäß dem Bereitschaftsdatum des funktionalen Designs (FD). Positive Werte zeigen einen Anstieg, negative Werte liegen hinter dem Zeitplan. Es ist ersichtlich, dass die meisten PD-Performer mit einer Verzögerung von 3,8 bis 1,7 Tagen übergeben werden. In diesem Fall sind die Extremwerte von 43 Tagen zu spät bis 67 Tage vorgerückt.

    In dieser Situation sehen wir, dass die Performer in der überwiegenden Mehrheit der Fälle die von ihnen gesetzten Fristen verletzen. Dieser systematische Fehler lohnt es, darüber nachzudenken. Vorausgesetzt jedoch, dass das Team motiviert ist und alle in Treu und Glauben arbeiten, bedeutet dies nur, dass die Leute den tatsächlichen Zeitraum nicht angeben können, und die Darsteller berücksichtigen nicht die komplizierenden Faktoren, die in den meisten Fällen während der Arbeit auftreten.

    Zusätzliche Zeit wird für die Planung aufgewendet, und tatsächlich ist niemand für die Einhaltung der Fristen verantwortlich. Wenn Sie Strafen für Verstöße einführen, werden die Termine mit einer großen Marge festgelegt und die Leistungssituation wird sich verschlechtern.
    Wenn Sie etwas kontrollieren möchten, überlegen Sie, was Sie mit den Ergebnissen der Kontrolle tun werden. Welche Entscheidungen können Sie auf der Grundlage der gesammelten Daten treffen?

    6. Methode des beherrschten Volumens


    Versuche, auf einer detaillierten Ebene zentral zu verwalten, für eine große Anzahl von Aufgaben mit hoher Unsicherheit, sind zum Scheitern verurteilt.

    Sie können diese Aufgaben in Gruppen aufteilen und die Detailplanung in Gruppen delegieren. Mehrere Personen, mehrere Dutzend Aufgaben können aneinandergereiht werden, schnell auf Änderungen reagieren und Entscheidungen über das Ändern von Prioritäten treffen. Auf Projektebene werden jedoch andere Methoden benötigt.

    Die Methode des beherrschten Volumens kommt zur Rettung. Ohne auf die Theorie einzugehen, werde ich beschreiben, wie diese Methode zur Plan-Fakt-Kontrolle von Entwicklungen implementiert wird.

    Wir haben bereits den Lebenszyklus der Aufgabe definiert und die geplante Arbeitsintensität von jeder von ihnen bestimmt. Jetzt weisen wir den Prozentsatz der Ausführung der Aufgabe in jeder Phase zu. In unserem Fall weil Es gab eine Arbeitsteilung für Design und Codierung, wobei jedem Wert ein Prozentsatz zugewiesen wurde.
    Die Zuteilung des Interesses erfolgt durch einen Experten. Es wird geschätzt, wie viel wir für die erledigte Aufgabe halten und wie viel Arbeit in dieser Phase noch vorhanden ist.



    Nachdem eine solche Tabelle erstellt wurde, kann für jede Aufgabe ermittelt werden, wie viele Personentage von den geplanten bereits beherrscht wurden, und somit der Ausführungsfortschritt für jede Aufgabe gemessen.
    Beispielsweise hat eine Aufgabe eine geplante Arbeitsintensität von 10 chd für das Design und 20 chd für die Entwicklung. In der Testphase gehen wir davon aus, dass die Arbeit des Analytikers zu 80% abgeschlossen ist (20% der Arbeitskosten für den Test sind noch übrig) und 50% für die Arbeit des Entwicklers. Wir sind bereit zuzugeben, dass das Design 8 Stunden und die Entwicklung 10 Stunden ausgearbeitet hat. Insgesamt wurden von 30 Personentagen 18 bereits abgeschlossen.

    Wir berücksichtigen jedoch nicht, dass tatsächlich andere Zeit aufgewendet werden kann. Für gesetzte Ziele spielt es keine Rolle.

    7. Projektberichterstattung


    Mit einer Tabelle, in der wir für jede Aufgabe Arbeitsintensität geplant und das Volumen beherrscht haben, ist es leicht zu verstehen, wie die Dinge laufen.

    Es ist möglich, die Aufgaben nach Bereichen, Komponenten, Meilensteinen des Projekts zu unterteilen, auf einer detaillierteren Ebene analysieren zu können und Übersichtstabellen in allen erforderlichen Abschnitten zu erstellen.

    Das Gesamtbild des Projekts wird für die Präsentation auf der Managementebene angezeigt:

    Übersichtstabelle basierend auf dem Entladen von JIRA-



    Kontrollplan - Fakt für das gesamte Projekt





    Diese Methode ist nicht immer verständlich. Mythische Menschentage sind weniger klar als Teile der Entwicklung. Und er verzichtet nicht auf die detaillierte Planung auf Gruppen- und Einzelebene. Gleichzeitig ist dies die objektivste Methode, um die aktuelle Situation zu beurteilen und den Abschluss der Arbeiten vorherzusagen.

    Jetzt auch beliebt: