| 5 | = Requirements and Definitions = |
| 6 | |
| 7 | Project management support software should help us answer a few basic questions: |
| 8 | |
| 9 | * When will my project be done? |
| 10 | * How are my resources being utilized? |
| 11 | * How will a change (e.g., in scope or constraints) affect project completion or resource utilization? |
| 12 | |
| 13 | To answer these questions, it must know about: |
| 14 | |
| 15 | * Tasks to be done |
| 16 | * Dependencies between tasks |
| 17 | * Resources available to do tasks |
| 18 | * Assignment of resources to tasks |
| 19 | * Deadlines for task or project completion |
| 20 | |
| 21 | == Task Properties == |
| 22 | |
| 23 | Answering the questions listed above requires recording certain properties of a task. |
| 24 | |
| 25 | * Duration - The amount of work needed to complete the task. This is ''not'', necessarily, the time it will take to complete the task. The task may be unassigned (and will take forever to complete) or has a resource assigned only part-time (so it will take longer to complete than the amount of work indicates). |
| 26 | * Assigned resource - The individual who will work on this task. |
| 27 | * % Effort - The amount of the resource's time that will be spent on this task. If the resource is working on a 2-day task 50% of the time, we expect it to take 4 days. |
| 28 | * % Complete - How much of the task has been done already. |
| 29 | * Dependencies - How other tasks affect when this task can be started or finished. |
| 30 | |
| 31 | === Dependencies === |
| 32 | |
| 33 | Task dependencies can be quite complex. Project management generally involves four types of dependencies between tasks or activities: |
| 34 | |
| 35 | Finish-to-Start (FS):: Task B cannot begin until task A is complete. This is the most common. When building a house, the walls cannot be put up until the foundation is complete. |
| 36 | |
| 37 | Start-to-Start (SS):: Task B cannot begin until after task A begins (though they may end independently). When building a house, interior painting cannot begin until the dry wall is started. (Each room can be painted as soon as its dry wall is up.) |
| 38 | |
| 39 | Finish-to-Finish (FF):: Task B cannot end until task A ends (though they may begin independently). When building a house, inspections cannot be completed until construction has completed (though parts may be inspected before the whole job is done). |
| 40 | |
| 41 | Start-to-Finish (SF):: Task B cannot end until Task A begins. When building a house, the builder may begin getting interim payments during construction but payment will not be completed until the owner can start moving in. |
| 42 | |
| 43 | In addition, managing the complexity of a large project requires breaking large tasks into smaller ones (or viewing groups of small tasks as larger aggregates). For example, interior painting might be broken down into paint the living room, paint the dining room, etc. |
| 44 | |
| 45 | While useful, the FF and SF dependencies are somewhat more esoteric than the others and implementation may be deferred. |
| 46 | |
| 47 | ''NOTE:'' The relationships are directional and inverting them is not straightforward. If A has a FS dependency on B, it is '''not''' true that B has an SF dependency on A. |
| 48 | |
15 | | [http://willbarton.com/code/tracgantt/ TracGantt]:: has potential but has some funky fields (e.g., Due to Assign) that don't seem to be appropriate to what we want to do with a Gantt chart. |
16 | | |
17 | | There is a [http://www.viewpath.net/Website/ganttcharts/googlegadget.aspx Google Gadget Gantt chart] which might be leveraged for the visualizations once the data is made available (e.g. using [https://opensvn.csie.org/traccgi/swlcu/wiki/En/Devel/TracGViz/ TracGViz plugin]). That widget is developped and maintained by a company (i.e. [http://www.viewpath.net/ ViewPath]). Besides users need access to the internet and their projects environments '''have to''' be available too so that the iGoogle container be able to retrieve the data to display in the chart. All this means that local deployments (intranets, ...) are not possible. |
18 | | |
19 | | = Requirements = |
| 59 | {{{//willbarton.com/code/tracgantt/ TracGantt}}}:: has potential but has some funky fields (e.g., Due to Assign) that don't seem to be appropriate to what we want to do with a Gantt chart. |
| 60 | |
| 61 | There is a {{{//www.viewpath.net/Website/ganttcharts/googlegadget.aspx Google Gadget Gantt chart}}} which might be leveraged for the visualizations once the data is made available (e.g. using {{{https://opensvn.csie.org/traccgi/swlcu/wiki/En/Devel/TracGViz/ TracGViz plugin}}}). That widget is developped and maintained by a company (i.e. {{{//www.viewpath.net/ ViewPath}}}). Besides users need access to the internet and their projects environments '''have to''' be available too so that the iGoogle container be able to retrieve the data to display in the chart. All this means that local deployments (intranets, ...) are not possible. |
66 | | For a simple Gantt chart, we may use the following ticket fields: |
67 | | |
68 | | * owner (the resource assigned to the task) |
69 | | * milestone (when the task is due) |
70 | | * summary (short description) |
71 | | |
72 | | In addition, a task must have: |
73 | | |
74 | | * estimate (expected work require to complete task) |
| 100 | For project management, we must have the following additional information about a task/ticket: |
| 101 | |
| 102 | * estimate (expected work required to complete task) |
83 | | |
84 | | === Dependencies === |
85 | | |
86 | | Project management generally involves four types of dependencies between tasks or activities: |
87 | | |
88 | | Finish-to-Start (FS):: Task B cannot begin until task A is complete. This is the most common. When building a house, the walls cannot be put up until the foundation is complete. |
89 | | |
90 | | Start-to-Start (SS):: Task B cannot begin until after task A begins (though they may end independently). When building a house, interior painting cannot begin until the dry wall is started. (Each room can be painted as soon as its dry wall is up.) |
91 | | |
92 | | Finish-to-Finish (FF):: Task B cannot end until task A ends (though they may begin independently). When building a house, inspections cannot be completed until construction has completed (though parts may be inspected before the whole job is done). |
93 | | |
94 | | Start-to-Finish (SF):: Task B cannot end until Task A begins. When building a house, the builder may begin getting interim payments during construction but payment will not be completed until the owner can start moving in. |
95 | | |
96 | | In addition, managing the complexity of a large project requires breaking large tasks into smaller ones (or viewing groups of small tasks as larger aggregates). For example, interior painting might be broken down into paint the living room, paint the dining room, etc. |
97 | | |
98 | | While useful, the FF and SF dependencies are somewhat more esoteric than the others and implementation may be deferred. |
99 | | |
100 | | ''NOTE:'' The relationships are directional and inverting them is not straightforward. If A has a FS dependency on B, it is '''not''' true that B has an SF dependency on A. |