Changes between Version 123 and Version 124 of ProjectManagementIdeas


Ignore:
Timestamp:
Aug 27, 2015, 7:02:32 AM (9 years ago)
Author:
figaro
Comment:

More preparations for cleanup, tagged as reference

Legend:

Unmodified
Added
Removed
Modified
  • ProjectManagementIdeas

    v123 v124  
    11[[PageOutline(2-5,Contents,pullout)]]
    22
    3 == Project management ideas
    4 
    5 Trac is strong in basic, individual and small-team task management but lacks features for heavy-duty project management ''a la'' Microsoft Project, Project Manager Workbench, etc. This page discusses those missing features and how they can best be realized.
     3= Project management ideas
     4
     5Trac is strong in basic, individual and small-team task management but lacks features for heavy-duty project management such as in Microsoft Project, Project Manager Workbench, etc. This page discusses those missing features and how they can best be realized.
    66
    77In Trac, "project" is sometimes used synonymously with "installation". As used on this page, it is a set of related tasks and deadlines. Perhaps a software project has a Design Phase, an Alpha Release, a Beta Release, and a General Release. Each phase would have a milestone with a target date and tickets to complete the work for that phase.
     
    99== Related research
    1010
    11 Scheduling activities in a project is an area of active research in operational research (or operations research, [http://en.wikipedia.org/wiki/Operations_research OR]) (cf. [http://books.google.com/books?id=pHetPl2LOYgC&lpg=PA153&ots=rKKZ7Lv2On&dq=pslib%20project%20scheduling&pg=PP1 Project Scheduling]) and has been established to be [http://en.wikipedia.org/wiki/NP-hard NP hard]. It should be noted that it is an ''optimal'' solution that is hard compute. Most research strives to get 2-3% better make span out of a well-defined, complex project. If you have a small or dynamic project or if your estimates are routinely off by 5-10%, you won't see the benefit of such high-powered scheduling.
     11Scheduling activities in a project is an area of active research in operational research (or [http://en.wikipedia.org/wiki/Operations_research operations research]) (cf. [http://books.google.com/books?id=pHetPl2LOYgC&lpg=PA153&ots=rKKZ7Lv2On&dq=pslib%20project%20scheduling&pg=PP1 Project Scheduling]) and has been established to be [http://en.wikipedia.org/wiki/NP-hard NP hard]. It should be noted that it is an ''optimal'' solution that is hard compute. Most research strives to get 2-3% better make span out of a well-defined, complex project. If you have a small or dynamic project or if your estimates are routinely off by 5-10%, you won't see the benefit of such high-powered scheduling.
    1212
    1313There are several variations on the problem.
     
    5151Project management support software should help us answer a few basic questions:
    5252
    53  * When will my project be done? (That is, what is the forecasted completion date.)
     53 * When will my project be done? That is, what is the forecasted completion date.
    5454 * How much Earned Value has the project achieved?
    5555 * How do incurred costs compare to Earned value (Cost Performance Factor).
     
    548548It might be helpful or interesting to consider saving schedules or scenarios. If we stored resource assignment, start and finish data in a table keyed by schedule and ticket, we could store multiple possible schedules and choose to display different ones. An initial release could have only a single schedule and no facility for creating alternatives. A later refinement could add scenario support. If a start or finish date was configured for a task, the schedule would copy that data and not allow editing or recomputation of those dates; other tasks would flow around that fixed time. If a task lacked a start or finish date, the scheduling of that task would be fluid and computed by the scheduler.
    549549
    550 = Disclaimer =
     550== Contributors
    551551
    552552The bulk of this page was prepared by Chris Nelson who makes no claim to be certified project planner or anything of the sort. It is based on his understanding of project management after 25 years of software development. [#Contributors Other developers] have also offered some hints and useful comments (according to their experience) in order to enhance this page, and get a better understanding of the features and requirements needed.
    553553
    554 == Contributors
    555 
     554Other contributors:
    556555  - Olemis Lang
    557556  - Greg Troxel
     
    580579
    581580    - for any of this meta data, it would seem logical to support "Calculated fields" for the children, such as in the ValuePropagationPlugin
    582   - Another area is the "providers"  The ability to assign a provider to return the value in a custom or default field.
    583     - for example: '''% Complete''', a straight calculation of hours done/hours total may work in most casts, for a  specific case....one might need to provide it manually on some wiki page, which a provider looks up....., or something)
    584     - or a more pointed example, "calculated completion date", lets assume the company wants to use an [http://www.joelonsoftware.com/items/2007/10/26.html Evidence Based Scheduling] approach.  in which case, they may also want to replace the Gantt views with the ''Probable Ship Dates'' graph? or maybe not.... The ability to do so would be key however.
     581  - Another area is the "providers" The ability to assign a provider to return the value in a custom or default field.
     582    - for example: '''% Complete''', a straight calculation of hours done/hours total may work in most casts, for a specific case....one might need to provide it manually on some wiki page, which a provider looks up....., or something)
     583    - or a more pointed example, "calculated completion date", lets assume the company wants to use an [http://www.joelonsoftware.com/items/2007/10/26.html Evidence Based Scheduling] approach. in which case, they may also want to replace the Gantt views with the ''Probable Ship Dates'' graph? or maybe not.... The ability to do so would be key however.
    585584
    586585It almost seems like any custom or default field added to this concept should be able to specify it's very own provider, optionally.
    587586
    588 ''Can you say more about how that would work?  Frankly, my knowledge of Trac internals grows slowly and as needed for my little bit of plugin programming. -- CLN, 2011-08-02''
    589 
    590 '' When I was typing that, I had in my mind the concept of how the TypedTicketWorkflowPlugin works.  An .ini setting with additional data in the .ini value(s) that modify who/how that particular thing works.  Not sure if that concept is something that can be applied here. Maybe something like the following:[[BR]]
     587''Can you say more about how that would work? Frankly, my knowledge of Trac internals grows slowly and as needed for my little bit of plugin programming. -- CLN, 2011-08-02''
     588
     589'' When I was typing that, I had in my mind the concept of how the TypedTicketWorkflowPlugin works. An .ini setting with additional data in the .ini value(s) that modify who/how that particular thing works. Not sure if that concept is something that can be applied here. Maybe something like the following:[[BR]]
    591590{{{
    592591[pm-config]
     
    615614(I'm reworking these into a better flow for the whole document.)
    616615
    617 == Component Data ==
     616== Component Data
    618617
    619618Each Gantt chart component or feature requires data to support it. For Trac-based project management, this data is often in addition to the core ticket data.
     
    621620In general, we might expect to have multiple resources assigned to a task but if we use a Trac ticket as the basis for a task, we have only a single resource, the ticket owner.
    622621
    623 === Core Fields ===
     622=== Core Fields
    624623
    625624Core ticket fields include relevant to project management include:
     
    636635 * completed (treated as a Boolean: open or closed)
    637636
    638 === Additional Data ===
     637=== Additional Data
    639638
    640639For project management, we must have the following additional information about a task/ticket:
     
    645644 * percent effort
    646645
    647 == What do we need in the user interface ? ==
     646== What do we need in the user interface?
    648647
    649648A "chart these" button on a report page would be very nice.