Changes between Version 10 and Version 11 of ProjectManagementIdeas
- Timestamp:
- Apr 20, 2009, 3:08:24 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ProjectManagementIdeas
v10 v11 98 98 While useful, the FF and SF dependencies are somewhat more esoteric than the others and implementation may be deferred. 99 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. 101 100 102 = Features = 101 103 … … 104 106 By "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. 105 107 106 == What do we need in the back end ? ==108 == What do we need in the back end ? == 107 109 108 110 The 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. … … 142 144 = Related Work = 143 145 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?146 MasterTicketsPlugin supports FS dependency (but calls it ''blocks'' and ''blocked by''). 147 148 The [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? 147 149 148 150 TimingAndEstimationPlugin 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. … … 150 152 = Design guidelines = 151 153 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. 154 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. 158 155 159 156 == Components == 160 157 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. 158 In order to add flexibility to the final solution, the '''MVC pattern''' ''should'' be considered during its development. 159 Hence the following components need to be implemented in order to add Gantt charts to Trac. 165 160 166 161 === The Model === 167 162 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 : 163 It provides the data in the Gantt chart and is not just a single element but a set of components like the following : 170 164 171 165 * The ticket models, which provide data about the issues found … … 176 170 * [#RelatedWork Other plugins] used to track task/subtask relationships 177 171 * [#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. 182 173 183 174 === The View === 184 175 185 It ''should'' be a JavaScript component (is this possible ?) 186 responsible for rendering the data provided by ''the model''. 176 It ''should'' be a JavaScript component (is this possible ?) responsible for rendering the data provided by ''the model''. 187 177 Besides it ''might'' support [#Whatdoweneedintheuserinterface other dynamic features] 188 178 … … 195 185 === Implications === 196 186 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) : 187 The 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) : 200 188 201 189 - Replace the JS-based view by another made with Flash.