ORION High Level Project Management provides tools to permit a different and much more comprehensive approach to the management of difficult projects, a new level of interactivity with the plan, and a degree of mechanisation of the plan unattainable with previous methods.
Projects range from the simple sequential to the complex swirl, and up to now the only tool on offer suited the simple sequential projects well, while giving a false sense of security when used on more complex projects.
Almost by definition, complex projects will involve tentative and unstable information. Up to now, the tentative/unstable information was kept in people's heads, because there was no place for it in the plan. These new tools handle tentative information simply and efficiently, greatly increasing the scope and effectiveness of planning of development or fast track projects.
You can build in a description of What you are trying to build, and Why, as well as the How, How Long and How Much. The plan can now connect to all the important facets of the project, not just durations, resources and costs. All the elements of the project can be stitched together with undirected logical thread, so that a change anywhere affects all the other things it should.
The system is well suited to graphical interaction by planners, as all elements of the plan including its logic have a simple intuitive visual representation.
The currently available Project Management tools are based on CPM, and are intended for projects which have a linear sequential flow and can be planned in minute detail at the beginning, such as erecting a multi-storey building. The Critical Path approach, with its simple concepts for project description and its method of duration calculation, was developed specifically to mechanise the planning for high-rise buildings. Building projects are strongly constrained by gravity (you do the foundations, then the walls, then the roof) and there is almost no development during such projects, so simple planning methods are appropriate.
There have been various grafts onto the basic structure of CPM, resource smoothing for one, but the directional flow of calculation and the commitment to every activity have remained unchanged. The Critical Path Method has dominated the planning of large and complex projects, when it is completely inappropriate, mainly because there was no viable easy to use alternative.
Many projects, particularly those needing development and integration of concepts during the project or having some other completion or cost risk, have a much more complex interacting structure, where the outcome of the project depends on what is desired, what it will cost, and how long it will take. These different aspects of the project influence each other, destroying the linear sequential notion of CPM. One of CPMs assumptions, that you must complete everything in the plan, is not valid for developmental projects. A type of project which exemplifies all of the aspects where CPM is inappropriate is the software development project, where concept development proceeds simultaneously with a rapidly altering technology base, changing business requirements, and education of the developers and business users as to their true needs. Such projects have a swirl of interactions and alternatives.
ORION High Level Project Management uses a Constraint Reasoning approach (CRA for short) to allow a much more realistic description of the project, including methods and outcomes in the plan, not just time and resources. Alternatives at multiple levels can be embedded, allowing the Project Planning team to model the complexity of the real situation, and the Project Manager to assess the potential outcomes from intended inputs. The plan allows viewing from multiple perspectives, and allows each stakeholder to express constraints on the project from their viewpoint (including the owner's conditions for killing the project).
The basis of the project plan is still the activity, with its start date, finish date, duration, predecessors and resource usage. Two significant differences become apparent. Each activity is under logical control - it may or may not take place. Ranges of values can be used everywhere - duration, resource use, you name it - and logical connections can be added between any of the elements of the plan. This allows the plan to be simple where simplicity is appropriate, and complex where necessary to describe the real situation. The CRA plan extends to cover much more of the total planning function, planning that up to now was done on paper or in people's heads. It is the much greater coverage that allows better information to be available from working on and developing the plan.
One difficulty with plans only on paper is that inconsistencies creep in. If you look at one aspect, "We could do this or that". Look at other aspects, come up with alternatives that may very well be inconsistent with planning in the first area. During the running of the project, decisions can be made which close off alternatives other people were relying on to avoid problems, alternatives that existed only in their heads because the plan could not accommodate or represent them. Mechanisation of more of the plan makes things explicit, helps to eliminate inconsistencies and shows the effects on future alternatives that current decisions have. Just the fact that more of the plan is explicit allows more people to contribute to the plan and make it better.
The CRA plan will need more thinking about, but that forethought will pay off in avoiding dead ends and assessing costs of alternatives, or leaving decisions to be made later, when better information will be available - all elements of the CRA plan. A significant weakness of Critical Path is the need to spell out everything in precise detail - unrealistic in a project where there is development as you go along.
Another important difference is that the planning system is supported by a general purpose knowledge modelling tool called ORION. Activities, resources, durations are expressed in terms of interacting operators in an active structure. The planner can ignore the way knowledge about the plan is represented while building the simpler aspects of the plan, and for most projects 90% of the plan construction can be done using activity editing and Gantt chart facilities familiar to CPM planners.
The more complex aspects of the plan are easily expressed in terms of constraints using the ORION Textual or Drawing Editors. The Drawing Editor in particular provides the ability to point at elements of the plan, and connect them through assemblages of analytic operators to form constraints.
Some Constraint Reasoning tools can only move from one consistent state to another contained within it, by reducing the range of variables. This would be fairly useless for Project Management, where you often need to dig yourself out of a hole with extra resources, or other change inconsistent with what has gone before. ORION can support the decision-making needed to determine what new state you should move to, and then maintain Constraint Reasoning on that new state.
If we look in detail at what happens at a CPM node and a CRA node, the basic difference will be clear.
In a CPM plan, while we are working out Early Start, each activity node acts as though it had a MAXIMUM operator before it. This MAX operator waits until it has the values of all predecessors to it, takes the maximum value, passes that to the activity node, which then broadcasts the value to all succeeding nodes. The method uses no information about what lies later in the network, and can provide no cross information to other paths. Resource levelling or smoothing complicates this picture somewhat, but basically the method is, for each node
Wait until all values have arrived from predecessors
Find the maximum time at the node
Propagate the value to successors
or diagrammatically as shown. The method mirrors the simple sequential projects for which it was devised. The constraints, or predecessor-successor relations, reverse their effects when working out Early and Late Starts, but cannot change their direction of effect in response to dynamic conditions in the network. Some CPM systems have patches to allow the scheduling of some activities as late as possible while calculating Early Starts, but the integration of these patches is necessarily poor, due to the rigidity of the underlying algorithm.
The CRA plan has a seemingly similar node structure, with ANDing of numeric values taking place at each node. This means that the range of variability shrinks to encompass the minimum range overall. No part of the network is dead, with any changes in value being immediately propagated in all directions. Once singular values have been found, they will not change again. Cutting of ranges, the reduction of variability, proceeds continuously, and inconsistencies are flagged immediately they are encountered. That is, if you add a constraint that is inconsistent with something else, you are notified immediately on adding it, not after a program is run and it is unclear what caused the problem.
The network is not limited to MAX operators, but can have the full range of analytic operators embedded in it, making it easy to closely integrate time and money and risk. Logicals, strings, lists and objects are also transmitted through the network, so constraints can reason about much more than numeric values, including the existence of objects. The logicals allow the switching on and off of alternative paths, and the laying of traps that only take effect on the satisfaction of certain conditions. Constraints are not initially directed, the operators that make them up responding to the flow of information at their connections, not to some imposed algorithm. The planner does not have to worry about the phasing of the constraints, only their accurate representation of the real constraints that apply to the project.
The apparent similarity with a CPM network makes the transition to CRA relatively painless for a planner familiar with Project Management, the major differences make it possible for the first time to describe the real-world intricacies of projects involving development and change as the project progresses.
What New Duties Accrue
With variability in the plan, its application can move much closer to the decision that caused the project to come into being. In many organisations, the planning spectrum extends from a flurry of proposals at one end, to hard edged project management at the other. Up to now, there were only primitive tools to support the area of planning where uncertainty about outcome existed. CRA can support the development of the planning of the project, from mission statement through tendering to implementation.
With the greater expressive power of CRA, it becomes worthwhile to explore the real constraints on the project at the start, and model them in the plan. "Explore" is a polite term for what can be a very testing time for the Project Planning team, as you discuss with each of the stakeholders what their expectations from the project are, and for what they would settle if their expectations can not be realised. Some of the real constraints may need to stay confidential in the plan, their explicit presence unsettling those who need a stable working environment to give of their best.
At the end of this exploratory phase, there should be a much better appreciation of the dynamics of the project, both by the planning team and the stakeholders. The cost versus risk profile of the project should have become apparent, pointing to ways in which the risk can be reduced without increasing cost. A simple way to push high risk activities towards the start of the project is to make the activities book risk as a resource, and make the cost of the resource rise with time. Some high risk activities may need to be delayed, but then additional planning can be used to protect against failure.
The termination criteria are worth building into the plan, without allowing the users of the plan to manipulate the criteria to hide unsatisfactory progress.
Just as the plan does more, the planning team has to move up a notch in handling the psychology surrounding the project.
A plan has two stages, one where it is helping you plan what to do, and one where it shows everyone else what to do. On hard projects, those two stages tend to follow each other again and again, typified by the statement "Back to the drawing board". Some decisions are better made in the plan, rather than outside it. The greater modelling freedom provided by CRA allows the inclusion of new types of activities and modelling in the network, modelling which will allow decisions to be made by the time and cost constraints as the plan unfolds.
Sometimes you are not sure how events will unfold in the project, so cannot decide between two or more potential and mutually exclusive paths (something as simple as air or sea freight, or perhaps different technologies to produce similar outcomes). One path might be shorter but more expensive, or involve development and have higher risk, but have longer in-service life. If other activities will cause the project to be delayed, there is no point paying a premium for a time saving that won't materialise. The logic deciding between the two paths can be built into the network, and draw on as many influences as you wish. The two alternative paths can themselves be mini-projects, and dont need to have common starting and ending points, as shown in the diagram.
Some activities in the plan may have risks associated with them - risks that they may not occur, or that the duration becomes extended. There are two ways of handling this, backup activities and contingent activities. Human rated equipment, such as cars and planes, has many parallel and backup systems, so it makes sense to have backup activities in the high-risk areas of mission-critical projects.
Backup activities are worked on in parallel with the activity having completion risk. The backup activity may take longer to complete than the minimum duration for the main activity. However, if completion of the main activity does become a problem, the work spent on the backup activity has been good insurance for getting the project finished near the initial deadline.
Contingent activities are embedded in the plan, ready to be scheduled if failure occurs on some primary activity. As distinct from backup activities, work on the contingent activity only begins when failure has occurred on the primary activity. If the primary activity succeeds, the duration of the contingent activity is forced to zero, rendering the activity nonexistent.
An ACTIVITY Lying In Wait
If an ACTIVITY operator does not yet have a TRUE or FALSE state on its logical control pin, and it has a zero in its range of duration, it observes any changes taking place on its Start and Finish pins. If the possible duration between the Start and Finish values becomes less than its minimum real duration, the ACTIVITY switches its duration to zero and sends FALSE out of its Logical Control pin. If connected through an XOR to another activity, the other ACTIVITY will switch TRUE.
A constraint on cost can feed back through an operator to force the duration to zero, or a lack of resources may force the activity out of existence.
The resource usage for the ACTIVITY will be booked before the ACTIVITY is known to exist, the zero in the duration range signalling that the usage is tentative, and may not occur.
With most planning tools, a cashflow can be experimented with while activities are fixed in time, or activities can be moved about with primitive cashflow output. Orion Project Planning allows you to manipulate activities and observe cashflow, or constrain cashflow and observe the effect on activities as the cashflow pushes them around. Other planning constraints such as NPV may be added to the plan, coming into effect only when the variability in timing reduces.
NPV is a simple way of determining the relative worth of a project by reducing the cashflow to a single number. For an investment in a project, NPV is calculated on a cashflow which will typically look like the diagram, where all the variability has been stripped from the project by making firm assumptions about where everything will occur, and the cashflow in each period.
It is more useful to allow some variability to remain in the scenario, to get bounds on the possible NPV to aid in making other related decisions. The resulting cashflow diagram shows variability of magnitude and risk of slipping. Without these being present, the person who interprets the NPV must look to other measures to assess the project risk.
With a range for the NPV, it is then simple to fit a knob to constrain the range, and have this feed back into the decision-making process. The minimum NPV may be a nonlinear function of the amount to be invested, making it a rate of return which is variable depending on amount to be invested. Other factors which may be included are time to payback and risk. The structure used to evaluate NPV is undirected so changes to amounts per period or interest rates can ripple in either direction through the structure. By twiddling the knob in combination with other controls, some alternatives will be forced out of contention.
An advantage of this approach is that corporate management can set a minimum NPV figure, and this will feed back into the project model, constraining cashflows and occurrences.
With some other metrics also acting as constraints (risk versus time, maximum exposure) and interacting with each other, the people developing the project plan are "directed" along the corporate path, and are much less likely to produce a good NPV figure for the project based on invalid assumptions, assumptions that had to be made when there was no way of carrying variability forward in the analysis.
The Planning Environment
The environment that an Active Structure system can provide is exceptionally flexible, because all of the knowledge about the project is continually "live", and can interact with the user, as well as grow and change with user interaction.
The user has several graphical interfaces available to work on the plan, the main one being a Gantt chart of the activities involved in the project, coupled with plots of resource usage, resource bookings, cost, slack, etc. Behind the Gantt chart, and controlling the placement of the activities, is an Active Structure. It represents the complete logical structure of the project, incorporating all the activities, costs, risks, resources, constraints and alternative ways of doing things that are in the current plan. The network is carrying tentative information through its connections, and the connections themselves can change as the tentative information changes.
Using the tools provided with the chart, the planner can push the activities around, or add or remove resources anywhere in the project, or switch alternatives on and off. The Linker allows you to play with predecessor-successor relations here to get the effects you want, after the obvious ones have been added in the Activity Editing window. Another window allows you to switch alternatives on and off, or set values for interest rates, resource cost.
After each user action, information flows through the new network structure added as a result of the action. The chart, resource plot and display of costs are updated to represent the new state of the network. If a logical error, or inconsistency, is encountered while updating the Active Structure, the user can examine the site of the inconsistency, work out ways of avoiding the problem, and the plan then reverts to the previous state. The user can see a list of the changes they have made, undo any of the changes, all of the details of the project plan reverting to the state before the change. The "make decision-observe effect-backtrack" cycle is a good way to become familiar with the behaviour of the project.
The Activity Editing Window
The Activity Window lists the activities in the model. You can add activities, add and edit constraints, add and edit resource usages and other attributes.
Most of a project plan can be built rapidly here, by adding activities, simple constraints, and resource usages. Constraints can be direct numeric singular values or ranges, links to other activity nodes, or any other variable in the model. Constraint types include NOT IN (>-<), IN some range, or No Overlap, where two activities cannot run concurrently.
Resource Usages can be made to book resources early or late in the activity's starting range. Resources can be Renewable or Consumable, with Usage intensity being positive, negative, or a range straddling positive and negative, with use or supply of resource being determined by other factors in the model.
More complex constraints can be added using the Text or Drawing Editors. You can link any of the elements in the model or create new elements and connect them through any analytic operators.
Using the Activity Window together with the Gantt chart to build the network, seeing interactions immediately displayed, and being shown inconsistencies as soon as they occur, provides a rich environment for the Project Planner.
Using The ORION Planning System
The project network that you build using Constraint Reasoning has many more uses than a CPM network. The project network behaves much more like the real project, and can be used as a simulation model to determine the response of the real project to various effects, decisions, failures. Some of the uses:
You or others can use it as you would a CPM plan, just to add up the durations and level the resources.
You can switch alternatives on and off manually, and observe the effect on the project time and cost, or run the Allocator to find a viable resource limited schedule for any combination of events you have set up.
You can automate the switching on and off of alternatives, allowing the system to find a lowest cost/shortest time/lowest risk solution, where you have set up risk profiles, cost versus time relationships and resource costs and limits.
You can put in cost functions instead of hard resource limits, so the Allocator can "buy" extra resources at a cost, and find the lowest cost/shortest time within these more realistic limitations. Additional resource costs can be nonlinear - if you need extra resources for a day, you must pay for a month, so then any additional use is for free.
You can use a Monte Carlo analysis, where activities have a probability of success (20%, 90%, etc.), the system repeatedly throwing the dice to generate random numbers to determine success or failure of particular activities, and then solve the resulting network for the particular set of random numbers. With many runs, this becomes an excellent way of doing sensitivity analysis on a complex project network that has many alternative paths and activities with completion risks.
If something goes wrong in the execution of the project, the plan can support "planning under pressure", where the snapping of alligators jaws makes it hard to think clearly. Critically assessing the alternatives to dig yourself out of a hole is a good way to make sure the hole doesnt get any deeper.
An advantage of the Active Structure approach is that you can wrap more analysis around the project model at any time, and add more detailed logic inside the project as well.
A good plan requires adequate planning detail, and appropriate behaviour built in so it responds realistically to change. As you work with the plan, a model of the project is also forming in your head. The more closely the plan simulates the real project, the more subtle and sophisticated your mental model will be, so you can continually steer the project well.
Complex financial analysis is easily embedded in the project description to control durations and resources, not tacked on as a separate spreadsheet. You can constrain the cost of the project, and so constrain the duration, the system seeing through logic about penalty payments for late completion so that cost and duration are directly linked. The strong linkage of duration, cost and resources is what makes projects so hard to manage.
The transmission of tentative information through the financial analysis and the choosing between alternative funding schemes is another example of CRA adaptability.
The swirl of activity in the network model as changes occur mirrors the swirl of activity and change in the project. The ability to embed logic within the model, and have it participating in the swirl of activity, is unique to ORION.
Why So Hard
Interaction of Cost and Duration
Planning and Scheduling