Changes between Version 39 and Version 40 of ProjectManagementIdeas


Ignore:
Timestamp:
May 1, 2009, 12:53:11 AM (15 years ago)
Author:
Chris Nelson
Comment:

Notes about task scheduling

Legend:

Unmodified
Added
Removed
Modified
  • ProjectManagementIdeas

    v39 v40  
    6767The essential property of a milestone is its date.  Trac tickets which are part of a milestone are implicitly due by the milestone date.  In general project management, milestones have FS dependency with some some tasks.  Together with dependencies between tasks, this dictates when tasks must be done to keep a project on schedule.
    6868
    69 = Gantt Charts =
    70 
    71 The basic answer to "When will my project be done?" is generally provided by a [http://en.wikipedia.org/wiki/Gantt_chart Gantt chart] which shows tasks, their dependencies, their duration (scaled by resource availability), and milestones. As discussed in [http://groups.google.com/group/trac-users/browse_thread/thread/83c0b6a248040542?hl=en two] [http://groups.google.com/group/trac-users/browse_thread/thread/3084796acbc7233c/3f393a18f99cfebd?hl=en&tvc=2#3f393a18f99cfebd}}} threads] on the Trac Users mailing list, a Gantt chart is a fundamental requirement for project management.
    72 
    73 The following illustrations use a gross simplification of a project to design a new electronic device which is inaccurate in many ways.
     69= Task Scheduling =
     70
     71The basic answer to "When will my project be done?" is generally ''displayed in'' a [http://en.wikipedia.org/wiki/Gantt_chart Gantt chart] which shows tasks, their dependencies, their duration (scaled by resource availability), and milestones.  [http://groups.google.com/group/trac-users/browse_thread/thread/83c0b6a248040542?hl=en Two] [http://groups.google.com/group/trac-users/browse_thread/thread/3084796acbc7233c/3f393a18f99cfebd?hl=en&tvc=2#3f393a18f99cfebd}}} threads] on the Trac Users mailing list, suggest that a Gantt chart is a fundamental requirement for project management but scheduling tasks is even more fundamental and a necessary precondition for producing a Gantt chart.
     72
     73Consider a grossly-simplified project to design a new electronic device.  This project might have the following tickets:
     74
     75||'''ID'''||'''Summary'''||'''Milestone'''||
     76||1||Design the Schematic||New device||
     77||2||Design the Circuit board||New device||
     78||3||Design the packaging||New device||
     79||4||Write firmware||New device||
     80||5||Assemble units||New device||
     81
     82With this simple task list -- supported by core Trac tickets and milestones -- we'll know when we are done because all the tickets are closed but we have no way to project when that will be.  ''If'' all the tasks could be done concurrently, the project length is the length of the longest task.  And since Trac assigns a date to the milestone, we can sort of work backwards from that to determine when work needs to start for the milestone to be met.  However, core Trac has no way to record the time that a task should take.  If we install !TimingAndEstimation, we get an Estimate column which holds the number of hours a ticket is expected to take.
     83
     84||'''ID'''||'''Summary'''||'''Estimate'''||
     85||1||Design the Schematic||24h||
     86||2||Design the Circuit board||16h||
     87||3||Design the packaging||16h||
     88||4||Write firmware||40h||
     89||5||Assemble units||8h||
     90
     91From here we can guess that the shortest the project could be is one week.  However, we know we cannot begin circuit board layout without a schematic.  The !MasterTicket plugin allows us to establish FS dependencies.
     92
     93||'''ID'''||'''Summary'''||'''Estimate'''||'''Blocked by'''||
     94||1||Design the Schematic||24h||||
     95||2||Design the Circuit board||16h||1||
     96||3||Design the packaging||16h||||
     97||4||Write firmware||40h||1||
     98||5||Assemble units||8h||2,3,4||
     99
     100For such a short task list we can manually inspect and see that firmware (40h) follows circuit board (16h) follows schematic (24h) and the shortest project time is 80 hours (two weeks) and we can take two weeks from the milestone date to know when we have to start work to finish on time.  However, a project of any complexity may have many, many more tasks and manual inspection is impractical.  With just !TimingAndEstimation and !MasterTicket, we can begin to do more effective project management if we have a task scheduler than can work backwards from the milestone, consider work and dependencies, and calculate task start and end dates and project start date.
     101
     102If the milestone for this work is May 11, the schedule might look like the following.
     103
     104||'''ID'''||'''Summary'''||'''Estimate'''||'''Blocked by'''||'''Due'''||
     105||1||Design the Schematic||24h||||May 2||
     106||2||Design the Circuit board||16h||1|May 4|||
     107||3||Design the packaging||16h||||May 4||
     108||4||Write firmware||40h||1||May 4||
     109||5||Assemble units||8h||2,3,4||May 5||
     110
     111This is computed as follows:
     112
     113 * Assemble units is the last step and is due when the milestone is scheduled
     114 * Firmware, packaging design, and the circuit board all must be done before assembly or 1 day (the length of the assembly task) before the milestone
     115 * Schematic is due the length of the circuit board task before the circuit board's end
    74116
    75117== Dependency and Duration ==
    76118
    77 There is some benefit to very basic Gantt that showed just tasks and their dependencies and the resultant schedule.
     119Once we have a task scheduler, we can simplify presentation of task scheduling with a very basic Gantt that showed just tasks and their dependencies and the resultant schedule.
    78120
    79121[[Image(simple-gantt.PNG)]]