Changes between Version 99 and Version 100 of ProjectManagementIdeas


Ignore:
Timestamp:
Jul 29, 2011, 10:09:33 PM (3 years ago)
Author:
ChrisNelson
Comment:

Removed some stale notes, added a new reminder

Legend:

Unmodified
Added
Removed
Modified
  • ProjectManagementIdeas

    v99 v100  
    586586The chart should be able to show all tickets (though that may be a very complex chart) or alternately all those tickets matched by a (query | report) or any other ticket group provider. 
    587587
    588 To effectively display project progress, tickets must have estimated and actual times as in the TimingAndEstimation plugin. 
    589 
    590 It is also desirable to have loop detection to error-proof the tool used to create dependencies.
    591 
    592588It would be nice to be able to choose an As Late As Possible or As Soon As Possible algorithm for laying out tasks.
    593589
     
    596592A "chart these" button on a report page would be very nice.
    597593
    598 Tasks in the chart should be links to the tickets they represent (preferentially opened in a separate tab or window).
    599 
    600 Milestones should be displayed in the chart as well.
    601 
    602 The chart should support interactively "folding" groups of tasks to hide detail.
    603 
    604 Zooming in order to see the WBS in more detail.
    605 
    606 Panning or scrolling in order to display the schedule at a different time.
    607 
    608 Each task's bar in the chart should show % complete.
    609 
    610 The chart should have a Today line.
    611 
    612594An accompanying report or tool should aid in resource leveling by (at least) showing overcommitted resources.
    613595
     
    615597
    616598It would be nice to be able to create task dependencies graphically using the Gantt chart as a GUI or to change a milestone date by dragging it along the chart.
    617 
    618 = Design guidelines =
    619 
    620 In order to agree about how to implement this functionality, the very first step should be to describe the possible architectures (i.e., how the different components are going to interact with each other since the moment the request is sent by the client until the Gantt chart is rendered by the browser) that will be considered.
    621 
    622 == Components ==
    623 
    624 In order to add flexibility to the final solution, the '''MVC pattern''' ''should'' be considered during its development.
    625 Hence the following components need to be implemented in order to add Gantt charts to Trac.
    626 
    627 === The Model ===
    628 
    629 It provides the data in the Gantt chart and is not just a single element but a set of components like the following :
    630 
    631     * The ticket models, which provide data about the issues found
    632       in the project environment
    633     * Trac query mechanism which provides a way to select (filter) the
    634       tickets being shown.
    635     * [#RelatedWork Other plugins] used to track ticket dependencies
    636     * [#RelatedWork Other plugins] used to track task/subtask relationships
    637     * [#RelatedWork Other plugins] used to estimate the time needed to finish the given tasks
    638     * Maybe one (a few) component(s) whose role is to provide the functionality specific to Gantt charts, thus acting as a central access point and a mediator so as to put all the other components together.
    639 
    640 === The View ===
    641 
    642 It ''should'' be a JavaScript component (is this possible ?) responsible for rendering the data provided by ''the model''.
    643 Besides it ''might'' support [#Whatdoweneedintheuserinterface other dynamic features]
    644 
    645 === The Controller ===
    646 
    647 {{{
    648 ¿What do we need this for?
    649 }}}
    650 
    651 === Implications ===
    652 
    653 The aforementioned separation ''should'' allow the replacement of any of the components involved. Hence the following modifications ''should'' be made easily (the list being intentionally incomplete) :
    654 
    655   - Replace the JS-based view by another made with Flash.
    656   - Use a custom, or specific estimation strategy.
     599----
     600Add a note about Inchpebbles