314 | | * Basic scheduling can be provided based on core Trac ticket, !MasterTickets, and !TimingAndEstimation if we discount resource conflicts and availability. A new Scheduling plugin can build on these plugins (or an interface that hides them), add Start and Finish dates to tickets, and schedule going back from a milestone. |
315 | | |
316 | | ---- |
317 | | |
318 | | = Development Plan = |
319 | | |
320 | | 1. Fork !MasterTickets as !TicketDep (or something) and add ''composed of''/''part of'' dependencies and [http://trac.edgewall.org/wiki/SubTickets#CreatingSubtickets means to create them]. Plan for but do not yet implement ''starts with'' and ''ends with'' dependencies. |
321 | | 1. Specify the interfaces necessary for a scheduling plugin to use dependencies, estimates, and time worked to determine project schedule. |
322 | | * Consider adding a percentage available when scheduling resources. |
323 | | 1. Specify the interfaces necessary for a Gantt chart to get data from tickets. |
324 | | * Each task must have a name, duration, percent complete, and start or end. (The start or end comes from schedule calculations, not direct ticket data.) |
325 | | * Access to dependencies between tickets is also needed so as to render the chart. |
326 | | 1. Implement those interfaces on top of TimingAndEstimationPlugin. |
| 314 | * [#DependencyandDuration Basic scheduling] can be provided based on core Trac tickets, !MasterTickets, and !TimingAndEstimation. (This discounts resource conflicts and availability.) A new Scheduling plugin can build on these plugins (or an interface that hides them), add Start and Finish dates to tickets, and schedule going back from a milestone. |
| 315 | |
| 316 | * Once a scheduler exists, a simple Gantt chart can be implemented to show dependencies and schedule. (This might even be a revision or refinement of an existing Gantt.) |
| 317 | |
| 318 | * Additional dependency types can be added, perhaps by enhancing or forking !MasterTickets. |
| 319 | |
| 320 | * Additional Gantt display options (e.g. critical path) can be added independent of additional dependency types. |
| 321 | |
| 322 | * The scheduler can be enhanced to take into account resource conflicts. |
| 323 | |
| 324 | * A calendar can provide the scheduler resource availability without affecting the Gannt chart. |
| 325 | |
| 326 | = Design = |