Changes between Version 56 and Version 57 of ProjectManagementIdeas

May 7, 2009, 11:59:52 AM (9 years ago)
Chris Nelson

Add some algorithm notes


  • ProjectManagementIdeas

    v56 v57  
    340340== IProjectSchedule ==
     342Random algorithm notes.
     344 * As Late As Possible (ALAP) with only FS dependency is an easy scheduling algorithm.  A task without successors is due on it's milestone date and things back up from there.  However, it is sometimes helpful to use ASAP, even for single tasks.  For example, if a software development task is poorly understood so its estimate might be wildly wrong, that task should be tackled early in the project so that deviation from estimate is known early and there is more time to adjust for it.  Also, it's often desirable to handle bugs before new features so tasks might get ALAP and bugs ASAP within the same project.
     346 * There are three constraints that influence a task's scheduling:
     347  * The date of the task's milestone
     348  * Dependency on other tasks
     349  * Resource sharing
     351 * For ALAP with FS and 100% resource application (effort)
     352  * Task A's finish date is the milestone date if it has no successors
     353  * Task A's finish date is Task B's start date if B has an FS dependency on A (A -> B)
     354  * Resolve resource conflict:
     355   * Task A should be before B if A has successors and B does not
     356   * Task A should be before B if A is higher priority
     357   * Task A should be before B if A has more risk
     359 * With the above rules for putting A before B, does scheduling become a sorting operation that just needs a comparison function which implements those rules?  Intuitively, an O(n^2) sort like bubble sort would work but something like a merge sort might not because tasks in the partitions might depend on one another.  Perhaps partitioning can be done to eliminate dependencies.
    343360'''...more here...'''