Changes between Version 123 and Version 124 of ProjectManagementIdeas
- Timestamp:
- Aug 27, 2015, 7:02:32 AM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ProjectManagementIdeas
v123 v124 1 1 [[PageOutline(2-5,Contents,pullout)]] 2 2 3 = =Project management ideas4 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 5 Trac 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. 6 6 7 7 In 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. … … 9 9 == Related research 10 10 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.11 Scheduling 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. 12 12 13 13 There are several variations on the problem. … … 51 51 Project management support software should help us answer a few basic questions: 52 52 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. 54 54 * How much Earned Value has the project achieved? 55 55 * How do incurred costs compare to Earned value (Cost Performance Factor). … … 548 548 It 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. 549 549 550 = Disclaimer =550 == Contributors 551 551 552 552 The 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. 553 553 554 == Contributors 555 554 Other contributors: 556 555 - Olemis Lang 557 556 - Greg Troxel … … 580 579 581 580 - 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" 583 - for example: '''% Complete''', a straight calculation of hours done/hours total may work in most casts, for a 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. 585 584 586 585 It almost seems like any custom or default field added to this concept should be able to specify it's very own provider, optionally. 587 586 588 ''Can you say more about how that would work? 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]] 591 590 {{{ 592 591 [pm-config] … … 615 614 (I'm reworking these into a better flow for the whole document.) 616 615 617 == Component Data ==616 == Component Data 618 617 619 618 Each 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. … … 621 620 In 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. 622 621 623 === Core Fields ===622 === Core Fields 624 623 625 624 Core ticket fields include relevant to project management include: … … 636 635 * completed (treated as a Boolean: open or closed) 637 636 638 === Additional Data ===637 === Additional Data 639 638 640 639 For project management, we must have the following additional information about a task/ticket: … … 645 644 * percent effort 646 645 647 == What do we need in the user interface ? ==646 == What do we need in the user interface? 648 647 649 648 A "chart these" button on a report page would be very nice.