Question
Does the phGantTimePackage and GTP.NET calculate the Critical Path?
Answer
WikiPedia on Critical path:
“The Critical Path Method, abbreviated CPM, is a mathematically based algorithm for scheduling a set of project activities. It is a very important tool for effective project management. It was developed in the 1950’s in a joint venture between DuPont Corporation and Remington Rand Corporation for managing plant maintenance projects. Today, it is commonly used with all forms of projects, including construction, software development, research projects, product development, engineering, plant maintenance, among others. Any project with interdependent activities can apply this method of scheduling.
The essential technique for using CPM is to construct a model of the project that includes the following:
A list of all activities required to complete the project,
The time (duration) that each activity will take to completion, and
The dependencies between the activities.
Using these values, CPM calculates the starting and ending times for each activity, determines which activities are critical to the completion of a project (called the critical path), and reveals those activities with “float time” (are less critical). In project management, a critical path is the sequence of project network activities with the longest overall duration, determining the shortest time possible to complete the project. Any delay of an activity on the critical path directly impacts the planned project completion date (i.e. there is no float on the critical path). A project can have several, parallel critical paths. An additional parallel path through the network with the total durations shorter than the critical path is called a sub-critical or non-critical path.”
Our components are used in many different types of applications and even when they are used for strict project planning it is common that multiple types of time items are used that symbolize different aspects of time. Planned time is only one aspect. Work time can be another (the actual performed work amount). And scheduled time can be a third (when the resource is available for any work at all).
So to simply say that we support a Critical Path analysis would not be correct. We do however support the harbouring of all the information needed to perform Critical Path calculations in what ever application you may build and this is what is important to us.
Critical Path calculation is to us only another domain specific usage of the information presented by the GTP.NET and the phGantTimePackage. You can easily go from one TimeItem to another over its timeItemLinks (relations) and you can easily add logic to iterate these paths and perform actions (like actually moving overlapping timeItems etc) or present bottlenecks by changing the presentation any way you may require (color, form and content).