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