Changes between Version 10 and Version 11 of ProjectManagementIdeas


Ignore:
Timestamp:
Apr 20, 2009, 3:08:24 PM (15 years ago)
Author:
Chris Nelson
Comment:

Minor small edits.

Legend:

Unmodified
Added
Removed
Modified
  • ProjectManagementIdeas

    v10 v11  
    9898While useful, the FF and SF dependencies are somewhat more esoteric than the others and implementation may be deferred.
    9999
     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.
     101
    100102= Features =
    101103
     
    104106By "project", I mean a set of related milestones.  Perhaps a software project has a Design Phase, an Alpha Release, a Beta Release, and a General Release.  Each would be a milestone with a target date and tickets to complete the work for that milestone.  There must be a way to specify which milestones to include either listing explicitly or by giving a pattern or substring filter.
    105107
    106 == What do we need in the backend ? ==
     108== What do we need in the back end ? ==
    107109
    108110The 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. 
     
    142144= Related Work =
    143145
    144 MasterTicketsPlugin supports ''starts after''/''ends before'' dependency (but calls it ''blocks'' and ''blocked by'').
    145 
    146 The [http://trac.edgewall.org/wiki/SubTickets SubTickets] page talks about adding ''composed of''/''part of''-type dependency.  Can this be done in a plugin like !MasterTickets or must it be in the core?
     146MasterTicketsPlugin supports FS dependency (but calls it ''blocks'' and ''blocked by'').
     147
     148The [http://trac.edgewall.org/wiki/SubTickets SubTickets] page talks about adding composition type dependency.  Can this be done in a plugin like !MasterTickets or must it be in the core?
    147149
    148150TimingAndEstimationPlugin and TracHoursPlugin add estimated and actual hours fields to tickets.  There is some disagreement about whether the estimate is the remaining time (so total estimated time is actual + estimate) or total time (so remaining time is estimate - actual).  A Gantt chart typically wants estimate and percent complete.  It is possible to extract this from either recording convention and we should likely allow either convention via a configurable interface.
     
    150152= Design guidelines =
    151153
    152 In order to agree about how to implement this functionality, the
    153 very first step should be to describe the possible(s) architecture(s)
    154 (i.e. how the different components are going to interact with each other
    155 since the moment the request is sent by the client until the Gantt chart
    156 is rendered by the browser)
    157 that will be considered.
     154In 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.
    158155
    159156== Components ==
    160157
    161 In order to add flexibility to the final solution, the
    162 '''MVC pattern''' ''should'' be considered during its development.
    163 Hence the following components need to be implemented in order to add
    164 Gantt charts to Trac.
     158In order to add flexibility to the final solution, the '''MVC pattern''' ''should'' be considered during its development.
     159Hence the following components need to be implemented in order to add Gantt charts to Trac.
    165160
    166161=== The Model ===
    167162
    168 It provides the data in the Gantt chart and is not just a
    169 single element but a set of components like the following :
     163It provides the data in the Gantt chart and is not just a single element but a set of components like the following :
    170164
    171165    * The ticket models, which provide data about the issues found
     
    176170    * [#RelatedWork Other plugins] used to track task/subtask relationships
    177171    * [#RelatedWork Other plugins] used to estimate the time needed to finish the given tasks
    178     * Maybe one (a few) component(s) whose role is to provide the
    179       functionality specific to Gantt charts, thus acting as a central
    180       access point and a mediator so as to put all the other
    181       components together.
     172    * 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.
    182173
    183174=== The View ===
    184175
    185 It ''should'' be a JavaScript component (is this possible ?)
    186 responsible for rendering the data provided by ''the model''.
     176It ''should'' be a JavaScript component (is this possible ?) responsible for rendering the data provided by ''the model''.
    187177Besides it ''might'' support [#Whatdoweneedintheuserinterface other dynamic features]
    188178
     
    195185=== Implications ===
    196186
    197 The aforementionned separation ''should'' allow the replacement of
    198 any of the components involved. Hence the following modifications
    199 ''should'' be made easily (the list being intentionally incomplete) :
     187The aforementionned separation ''should'' allow the replacement of any of the components involved. Hence the following modifications ''should'' be made easily (the list being intentionally incomplete) :
    200188
    201189  - Replace the JS-based view by another made with Flash.