Changes between Version 56 and Version 57 of ProjectManagementIdeas


Ignore:
Timestamp:
May 7, 2009 1:59:52 PM (5 years ago)
Author:
ChrisNelson
Comment:

Add some algorithm notes

Legend:

Unmodified
Added
Removed
Modified
  • ProjectManagementIdeas

    v56 v57  
    340340== IProjectSchedule == 
    341341 
    342  
     342Random algorithm notes. 
     343 
     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. 
     345 
     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 
     350 
     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 
     358 
     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...''' 
    344361