Projektplanung: Projektende



  • Aaalso
    Ich bastle mir grade eine kleine php-basierte Projektverwaltung zusammen.
    An sich ist das Ganze relativ unproblematisch- bis auf einen kleinen Umstand:
    Ich möchte gern das wahrscheinliche Projektende errechnen.

    Irgendwie seh ich da aber grade nicht so richtig, wie..

    Ich habe folgendes:
    1. Arbeitspakete mit geschätzer Arbeitsdauer in Stunden und Abhängigkeiten (Paket a kommt nach Paket b)
    2. Benutzer mit einer täglichen Arbeitszeit in Stunden (der Einfachheit halber 7-Tage-Woche ;))
    3. Zuordnung eines oder mehrerer Arbeitspakete zu einem oder mehreren Usern.
    4. Eine Zeit-Buchung in der die Benutzer eintragen, wieviel Zeit sie schon für welches Produkt aufgewendet haben.

    Die Pakete haben verschiedene Stati (geplant, aktiv, fertig)

    Wenn die Arbeitszeit eines Pakets überschritten ist, wird grundsätzlich angenommen, dass das Paket "heute noch" fertiggestellt wird.

    Wie kann ich jetzt errechnen, wann mein Projekt das Ende erreicht? Hat da wer ne Idee?

    Müsste doch irgendwie so laufen:

    ich suche alle Pakete, die in Arbeit sind und errechne, wieviele Arbeitsstunden pro Paket noch übrig sind.
    Dann errechne ich für jeden Benutzer wieviele Pakete er aktiv bearbeitet. Daraus kann ich dann errechnen, wieviel Arbeitszeit er in dieses Paket investieren kann und somit, wann das Arbeitspaket zuende ist.

    Anschließend such ich mir von jedem Paket abhängige Pakete und schaue, wieviele Benutzer dem zugeteilt sind. Jetzt wirds lustig, weil ich muss Annahmen treffen, wie ausgelastet meine Benutzer sind, weil dies nun nicht mehr mit aktiven Paketen geht..

    Dabei dröhnt mir jetzt der Schädel..

    PLZ HLP!

    tHx
    DjR



  • Erstmal langsam. Angenommen Du hast für jedes Paket nen eigenen Arbeiter. Dann kriegst Du die minimale Projektdauer folgendermaßen:

    Die Arbeitspakete ergeben einen gerichteten Graphen. Pfeile gehen immer vom Paket, das fertig sein muß zu dem Paket, das es als Voraussetzung braucht. Die minimale Projektdauer ist der längste Weg von einem Anfangspaket (ohne Voraussetzungen) zu einem Endpaket (ohne nachfolgepakete). Ein Arbeitspaket zu überqueren kostet die Arbeitsdauer des Paketes.

    Damit das ganze ein bißchen einfacher wird fügst Du einfach ganz zu Beginn noch ein einzelnes Startpaket mit Kosten 0 ein, das Voraussetzung für alle eigentlichen Startpakete ist und einen Endknoten mit Kosten 0, der Nachfolger von allen eigentlichen Endknoten ist. Jetzt mußt Du nur noch den längsten Weg von Start zu Endknoten finden, dann weißt Du die minimale Projektdauer. Außerdem kannst Du Dir so parallelisierbare Abkläufe ausgeben lassen, indem Du immer alle Knoten ohne Eingänge ausgibst und die anschließend aus dem Graphen rauslöschst und das immer wieder, bis der Graph leer ist.

    MfG Jester


Anmelden zum Antworten