Apache OpenOffice (AOO) Bugzilla – Issue 57605
Prototype Requirement: Reporting tools
Last modified: 2017-05-20 09:12:09 UTC
This task is a part of issue 57601 "Requirements specification for project management tool prototype": http://www.openoffice.org/issues/show_bug.cgi?id=57601
This issue can be regarded as summary of - 57603 Gantt chart - 57637 Pert chart - 57624 flexibility - 57632 cost reports - 57649 resource utilization - 57650 critical path - 57638 financial accounting - 57648 financial reports
The task is depended on tasks 57603,57637,57624,57632,57638,57648,57649 and 57650
I will try to sum up my analysis of what is Pert/Gantt in below statement and provide some information about how this could actually be achieved using the SOA and open standard exchange formats for querying the data model. Here we go: As for the reporting tools, I for my part would only provide a feed (rdf or atom) of the data stored within the OOPM, e.g. tasks and estimated duration/actual duration and so on, which then would be further digested and analyzed by an either integrated tool or an external tool. Both of which are eventually left to future extension. Rationale here is that, given the current interest in the OOPM and the number of people actively being involved is near zero, we should post-pone as much as possible, fore-front. However, we should provide for the future in terms of open data exchange standards. This would also come in handy so that we could actually externalize the components doing the most expensive analysis such as critical path analysis over a quite complex project structure with multiple inter-dependencies towards other, related projects a/o sub projects thereof. I definitely have a distributed SOA in mind here and not that much of a stand-alone, monolithic application. But even having said stand-alone application, we could always also go for the SOA based architecture, since we can configure it so that most of the required components are available on the same host. As for Pert/Gantt: Personally, I don't see Gantt Charts as a reporting only tool. It is actually quite helpful in an interactive way of navigating/browsing/planning and initially setting up a project plan, see for example the various available tools on the market, where the Gantt-Chart is being used to actively reschedule and re-associate individual tasks a/o milestones within a single project, based on the WBS. Pert, however, introduces weighted graphs (or networks), which is basically Gantt, under the hood. I think, that we should, under the hood, for analysis', be using weighted graphs, e.g. Pert, and, for the user, we should display those as Gantt Charts, much the way that similar products do, perhaps also including detail information on the edges between each task or milestone on request, for example analysis/accounting/... information to the user on request. Weights on the individual edges of each "inter-section" in the graph, can be, or rather are actually being based on multiple assessments, e.g. cost, time, availability and so on. Therefore they do actually represent vectors, if not also matrices, derived from their outgoing nodes. Side Note: We definitely need a capable mathematician on our team. How about us go and find some capable student mathematician willing to spend some mind blowing time on that project? Or, we could always also use a Google Summer of Code for getting that job done once all the requirements and architectural issues have been sorted out and an initial specification for the required component(s) has been devised? As such, we might be using Pert for calculation/projection of part or overall cost/time to a project or individual tasks therein, whereas the Pert based planning aspect, such as cost/time distribution/allocation, is left to both standard property editors and the interactive Gantt-Chart?! (see existing tools on the market) Given also that, planned time vs. actual time being spent is different, we might also generate different results from a single Pert based analysis. Critical Path does not mean much to me. However, when installing such a method, we should consider it being based on human reasoning, mostly, and that we can provide only so much assistance, as it is based on automated analysis of the available data in a given project. A tool might not foresee the complexity of individual tasks, therefore, critical plan is merely an analysis of the actual project "plan" or its instance thereof, or, in other terms, its evaluated performance, IMO. And that is always also based on Pert, while using Gantt and other editors to maintain the project. And, if we were to integrate an analysis tool for analyzing the critical path, we would need said capable mathematician. Also we would need to externalize the evaluation process, as has been stated above. And, when using Pert *under the hood*, critical path analysis should not be that much of a problem, we should definitely have a graph and, subsequently also a graph evaluation component that then can provide us with the information required; these are components, however, that are actually most deviously devised and invented, and, provably also, implemented by said capable mathematician... And this component should be as flexible as possible, providing multiple inputs as a vertex or even matrix, it should be able to determine the critical path and even other output useful for generating reports such as, e.g. cost reports, resource utilization reports, time/financial accounting reports etc. with multiple constraints on the line. This would then definitely provide us with the ability to get all of the above requirements done in one go, based on the input we provide to the analyzing component(s).
Personally, I would make this a part of the "Toolings and Integrations" component, with subcomponent "Analysis Tools and Integrations" or "Reporting Tools and Integrations", respectively. That way we can easily assign responsibilities to the different components for future requirements analysis and later on for architecture and design as well.
Reset assignee on issues not touched by assignee in more than 1000 days.
obsolete