Changes between Version 113 and Version 114 of ProjectManagementIdeas


Ignore:
Timestamp:
Aug 2, 2011, 7:03:18 PM (13 years ago)
Author:
Chris Nelson
Comment:

Created IProjectDependencies

Legend:

Unmodified
Added
Removed
Modified
  • ProjectManagementIdeas

    v113 v114  
    472472 lag:: Offset of this task's anchor relative to the anchor of ''task''.  (''Lag'' may be negative.) Whether the ''anchor'' for the dependency is the start or end of the task depends on the dependency type.  For example, if Task B has a FS dependency on Task A with a lag of 1 day, then Task B starts 1 day after Task A finishes.  Or, if Task B has an SS dependency in Task A with a lag of 1 day, then Task B starts 1 day after Task A starts.  (''lag'' is not scaled by ''percentEffort''.)
    473473
     474== IProjectDependencies ==
     475
     476An interface that abstracts the implementation details of dependencies and allows other parts of the PM system (e.g., a Gantt chart or scheduler) to retrieve and update dependencies including:
     477
     478 * Finding related tasks
     479  * Finding predecessors (immediate and indirect)
     480  * Finding successors (immediate and indirect)
     481  * Finding descendants (children and further generations)
     482  * Finding ancestors (immediate and further generations)
     483  * Finding all related tickets (predecessors, successors, descendants, ancestors, and possibly those that share a resource)
     484  * Finding all the tickets due in a time range, ''begin''..''end''.
     485   * If ''begin'' is not specified, all due by a ''end''.
     486   * If ''end'' is not specified, all that start on or after ''begin''
     487 * Manipulating task relationships
     488  * Reparent B as a child of A (removing any existing parent).  If A is `None`, remove B's current parent, if any.
     489  * Link B as a successor of A (same as making A a predecessor of B).  Other dependencies are unchanged.
     490  * Unlink B as a successor or predecessor of A (order doesn't matter).
     491
    474492== IProjectCalendar ==
    475493
     
    520538   * percentComplete - Finishing something that's partially done is better than starting something new
    521539   * "fit" - It's better to start a 2-day task on Wednesday and hold a 4 day task for the next week than to break up the longer task across a weekend.
    522 
    523 == Other `tracpm` functions ==
    524 
    525 I'm not sure what interface to put these in but some other functions that the API should hide are:
    526 
    527  * Finding predecessors (immediate and indirect)
    528  * Finding successors (immediate and indirect)
    529  * Finding descendants (children and further generations)
    530  * Finding ancestors (immediate and further generations)
    531  * Finding all related tickets (predecessors, successors, descendants, ancestors, and possibly those that share a resource)
    532  * Finding all the tickets due in a time range, ''begin''..''end''.
    533   * If ''begin'' is not specified, all due by a ''end''.
    534   * If ''end'' is not specified, all that start on or after ''begin''
    535540
    536541== Schedule Scenarios ==