Journal of Microcomputer Applications (1986) 9, I-13
Interactive critical path analysis (ICPA)-microcomputer implementation of a project management and knowledge engineering tool T. J. Barber, G. Marshall and J. T. Boardman
Department of Electrical and Electronic Engineering, Brighton Polytechnic, Moulsecoomb, Brighton, BN2 4GJ. UK The paper describes the implementation on a microcomputer of a personal level project management tool, which facilitates simple project network construction and analysis. The interactive critical path analysis system (ICPA), allows project networks to be drawn on the screen of a monitor via a joystick in a natural manner. ICPA therefore provides a powerful and easy to use planning tool for site engineers and the managers of small businesses. The authors are engaged in a programme of AI research leading to the definition of expert systems tools for the use of project managers. Accordingly they have sought to use ICPA as a knowledge engineering tool in conjunction with the elicitations and representation of knowledge educed from expert project managers. The paper describes the ease with which ICPA lends itself to the definition of an intelligent knowledge-based system applied to the project management domain.
1.
Introduction
For the past twelve months or so, the authors have been engaged in a research programme investigating the application of artificial intelligent computer systems to the project management domain. This research is concerned with the processes of project planning and control as exercised by project managers. Its aim overall is to produce tools to assist in the construction of a knowledgeable system that will make planning and control more efficient. A specific objective of the research was to establish and implement a simple to use, highly graphical experimentation tool on which project networks could be constructed, analysed and interactively modified and updated. This requirement was confirmed by expert project managers with an interest in the research. Accordingly a system known as ICPA (interactive critical path analysis) has been developed based upon thorough consultation with engineering project management consultants.
1.1
A history of project planning by network
A well-established tool of project management is the representation of task dependencies in a project as a network of nodes and links. There are a number of different techniques for the construction of the network, e.g. Precedence networks and activity/event networks. In all cases, durations are assigned to tasks and the project network is analysed to estimate the completion time of the project and to indicate which paths are most time-critical.
0745-7138/86/010001+
13 003.00/O
0
1986 Academic
Press Inc. (London)
Limited
2
T. J. Barber et al.
The first project network analysis methods were called critical path method (CPM) and project evaluation and review technique (PERT), developed separately in the late 1950s. Since then numerous improved versions have been released and at present there are in excess of one hundred different systems (Woodgate, 1977). Together with a host of other tools (Gantt charts, S curves, Scheduling, etc.) CPM, PERT and their brethren form the basis of a more secure project management framework. Although network techniques remain a huge success in industry, many companies developing small to medium-sized projects have consistently shunned the many computer-based network implementations because of the difficulties associated with their use, and their expense. 1.2
Towards interactive systems
The early CPM systems ran, of necessity, on mainframe computers, thereby forcing CPM analyses into a batch-type operation. Often a CPM plan would take more than seven days to input correctly; by the time the analysis arrived the project status had changed and the recommendations were no longer valid. Project network analysis is more suited to a real-time environment, in which the flow of the project status can be continually monitored and controlled. Hardware and software capabilities have steadily increased in the intervening period, and there is now a wide range of systems available on mainframes, minicomputers and microcomputers. Each of these, and their associated software, suits a particular sector of the market; each has different capabilities and quite different price ranges. I .3
Towards site-sized systems
In many organizations, project networks may consist of thousands of activities, but often these networks will be an abstract view of a project consisting of many more tasks. With this abstracted view, project managers can control the overall project with, hopefully, a comprehensible project plan. However, for the site or functional manager whose responsibility it is to manage sections of the plan at a detailed work level, there has been a dearth of tools to assist planning and control. It would be infeasible for this level of management to use the sophisticated tools of upper management for many reasons. First the machines are not easily accessible since they quite often need to be centrally located and supported. Secondly there is the time overhead to be considered, and moreover there is the inevitable penalty of delays in information transfer. As such the site manager will rely largely on his experience to manage often quite complex work loads. There remains, therefore, a definite requirement for smaller, site-sized management tools that are easy to use, compact, inexpensive and portable.
2.
System
definition
The idea of a small but powerful tool for the site engineer (or the manager of a small business) developed out of discussions with project managers. They were all too aware of the paucity of tools available. It is ironic that the man at the sharp end, who really needs the decision support, is left with little in the way of computer assistance to support his experience. Recently there have been project management applications packages released on
Interactive critical path analysis
3
business micro machines, but the cost of the hardware and software can be prohibitive, and in most cases the use of interactive graphics as a natural method of interaction is absent. From discussions, a set of features were drawn up which would specify the nature of the package and its capabilities. The general features describing the nature of the package are shown in Table 1 and the more specific requirements in Table 2. From these features ICPA was created. The package runs on the BBC microcomputer with a second processor, is disc based and requires a colour monitor for the graphics displays and a dot-matrix printer for screen dumps. The technical specification is shown in Table 3.
Table 1.
General features
describing the nature of the package
1.
A small system which is portable in the sense that it can be transported and then set up in a few minutes
2.
The use of high resolution colour graphics to portray the network
3.
A simple and natural interaction using a joystick to move a graphics cursor over the screen
4.
Graphical presentation of results, critical path to be highlighted on the screen plus the automatic generation of bar charts
5.
A system which would be easy to learn how to use, and with on-line help facilities if required
Table 2.
Specific features
describing capabilities
1.
Multiple start and end events
2.
All attributes of activities to be optional except for durations
3.
Scheduled times on start and end events, defaulting to be zero float convention
4.
Scheduled times on any intermediate events to facilitate milestones, or special targets, etc.
5.
An actual finish attribute to monitor project progress
6.
The results to be listed in a user-selectable manner (e.g.: all activities in order of increasing
if omitted
total float, then on ties with earliest start, etc.)
3.
Implementation
This section describes the implementation of the ICPA system. The major requirements specified by the project managers were in terms of ease of use. This was reflected in the amount of design effort required to perfect the user-interface. The greatest emphasis was placed on creating a vivid graphical network in order to maximize the information displayed, and on making the system robust for the novice-user. 3.1
Microcomputer
strategy
The choice of machine was the BBC microcomputer. It has good colour graphics capabilities and a second processor option, which provides both speed and memory enhancement relatively inexpensively.
4
T. J. Barber et al. Table 3.
ICPA
Network size: 100 nodes-represent 150 links-represent
spec$cation
events activities
Node attributes: Symbol Scheduled time Earliest event Latest event Slack event Link attributes. Activity name Activity code Duration Actual finish Earliest start Latest start Earliest finish Latest finish Total float Free float
The microcomputer has limited constrain the size of the network constraints are: (1) memory usage; (2) acceptable calculation (3) graphics capabilities. The simultaneity 150 links.
resources and capabilities, which will ultimately that can be processed. The three fundamental
time;
of these constraints
limits the network
size to about
100 nodes and
3.1.1 Memory usage. The network is a directed graph of nodes and links, representing events and activities, respectively. The nodes and links each have a set of attributes to facilitate this representation. Both the network connectivity and the attributes require storage within the system, for which there are only two alternatives, memory (RAM) or disc. The former offers considerable increase in access time, the latter offers more storage space. To compromise, only those variables directly required for calculations reside in memory; thereby obviating further restrictions on the calculation speed. Program storage has to compete with variables storage, the major part of which is a function of the maximum number of nodes and links. Table 4 details the utilization of memory. time increases 3.1.2 Calculation time. As the network size increases, so the calculation exponentially. A network of 100 nodes and 150 links has a calculation time of
Interactive critical path analysis Table 4.
5
Memory usage (280 2nd processor)
kbyte Total available user memory Program size 1 node storage: 29 bytes in memory (0 bytes on disc) x 100 nodes 1 link storage: 36 bytes in memory (27 bytes on disc) + 150 links Adjacency matrix Remainder of variables + stack
41 25
2.9
5.4 2 5.7
approximately 110s but if the network were any larger the system would soon be considered unresponsive. 3.1.3 Graphics capabilities. The BBC microcomputer has a graphics mode which permits a four-colour display of 320 x 256 pixels. However, due to the use of text windows in this package, the graphics area is reduced to 320 x 224 pixels. This presents a limitation to the amount of graphics information that can be displayed on the screen. To provide reasonable viewing of a network with 100 nodes and 150 links, it is necessary to use a quasi-graphics area four times larger, and display only one of the four quadrants of that area at any time. 3.2
Network rules
A valid CPA network must obey certain basic rules. However, the extensive error-handling facilities built into ICPA detect any such violations and report them to the user (Harrison, 1981). To enhance the process further, offending links or nodes are highlighted in red. The rules are: (i) There must be at least one, but no more than eight starting events (nodes), i.e. an event with no predecessor activities. (ii) There must be at least one, but no more than eight terminal (end) events, i.e. an event with no successor activities. (iii) There must not be any loops within the network. (iv) Every link in the network must have a value of duration assigned to it (there is no default value). 3.3
Network conventions
In the network, the ‘scheduled time’ and the ‘actual finish time’ attributes are optional. The following conventions govern their use: (i) For each start node: If there has not been a scheduled time given, then the ‘earliest event time’ will default to zero. (ii) For each terminal node: If there has not been a scheduled time given, then the
T. J. Barber et al.
6
‘latest event time’ will default to the value of the ‘earliest event time’ for that node (the zero float convention). (iii) For each intermediate node: If a ‘scheduled time’ is given, then the ‘latest event time’ for that node will be the minimum of the ‘scheduled time’ given, or the calculated ‘latest event time’ (as found by the reverse pass calculation through the network). Thus, the ‘latest event time’ is given by the harder target to achieve. (iv) For any activity: If an ‘actual finish time’ is given then it is used in the ‘earliest event time’ calculations, thereby enabling the network to be updated. 3.4
Network
display
To display the project network, events (nodes) are drawn as circles with a two-digit symbol inside, activities are drawn as directed lines (links) between nodes, with an arrow at their head to indicate the logic of the network. The graphics cursor (driven by the joystick) moves over the network diagram allowing the user to simply identify the events and activities by pointing to them. To view and edit the activity attributes, the activity is identified, the appropriate single key-stroke command invoked whereupon a window is displayed next to the activity showing all the attributes ready for editing. When that is complete the window disappears leaving the network intact as before. Other examples of commands used with the cursor are to add new events and activities to the network and move events and activities to tidy the networks appearance. The design philosophy adopted incorporates separate screen areas (windows) for differing information types: a large graphics area and windows for prompts, messages and warnings. Thus, the user will direct his attention to the appropriate window as required. The prompt-window displays a menu of currently available commands; these change according to the particular situation. One such command invokes the ‘Help’ facility which will display a text file explaining the use of all the currently available commands. This should obviate the need to refer to the manual. The message window displays the system status and any other pertinent information of value. The warning-window highlights, in red text, alarms or errors generated as a result of misuse by the user. For larger projects, the network may be created using four screens, of which only one can be displayed at any instant. However, the diagrams are contiguous and switching between screens is a simple operation. There is also a small window indicating which quadrant is currently being viewed. Figures l-7 show typical screen displays demonstrating full network manipulation and attribute examination, network based on Lockyer (1964). 3.5
Network
calculations
The network nodes and links form a directed graph: one type of well-established data structure for representing such graphs is the adjacency matrix. Essentially, it is a two-dimensional (n x n), binary matrix which defines the nodal connectivity in the graph. On commencing the calculations, the adjacency matrix is found, thereby enabling the start and termination nodes to be determined. Subsequently, the matrix is operated on by Warshall’s algorithm (Cooke & Bez, 198.5) which has the effect of raising it to the power of n - 1 (where n = 100). As a result, all paths of length n - 1 (the longest possible path through the network) are held in the matrix. If any of the elements in the diagonal
Interactive critical path analysis
Figure 1.
Figure 2.
Expanded
Network
window
display.
displaying
node attributes.
7
8
T.J. Barber et al.
Figure 3.
Expanded window displaying
Figure 4.
link attributes.
Magnified network
Interactive critical path analysis
Figure 5.
Rubber
Figure 6.
banding
of nodes.
Help text display.
9
10
T. J. Barber et al.
Figure 7.
Tabular display of activity attributes.
are ‘1’ then this means there must be a path from a node to itself, thereby indicating the existence of a loop. Thus, the adjacency matrix facilitates the validation of the network rules; checking start and end nodes and loops. There is a need to traverse from all start nodes to all termination nodes to perform the forward pass (earliest event time) calculations, and vice versa for the reverse pass (latest event time) calculations. In ICPA a recursive directed graph traversal algorithm was developed. It requires one argument, the current node number, and a global flag (‘direction’) which determines the direction of the traversal. On the forward traversal, outward links are those which have their tail on the current node, and inward links their head. On the reverse pass the opposite convention is adopted. For a forward traversal, once a node has had its ‘earliest event time’ (forward pass value) calculated all links emanating from that node may have their heads calculated; this acts as a testable flag. The algorithm is detailed in Figure 8. 4.
System
evaluations
4.1
DzJjkulties and hazards of micro-based applications
ICPA is written in BBC BASIC; a hybrid of BASIC ideally suited to structured, procedural-based software. As such the program was written using many modern software design techniques; structured top-down design; recursion; etc. Structured programming demands larger amounts of memory to cope with the extended variable and procedure titles given to elucidate the code. The BBC model B microcomputer, equipped with a Z80 second processor has approximately 41 k of user memory (44k for the 6502 second processor). There are no overlay facilities that readily exist and therefore the entire program must permanently
Interactive critical path analysis
11
PROCEDURE traverse graph (node) find all inward and outward links (node, direction) IF NOT (all inward links have been calculated) traverse graph (node at the tail of one of the inward links not calculated) traverse graph (node) ELSE IF direction = forward earliest event time = maximum of all inward links ELSE latest event time = minimum of all inward links ENDIF IF total number of outward links < > 0 calculate outward link values ENDIF ENDIF ENDPROCEDURE Figure 8.
Recursive directed graph traversal algorithm.
reside in memory. In its source structured format the body of the ICPA program is 39.4kbyte long and requires a further 16 k for variable storage and stack. Obviously the equation is somewhat unbalanced. To overcome this inequality the program space had to be reduced. This was achieved by writing a second program which operates on the source to produce an efficient, compact, though illegible run-time version with minimum redundancy. In the light of the development of ICPA a principle hazard of implementing such an application on a micro may be summarized: it is dangerous not to respect the constraints of a system and therefore be seduced into setting the objectives too high.
4.2
The value
ofthe system
ICPA has been implemented as far as possible to a standard appropriate for use by project managers and it is currently undergoing thorough testing in a practical environment. Feedback to date can be summarized as follows. The system is easy to use, friendly and requires no computing skills for operation. In all stages of operation the available commands are displayed in the prompt window: this together with the messages given and error detection facilities combine to make data entry for network construction a simple and error-free manaeuvre. For small projects the network size catered for is perfectly adequate, as is the range of event and activity attributes. The fact that the graphical display is spread over four screens causes no anxiety since all commands can traverse the boundaries with ease. ICPA provides the ability to view the consequences of a proposed plan in a matter of seconds, thereby enabling ‘What if . . .’ analyses. Moreover, being inexpensive enough to be offered as a personal desktop system permits responsive, local processing to be used to update and monitor the project with great ease in real time. The main reservation about the system in operation appears to be its lack of
12
T. J. Barber et al.
resource-handling ability. However, the system was not designed to be all things to everyone; its original purpose was to implement CPA. Facilitation of resource-allocation, scheduling, costing and so on is possible by modifying the database created by ICPA. Work is currently being carried out in this area with the view, in the longer term, to develop an integrated project management intelligent advisory system.
5.
Knowledge
engineering
applications
A branch of computer artificial intelligence (AI) is that of intelligent knowledge-based systems (IKBS). These systems attempt to use knowledge about a particular problem domain to reach sensible conclusions relating to problems. The research programme from which ICPA has emerged is applying this technology to the problem domain of project management. The resultant IKBS will embody knowledge relating to: (i) the construction of project plans for a given range of projects; (ii) the analysis of project plans for risk areas and strategies to overcome project r hazards using expedition, etc. These systems will be able to bring the project manager’s knowledge to bear on project proposals, or existing projects, to assist in the planning and control processes. Because the knowledge required is not simply textbook material, but is largely the experience gained by project managers from years in the field, the process of eliciting knowledge so that it may be utilized by a computer is a difficult one-this process is termed knowledge engineering. A knowledge engineer needs to coax and assist the project manager in uncovering this often elusive knowledge. There are various techniques suggested for expediting this process, such as lengthy interviews, questioning decisions on-line whilst the project manager is at work, and so on. ICPA has, and will continue to have, an important part to play in this difficult process. Being a small, portable system, it is possible to transport it to any given project management site. In situ it provides a talking point upon which discussions can be based. A significant virtue of this interactive system is that it is easily put into action and so it is possible to simulate difficult project situations as network plans in order to provide a basis for project managers to describe the decision-making processes. The ‘what if . ..’ analyses have proved to be invaluable to the dialogue between the knowledge engineer and project manager. Additionally, ICPA has provided the authors with an excellent tool upon which insights to network construction techniques can be based, and with which the true anatomy of projects can be appreciated. The development of decision support systems for project proposal (bid control) and project expedition, using the experience gained with ICPA acting as a knowledge engineering tool, forms the basis of a future paper.
6.
Conclusions
6.1
A new approach
ICPA addresses an area of management much neglected by other CPA systems; the site manager and the small businessman who previously had only the use of pencil and paper to support their experience. In this area it provides a more natural environment for network creation. The ICPA package provides:
Interactive critical path analysis (1) rapid experimentation with different planning proposals; (2) a means of simulating can be the consequences of projects schedule (i.e. actual finish times can be entered). 6.2
running
13
behind
The way ahead
The trend in most computer applications is towards personal workstations, and the proliferation of microprocessors emerging on the marketplace brings this ideal closer. As speed and capacity increases with the move towards 16- and 32-bit micros, the wealth of packages will blossom to provide engineers and managers with a wide range of planning and decision support tools with which to function. At present the state of the art in graphic resolution on micros makes the graphical approach to network analysis described in this paper suitable only for a relatively small number of nodes and links. With the advent of new microcomputer systems having greater memory and graphics capabilities similar to those employed in some of the large CAD systems in use, and with the ability to display the resulting larger networks onto projection screens, the interactive graphics terminal will become the accepted medium for project planning communication.
References Cooke, D. J. & Bez, H. E. 1985. Computer Mathematics, p. 201. Cambridge: CUP. Harrison, F. L. 1981. Advanced Project Management, pp. 91-94. London: Gower. Lockyer, K. 1964. Critical Path Analysis and Other Project Network Techniques Solution Manual, p. 13. London: Pitman. Woodgate, H. S. 1977. Planning by Network, pp. xi, 63. Business Books. Timothy J. Barber obtained his BSc (First Class Honours) from the CNAA having studied for four years at Brighton Polytechnic in the Department of Electrical and Electronic Engineering as a Sandwich student sponsored by Rediffusion Simulation Limited (RSL). He spent two years in the Research and Development Laboratory at RSL working on high-speed digital signal processing and computer linkage design. He is currently studying for a PhD as research assistant in the Department of Electrical and Electronic Engineering at Brighton Polytechnic. His main research interest is the development of a reasoning toolkit for the intelligent expedition of project plans including on-line assessment of project performance. Garry Marshall obtained his BSc Honours degree in electronic engineering from the CNAA having studied for four years at Brighton Polytechnic as a Sandwich student sponsored by Rediffusion Simulation Limited (RSL). He spent a further two years in the Research and Development Laboratory at RSL working on modular advanced graphics generation systems and computer interface design. He is currently studying for a PhD as a research assistant in the Faculty of Management and Inforrnatics at Brighton Polytechnic. His primary research area is the investigation of a framework for an ikbs to. assist with the formulation of project plans in the construction of flight simulators. Dr John T. Boardman obtained his BEng (First Class Honours) and PhD from the University of Liverpool. He was a lecturer in the Department of Electrical Engineering and Electronics at the University of Liverpool for four years. He is presently Reader in Electrical Engineering at Brighton Polytechnic leading a research group in expert systems design with special reference to intelligent network modeiling.