WO1994016393A1 - Method of flow chart scheduling - Google Patents

Method of flow chart scheduling Download PDF

Info

Publication number
WO1994016393A1
WO1994016393A1 PCT/US1994/000302 US9400302W WO9416393A1 WO 1994016393 A1 WO1994016393 A1 WO 1994016393A1 US 9400302 W US9400302 W US 9400302W WO 9416393 A1 WO9416393 A1 WO 9416393A1
Authority
WO
WIPO (PCT)
Prior art keywords
tasks
network
task
schedule
work
Prior art date
Application number
PCT/US1994/000302
Other languages
French (fr)
Inventor
Henry Engelman
Original Assignee
Timephaser Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Timephaser Corporation filed Critical Timephaser Corporation
Publication of WO1994016393A1 publication Critical patent/WO1994016393A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An improved critical path method (1) for directing work centers (people or other resources) regarding which tasks to do, and/or when to do such tasks, and/or the priority of such tasks, for variable processes. The invention provides a computerized method for controlling work schedules and for giving and receiving directives based on the critical path method (1) for variable processes. The invention allows non-deterministic networks (containing alternative paths, recursive loops, etc.) to be resolved using the critical path method (1), and schedules to be maintained despite the arbitrary updating practices that are encountered with the various casual users found in enterprise-wide systems. The inventive process requires only slightly more data for non-deterministic schedules than for deterministic schedules, and provides clear and concise directives to the various groups performing tasks across one or more jobs. The invention also provides a simple, reasonably foolproof method of reporting progress (7) and logic changes arising from decision points and does so with minimal data entry.

Description

METHOD OF FLOW CHART SCHEDULING
BACKGROUND OF THE INVENTION
1. Field of the Invention This invention relates generally to a method of scheduling tasks, and more particularly to a method for directing work centers (people or other resources) regarding which tasks to do, and/or when to do such tasks, and/or the priority of such tasks, for variable processes.
2. Description of Related Art
Complex processes or multiple simple processes or jobs consist of a plurality of interrelated operations, or "tasks". Large projects jobs generally comprise a plurality of complex interrelated tasks which can be broken down into simpler tasks spread over time. Exam¬ ples include research and development, and construc¬ tion. Multiple simple projects or jobs generally com¬ prise a plurality of simple tasks which have to pass through various work centers. Examples include claim/loan approvals, sales cycles, and bureaucrat¬ ic/office processes. Managing and optimizing work schedules for large projects or multiple jobs requires synchronization of the component tasks, especially when such tasks are spread out over time.
Some processes are deterministic, in that the process involves a fixed set of tasks in a fixed sequence that are determined before the start of the process. However, some processes are non-determin- istic, or variable, in that some of the steps comprising the process are dependent on the outcome of certain prior steps, which can cause looping back to previous steps (e.g., to fix errors) or branching to one of a number of options at a decision point in the process. Examples of variable processes are office work flow processes (insurance claims, bank loan approvals, sales cycles) , manufacturing (production with acceptance/testing steps) , projects (marketing programs, product launches) , and computer programming (data flow, algorithms) .
A prior art method for planning and communicating variable processes is the flow chart. A flow chart is a schematic representation of a sequence of operations comprising a process or job. The operations are represented by descriptions contained in symbols of different shapes. Arrows connect the symbols to show which operations must be completed before the next operation can start.
FIGURE 1 illustrates an example of a prior art flow chart, shown using standard flow chart symbols. The right-leaning trapezoidal symbol 10 represents a starting point. The rectangular symbols 11 represent process steps. The triangular symbol 12 represents a binary-path decision point. The elongated hexagonal symbol 13 represents a multiple-path decision point. The left-leaning trapezoidal symbol 14 represents an ending point.
A decision point 12, 13 has more than one path emanating from it, and the path to be followed is only determined when the process reaches the decision point. In FIGURE 1, if the answer to the query of the binary- path decision point 12 ("Profitability Maximized?") is "NO", then the process loops back to the start of the process "Feasibility Study". If the answer is "YES", then the process continues to the multiple-path decision point 13 (query is "Which Material to Use?") . The answer to this query determines which of the
"Design and Build" paths 15a, 15b, 15c is to be followed.
Flow charts are useful in communicating the logic of a process. However, flow charts are not used for planning or controlling the execution of the process because of the inability to relate a time frame or schedule to the operations shown in the flow chart. This inability to schedule a flow chart arises from the non-deterministic or variable nature of its logic.
FIGURE 2 is a graphical representation of one well- known prior-art method for schedule planning, termed the critical path method (CPM) . CPM analyzes a complex project by dividing the project into individual tasks or work items 20 with serial and parallel time- precedence relationships. Serial relationships refer to interdependent tasks, where a first task must be completed prior to commencing a second task (work item #1 must complete before starting work item #20 in FIGURE 2) . Parallel relationships involve tasks that may be implemented simultaneously (work items #20 and #30 in FIGURE 2) . The interrelationships between the tasks may be modeled as a network. Each task is represented by a point or node on the network. A Start Date is specified for the first task, and a Duration is assigned to each task. The model is generally created in a computer system for resolving networks of any significant size.
The computerized CPM scheduling process accepts data representing a coded network interactively and/or in batch mode. A forward pass and backward pass are executed through the network to establish dates and priorities for all tasks in the network. During the forward pass, the earliest possible start and finish dates for each task are determined in a step-wise fashion. The process commences at the project starting date and the Durations of individual tasks are added to the starting date, until an expected finish date is determined. The earliest start date of a task is equal to the latest starting date of the preceding tasks plus the Duration of the preceding tasks. The finish date of each task is its start date plus its Duration, minus one working day. In this manner, the finish date of the last task determines the completion date of the project. The backward pass through the network performs the aforementioned operations in reverse order to establish the latest possible completion dates. The latest possible completion date may be defined as the last date for which a task may be accomplished without missing the target project completion date. The difference between a task's earliest possible completion date and latest possible completion date is termed "slack" or "float". The path of work items through the network that has the longest cumulative duration is known as the "critical path", and usually will be equal to the project duration. Items along this path will have zero float, indicating that delay of any one of them will delay project completion. Items not on the critical path have positive total float.
The critical path method is a comparatively recent engineering development particularly adapted for use in the construction industry for the planning and scheduling of construction activities. For a detailed analysis of CPM, reference is made to the book entitled CPM IN CONSTRUCTION MANAGEMENT, Second Edition, by James J. O'Brien (McGraw-Hill Book Company, 1971) . See also co-pending U.S. Patent Application No. 07/753,826, assigned to the assignee of the present invention.
One of the limitations of conventional CPM is that it can only be applied to deterministic networks. An absolute prerequisite for conventional CPM network analysis is the absence of loops (a task being directly or indirectly succeeded by a task that directly or indirectly precedes it) . This requirement obviates using the CPM for processes involving cyclic work (loops) . Further, conventional CPM cannot schedule only one path of a number of option paths emanating from a decision point. Conventional CPM will schedule all tasks on all paths, and the longest path will be called the critical path. Another relevant prior art method is the Graphical Evaluation and Review Technique (GERT) , published by Pritsker and Happ in the article "Graphical Evaluation and Review Technique" that appeared in the JOURNAL OF INDUSTRIAL ENGINEERING, May, 1966. The GERT procedure was based on the prior "Project Evaluation and Review Technique" (PERT) . PERT is similar to CPM, but applies statistical analysis to a network of tasks to provide probabilities of meeting milestone dates. PERT introduced uncertainties to the CPM in the form of different durations (optimistic, pessimistic, and realistic) , thereby creating Gaussian distributions for durations and compounded distributions and statistical confidence levels for meeting milestone dates. GERT added another level of uncertainty arising from the variations in possible paths arising from the variable logic described in a flow chart. This approach had usefulness in deriving a statistically meaningful overall duration or cost of a process as a whole, but was not very applicable to planning and controlling the actual work flow or scheduling of the process. In the book SCHEDULING HANDBOOK by James O'Brien (McGraw-Hill Book Company, 1969) p.98, the author concluded that "The authors consider that GERT would be applicable to inventory problems and queuing problems". Its inapplicability to scheduling and tracking work is further born out by the fact that GERT is not being taught in current project management practice, nor has GERT been implemented in project management software marketed today. Its area of application is in the realm of what-if simulations rather than in planning and tracking schedules.
The prior art solution to planning and tracking work schedules where the variability of work logic must be considered is to first create a CPM network in a deterministic form. This requires defining only the most probable path of task work flow; alternative paths and loops are not considered. After the project has progressed to a point where it becomes apparent that a different path or regression is required, the network is manually changed to reflect the new path, and the alternative path that has been replaced is deleted. Thus, the deterministic network is altered as the project progresses, based on changes to the logic flow. The main drawback to this method is that it requires a person with significant technical capabilities to maintain the integrity of the network logic while adding and deleting alternative paths and cycles. This person is required not only to create the CPM network, but also to change it on an ongoing basis every time a change in the logic is required. This latter requirement is difficult enough on a single large project, but it renders applying the CPM to variable processes unworkable in multi-project environments. Where a number of processes or jobs are to be scheduled simultaneously, the personnel reporting progress are those who know what decision has been made at the decision points. These personnel are typically not scheduling engineers, but are generally casual (occasional) users of project management software. Accordingly, they generally lack the necessary skills to change network logic or the authorization to make changes without the right management controls.
What is needed is a practical method for applying the critical path method to variable processes, such as those modeled by flow charts. The method should impose minimal requirements on the personnel reporting progress and should maintain the integrity and synchronization of the entire schedule even under adverse conditions of user discipline (i.e., the method should be reasonably fool-proof) . The present invention provides such a method. SUMMARY OF THE INVENTION
The present invention provides a computerized method for controlling work schedules and for giving and receiving directives based on the critical path method (CPM) for variable processes. The invention allows non-deterministic networks (containing alternative paths, recursive loops, etc.) to be resolved using the CPM and schedules to be maintained despite the arbitrary updating practices that are encountered with the various casual users found in enterprise-wide systems. The inventive process requires only slightly more data for non-deterministic schedules than for deterministic schedules, and provides clear and concise directives to the various groups performing tasks across one or more jobs. The invention also provides a simple, reasonably foolproof method of reporting progress and logic changes arising from decision points and does so with minimal data entry. The inventive process commences with a user entering conventional CPM task data for one or more projects into a data processing system. This data includes the code or name, description, original duration, priority, and preceding tasks for each task, as well as a code or name for the person or group responsible for reporting progress. The tasks and precedence relationships of all expected alternative paths are also entered, and alternative paths are identified. Conflicting alternative paths are marked as active or inactive.
The data processing system then reduces the entire unresolvable network containing alternative conflicting paths into a resolvable CPM network. An initial Data Date (usually the start of the first project) is as- signed to the tasks, and a schedule is calculated using a special variation of the CPM schedule calculation. The data processing system initially produces one or more Prioritized To Do Lists, each of which is a list of tasks to be performed by a person or group. Each Prioritized To Do List is filtered by person or group assigned to perform the tasks and sorted by start date (chronologically) and then by priority of the tasks. Each list can be printed out (hard-copy) or displayed on-line on a computer terminal.
In the preferred embodiment, an on-line Prioritized To Do List allows a user to interactively modify data displayed in the report. An updating cycle starts when a person or group identified as being responsible for reporting progress on a subset of tasks does so. Progress is reported either on-line on a data processing system, or by marking up a hard-copy report for later entry into a data processing system. In the on-line process, a user calls up their own (personal or group) To Do List, updates the Data Date (usually by setting it to the current date) , and reviews the list for tasks (which are sorted by priority) that can be or have been completed. In the preferred embodiment, when a task has been completed, the user updates the Remain¬ ing Duration for that task to zero, indicating no more remaining work. If a task has been partially completed, the user updates the Remaining Duration for that task to the time required to complete the remainder of the task. (If a task has not been started, there is no need to enter anything) . When a hard-copy list is used, a user marks up the hard-copy with the same changes as in the on-line process. A data entry person enters the changes interactively at a computer terminal using the on-line version of the same report. Progress reporting is repeated as often as people make changes to the To Do Lists for which they are responsible.
In either case, where a task has an indicator showing that the task is also a decision point, the user can look up the alternative paths emanating from that decision point, and mark such paths as inactive or active, as required from actual circumstances.
Schedule recalculation occurs periodically and usually at pre-determined intervals, such as at the end of each week or month. Accordingly, the progress report changes that have been made since the last CPM schedule calculation, as well as the changes with respect to which alternative paths are currently active, are extracted from the on-line To Do Lists.
The CPM schedule database is updated with the extracted transactions from the To Do Lists.
The inventive process then generates a new resolvable CPM network. A new CPM schedule is then calculated from the updated resolvable CPM network.
The relevant task data files are updated with the newly calculated CPM schedule information (i.e., early and late start and finish dates, floats, and priorities) . New Prioritized To Do Lists are generated from the calculated CPM schedule and printed or displayed. The progress updating cycle can then be repeated.
The details of the preferred embodiment of the present invention are set forth in the accompanying drawings and the description below. Once the details of the invention are known, numerous additional innovations and changes will become obvious to one skilled in the art.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 is a diagram illustrating a prior art flow chart.
FIGURE 2 is a graphical representation of the prior art Critical Path Method.
FIGURE 3 is a flow chart illustrating the scheduling method of the present invention. FIGURES 4A, 4B, and 4C are graphical representations of a CPM network having variable processes. FIGURE 5 is an example of a data entry screen for defining an alternative path in accordance with the present invention.
FIGURE 6 is an example of an on-line (computer terminal) Prioritized To Do List with an entry window for changing to an alternative path, in accordance with the present invention.
FIGURE 7 is a flow chart illustrating the inventive method for reducing an indefinite (non-deterministic) network to a resolvable network.
FIGURE 8 is a flow chart illustrating a special variation of the CPM schedule calculation in accordance with the present invention, which is compatible with the inventive method of reduction of an indefinite (non-deterministic) network to a resolvable network.
Like reference numbers and designations in the various drawings refer to like elements. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Throughout this description, the preferred embodiments and examples should be considered as examples, rather than as limitations on the present invention.
Overview of the Inventive Process
FIGURE 3 is a flow chart illustrating the scheduling method of the present invention, which applies the critical path method (CPM) to non- deterministic variable processes. The term "super- user" is used to refer to the person with the technical capability and authorization required to maintain the logical integrity of a CPM network for an enterprise, and activating and inactivating alternative paths and cycles in the CPM network as work progresses. The term "user" is used to refer to any of the many end-users of the system that report progress on a project. The term "definite network" is used to refer to a deterministic network that contains only fixed paths and sequences as required to resolve a network using CPM network analysis and perform CPM schedule calculations. The term "indefinite network" is used to refer to a non- deterministic network that contains alternative paths and reversible sequences, such as is found in flow charts.
In Step 1, the super-user follows conventional CPM practice in entering task data for one or more projects into a data processing system. This data includes the code or name, description, original duration, priority, and preceding tasks for each task, as well as a code or name for the person or group responsible for reporting progress. The tasks and precedence relationships of all expected alternative paths, including reversible paths (recursive loops) , are also entered. FIGURE 4A is a graphical representation of a CPM network having variable processes. Task A is a decision point from which three alternative paths diverge. Path A consists of tasks B and C; path B consists of tasks D and E; and path C consists of tasks F and G. The three paths converge at task H.
In Step 2, the super-user specifies which of the network paths are variable and identifies the type of each such path. The types of path include multiple alternative paths, recursive paths, exclusive paths, non-exclusive paths, and combinations of the different types. The path type is required to identify the type of processing required when the inventive process reduces the indefinite CPM network to a definite one (Step 4, described below), and to determine how a decision point will be shown to the user for updating progress (Step 6, described below) . The super-user also supplies certain information about each alternative path required to determine the decision point from which the alternative path emanates. FIGURE 5 shows an example of a data entry screen 50 for entering alternative path data interactively. Each variable path is given an identifying code 52, a description 53, a path type 54, and a list 55 of tasks on the path being defined. The decision point for the current alternative path is also entered. A decision point is a task from which alternative paths emanate, and is preferably identified by a code 56 and descrip¬ tion 57. When a decision point is completed, a user will then be able to determine which of the defined alternative paths emanating from that decision point is to become active. Again referring to FIGURE 3, in Step 3, either the user (when Step 3 follows Step 7, as in the regular progress updates) or super-user (when Step 3 follows Step 2, as in special updates when new paths are entered) specifies which of the conflicting alternative paths are currently active. FIGURE 4B is a graphical representation of the CPM network of FIGURE 4A, showing that the path labelled "A" is initially set as active.
Referring again to FIGURE 3, Step 4 is a pre¬ processing step to the CPM schedule calculation of Step 5. In Step 4, the inventive process reduces the indefinite network with its conflicting alternative paths to a definite network that can be resolved using a variation of CPM network analysis and schedule calculation. The detailed description of this reduction is described below ("Flow Chart for
Indefinite Network Reduction") .
Step 5 is the CPM network analysis and schedule calculation. An initial Data Date (usually the start of the first project) is assigned to the tasks. The indefinite network reduction in Step 4 sets the remaining duration of tasks in inactive alternative paths to zero before preceding tasks have been completed. This is interpreted as out-of-sequence work progress, and is not acceptable by many automated implementations of the CPM schedule calculation. A detailed description of an implementation of a CPM schedule calculation which can be used with the described indefinite network reduction is set forth below ("Flow Chart for the Special Variation of CPM Schedule Calculation") . The computed schedule is used to update the CPM network database. In Step 6, the CPM network database is used to produce one or more Prioritized To Do Lists, each of which is a list of tasks to be performed by a person or group. Each Prioritized To Do List is preferably filtered by person or group assigned to perform the tasks and sorted by start date (chronologically) and then by priority of the tasks. The Prioritized To Do List is also filtered to exclude completed tasks (i.e., tasks with remaining duration = 0) . Each list can be printed out (hard-copy) or displayed on-line on a computer terminal. Each list shows an updated project schedule and decision points and an indication of which alternative paths are active.
FIGURE 6 is a graphical example of an on-line (computer terminal) Prioritized To Do List 60. In the illustrated embodiment, a Work Item column 62 identifies each task with a unique numeric code. A Description column 64 provides a human-readable description of each task. Original Duration 66, Remaining Duration 68, and Early Start 70 columns provide scheduling information. The relevant Data Date 72 (e.g., 30 November 1992) is also shown; other identifying or explanatory text may be provided, as desired. Of course, other formats for displaying task data in a To Do List form could be adopted, as desired. The Prioritized To Do List 60 also includes a
Decision Point column 74, in which Work Items can be marked to indicate that they are decision points. In FIGURE 6, Work Items 75 and 76 are so marked.
Also shown in FIGURE 6 is a window 78 containing information about the alternative paths emanating from one of the decision points (Work Item 76, in this example) . The window 78 may be opened, for example, by selecting one of the displayed decision points 75, 76 and activating a function key. The window 78 provides relevant information to a user showing, for example, the active alternative path 79 and the other available alternative paths 80. Of course, other formats for displaying alternative path information could be adopted, as desired.
Again referring to FIGURE 3, in Step 7, users report progress on the project. Progress is reported either on-line on a data processing system, or by marking up a hard-copy report for later entry into a data processing system. In the on-line process, a user calls up their own (personal or group) To Do List, updates the Data Date (usually by setting it to the current date) , and reviews the list for tasks (which are sorted by priority) that can be or have been completed. In the preferred embodiment, when a task has been completed, the user updates the Remaining Duration for that task to zero, indicating no more remaining work. If a task has been partially completed, the user updates the Remaining Duration for that task to the time required to complete the remainder of the task. (If a task has not been started, there is no need to enter anything) . When a hard-copy list is used, a user marks up the hard-copy with the same changes as in the on-line process. A data entry person enters the changes interactively at a computer terminal using the on-line version of the same report. Progress reporting is repeated as often as people make changes to the To Do Lists for which they are responsible. Using a screen display such as the one shown in FIGURE 6, a user can report completion or progress of individual tasks under the user's responsibility by changing the values in the Remaining Duration column 68. The use of a Prioritized To Do
List display or listing of the type shown in FIGURE 6 greatly simplifies the use of the invention, since users in the field as well as personnel with direct access to a computer terminal have a simple, clear way of reporting progress for a project.
In addition to updating project progress, the user can change which one of the alternative paths of a decision point is active. Referring to FIGURE 6, in the preferred embodiment, moving the cursor to a Work Item that is a decision point (indicated by an asterisk in the Decision Point column 74) and activating a function key (e.g., F4, defined as a "Lookup" key) brings up the Alternative Paths window 78. In this window 78, the user can indicate which of the alternative paths is to be made active by entering "Y" in an Active column 82. In FIGURE 6, for example, the active alternative path 79 has an identifying code 52 of "904". FIGURE 4C is a graphical representation of the CPM network of FIGURE 4B, showing that the path labelled "B" has been set as active. Thus, the user has a simple menu selection and blank completion method for selecting between pre-defined (i.e., defined by the superuser) variations in the process. (As used herein, "menu" means any "point and shoot" list, pull-down menu, pop-up menu, multiple choice list, hierarchical list, or similar means for selecting between pre- defined choices.)
The data entered in Step 7 can be stored in the computer system in any desired format, so long as all pertinent information can be extracted at a later time to update a separate CPM network database from which the Prioritized To Do Lists are generated.
Alternatively, such changes can be made in real-time directly to the CPM network database.
For regular progress updates (i.e., updates with no need to add tasks or change existing precedence relationships), the process returns to Step 4. The process cycles from Step 4 through Step 7 as long as there is work to be scheduled. For special updates (i.e., updates when there is a need to add tasks or change existing precedence relationships) , the process returns to Step 1. The super-user makes changes to the CPM network database as required. This may occur, for example, if new tasks are added to a project, and/or a change in task work flow is implemented, and/or new alternative paths are defined. The process then continues through Step 2 and Step 3, and thereafter cycles from Step 4 through Step 7 as long as there is work to be scheduled. Flow Chart for Indefinite Network Reduction
In further explanation of the preferred embodiment of the present invention, the following sets forth details of the sub-steps described above in Step 4 of FIGURE 3 with respect to the reduction of an indefinite network to a resolvable definite network.
FIGURE 7 is a flow chart illustrating the reduction of an indefinite (non-deterministic) network for a project to a resolvable CPM network. The flow chart is preferably implemented as a computer program on a general purpose computer. As used in FIGURE 7, RD refers to the remaining duration of a task, and is usually updated after a project has started. OD refers to the original duration of a task before work has been performed.
In the preferred embodiment, the implementing program processes, in turn, each alternative path defined in Step 2 of FIGURE 3. After starting (Block 100) , the program retrieves the next alternative path defined and identified in the CPM database by the superuser (Block 110) . If the program has processed all of the alternative paths (Block 120) , the procedure terminates (Block 130) . Otherwise, the program checks the retrieved alternative path for changes made to the active status of the path since the previous reduction process was run (Block 140) . If there has been no change (Block 150) , then the program returns to Block 110 to process the next alternative path.
The two main processing loops start from Block 140 when an alternative path has been changed to inactive (indicating that this path has been replaced by another conflicting path) or active (indicating that this path is now the path of choice) . When an alternative path has been changed to inactive, the program starts the inactive loop (Block 160) . In Blocks 170 through 200, each task that was specified to be on the current
(i.e., now being processed) alternative path is fetched and has its remaining duration RD set to zero. That is, the first task that was specified to be on the current alternative path is fetched (Block 170) and has its remaining duration RD set to zero (Block 180) . The next task on the current alternative path is fetched (Block 190) . If all tasks have not been processed (Block 200) , control loops to Block 180, otherwise control reverts to Block 110 to process the next alternative path.
Using the special variation of the CPM schedule calculation described below, setting an RD value for a task to zero allows the calculation of dates to give the same results as would be obtained if the task was entirely excluded from the CPM network, and thus from the CPM schedule calculation. (A defined value or symbol other than "0" could be used, if desired, to mean zero) . Accordingly, the integrity of the schedule calculation is maintained even with complex precedence relationships, special date restraints, and resource leveling (optimization) .
When an alternative path has been changed to active, the program starts the active loop (Block 210) . In Blocks 220 through 280, each task that was specified to be on the current alternative path has its remaining duration reset. That is, the first task that was specified to be on the current alternative path is fetched (Block 220) . In the preferred embodiment, the implementing program checks whether the user has specified a Percent Effort value for the current path (Block 230) . The Percent Effort entry allows the user to specify that the amount of work to be performed in tasks on subsequent passes of a recursive loop (an alternative path that emanates from an approval or test decision point) is less than the amount of work to be performed the first time. For example, this permits tuning a schedule to take into account initial setup times for repetitive tasks, where subsequent performance of the task does not require repetition of the setup. If no Percent Effort is specified, a default value of 100% is assumed. If the Percent Effort is not greater than zero, the remaining duration RD for the current task is reset to its original duration OD, as specified in Step 1 in FIGURE 3 (Block 260) . The next task on the current alternative path is fetched (Block 270) . If all tasks have not been processed (Block 280) , control loops to Block 230, otherwise control reverts to Block 110 to process the next alternative path.
If the user has specified a Percent Effort (Block 230) , then the program resets the remaining duration RD of the current task to its original duration OD multiplied by the Percent Effort value divided by 100 (Block 240) . In this case, resource requirements for the task may have to be adjusted to take into account the extra work; these adjustments depend on how actual and budgeted resources are maintained, and are generally project specific (Block 250) . For example, if 100 hours are budgeted for a task, and re-work for that task is estimated to be 10% of the budgeted time, then the required resources could be set at 10 hours for a duration of one day, or one hour for a duration of 10 days. If desired, a function other than percentage could be applied to the original duration OD of a task to derive a value to which the remaining duration RD of the task is to be reset when an alternative path is made active.
After all tasks in all alternative paths are processed, the special CPM schedule calculation described below can be applied to the CPM network database to generate schedule information. Flow Chart of the Special CPM Schedule Calculation
In further explanation of the preferred embodiment of the present invention, the following sets forth details of the sub-steps described above in Step 5 of FIGURE 3 with respect to the special CPM schedule calculation.
FIGURE 8 is a flowchart illustrating the data flow and processing required to recalculate a CPM schedule in a way that supports the indefinite network reduction process described above while maintaining the integrity of the date calculations with the various types of precedence relationships and also with the various special restraints. The flow chart is preferably implemented as a computer program on a general purpose computer. In FIGURE 8, "WI" refers to Work Items (also known as tasks or activities) . "PWI" refers to the Preceding Work Item of a particular WI where a precedence relationship exists (i.e., a WI must be preceded by a PWI, in the simple case, when the PWI must finish before the WI can start) . "WI-PWI relationship" refers to the logical precedence requirement between a WI and a PWI. "WI-ES" refers to the Early Start date of a Work Item. "PWI-ES" refers to the Early Start date of a Preceding Work Item. "WI-ES"1 (note the prime notation) refers to a tentative Early Start date of a Work Item. "Latest" means the furthest date into the future. The program first performs a topological sort on the WI's in the CPM network database (Block 2010). This sort orders the WI's so that each WI appears after all of its PWI's. An ascending rank is assigned to each WI based on its position in the topological sort (Block 2020) . The ES value of each Work Item is initially set to- the Data Date (Block 2030) . The first WI-PWI precedence relationship (i.e., where the WI has the lowest rank of all WI's having a WI-PWI relation- ship) is then retrieved (Block 2040) .
The main loop of the forward pass step of the CPM network analysis algorithm starts with Block 2050. If the current WI is the same as the WI of the previous WI-PWI relationship (Block 2050) , then program control jumps to Block 2080. If the current WI is a new WI, then the current Latest WI-ES value of the WI is recorded in the record for the previously current WI in the CPM network database (Block 2060) .
If program control jumps to Block 2080, then the Early Start date of the PWI of the current WI-PWI relationship is retrieved. A tentative early start date, WI-ES', is calculated based on the PWI-ES, the WI, and PWI Remaining Durations and the WI-PWI relationship (Block 2090) . In the simple case of a standard finish-start relationship (i.e., PWI finishes before WI can start) , then the WI-ES is calculated by adding the PWI-Remaining Duration to the PWI-ES. For other types of WI-PWI relationships, the calculations are prior art and not repeated here. Examples of such calculations are found in such software products as
Microsoft Project 3.0 by Microsoft Corp., CA-SuperProject 2.0 by Computer Associates, and Instaplan EMS 4.0 by Micro Planning International. The tentative WI-ES' is then tested against the Latest WI-ES of the current WI, as determined for the current WI from previous WI-PWI relationships and Data Dates (Block 2100). If the WI-ES' is later than WI-ES, then WI-ES' replaces WI-ES (Block 2110) . Otherwise, the Latest WI-ES remains unchanged.
The program then checks for the existence of "special restraints" on the current WI (Block 2120) . (Programming efficiency might be improved if this check is performed elsewhere in the program, depending on database structure. However, this does not change the basic procedure of the invention.) Special restraints are scheduling conditions affecting dates and floats directly. Examples of special restraints include
Mandatory Start or Mandatory Finish dates for tasks, or "Not Earlier Than", "Not Later Than", "As Soon As Possible", or "As Late As Possible" conditions for tasks. If there are no special restraints on the current WI, program control jumps to Block 2160.
Otherwise, a tentative WI-ES' is calculated based on the special restraint (Block 2130) . The calculations are prior art and not repeated here. Examples of such calculations are found in such software products as Microsoft Project 3.0 by Microsoft Corp.,
CA-SuperProject 2.0 by Computer Associates, and Instaplan EMS 4.0 by Micro Planning International.
The tentative WI-ES' is tested against the current Latest WI-ES for the current WI (Block 2140) . If the tentative WI-ES' is later than the current Latest
WI-ES, then the tentative WI-ES' replaces such WI-ES (Block 2150) . Otherwise, the current Latest WI-ES remains unchanged.
If there are no special restraints on the current WI, the next WI-PWI relationship is retrieved in the order of the rank of the WI (Block 2160) . If this is not the last WI-PWI relationship, then program control is transferred back to Block 2050 to repeat the main loop for the current WI-PWI pair (Block 2170) . After the last WI-PWI pair has been processed
(Block 2170) , program control exits the forward pass loop and the WI-ES of the last WI is recorded in the record for the current WI in the CPM network database (Block 2180) . A completion date for each task can be computed by adding the remaining duration RD of the task to the Early Start date of the task. Thereafter, the backward pass through the CPM network is performed (Block 2190) . The backward pass is conventional, and not repeated here.
The above-described CPM network analysis and schedule calculation accommodates Work Items in the reduced network having a remaining duration of zero even when preceding tasks have not been completed (i.e., out-of-sequence work progress). This provides a substantial improvement over many prior art CPM network analysis and schedule calculation methods. Example
Using the indefinite network defined in FIGURE 4A, consider the case where path A is active and paths B and C have been changed to inactive. Then, referring to the reduction flow chart in FIGURE 7, the first path retrieved (Block 110) is path A, which is found unchanged (Block 140) . Hence, the program returns to block 110. Path B is retrieved and is found to have been turned inactive (Block 140) . Task D is retrieved (Block 170) and has its remaining duration set to zero (Block 180) . The program retrieves task E (Block 190) and its remaining duration is set to zero (Block 180) . There are no more tasks in path B (Block 200) , so the program returns to Block 110. Path C goes through the same process as path B. The process terminates as the program determines that the last path has been pro¬ cessed (Block 120) . The resulting network is the definite network shown in FIGURE 4B.
Referring to the flow chart of the special variation of the CPM schedule calculation in FIGURE 8, the ranks assigned to the work items (Block 2020) , would be as follows: Task Rank
A 1
B , D , F 2
C , E , G 3 H 4
All tasks have their early start date set to day 1
(Block 2030) . The first relationship retrieved is B-A
(Block 2040) . The tentative value WI-ES' for task B is equal to ES-A (1 day) + RD-A (5 days) , giving a value of 6 days. This is greater than WI-ES (1 day) , and thus replaces WI-ES (Block 2110) . There are no special restraints (Block 2120) , so the program retrieves the next relationship, D-A (Block 2160) . Since task D is a new Work Item, the Latest WI-ES (6 days) is recorded for task B before continuing to Block 2080.
The process continues as before, so that when the relationship H-C is retrieved, the early starts for the tasks are as follows:
Task Early Start A 1
B, D, E, F, G 6
C 13
In Block 2090, for task H, WI-ES' is equal to ES-C
(13 days) + RD-C (3 days), giving day 16. Hence, WI-ES is set to 16 days (Block 2110) . The next relationship retrieved is H-E (Block 2160) . In Block 2090, for task H, WI-ES' is equal to ES-E (6 days) + RD-E (0 days), giving 6 days. Since this value is less than WI-ES (16 days) , WI-ES is unchanged. Similarly for the next relationship H-G. It will be seen, therefore, that changing the remaining durations of the tasks on the inactive paths to zero causes them to have no effect on the calculated starts (and finishes) . Alternative Embodiments The special CPM schedule calculation described above is an example of one of a number of schedule calculations that could support the indefinite network reduction process. An alternative embodiment of the invention processes the work items in topological order, thereby moving from work item to work item instead of from precedence relationship to precedence relationship in the CPM schedule calculation. The detailed flow charts of the preferred embodiment (described above and illustrated in FIGURES 8 and 9) use the "activity-on-the-node" form of the critical path method. An alternative embodiment could use the "activity-on-the-arrow" form of the critical path method. (See in CPM IN CONSTRUCTION MANAGEMENT, Second Edition, by James J. O'Brien (McGraw-Hill Book Company, 1971) for a general discussion of the two forms) . It is well-known in the art that the two forms are essentially similar for purposes of computing CPM schedules. The computation process in accordance with the present invention would be similar to the method described in the previous paragraph, using a forward pass that processes the Work Items in topological order with early event dates replacing Work Item Early Start dates.
In the preferred embodiment, reduction of the indefinite network is done without altering the CPM network database itself, except for Remaining Duration values. An alternative embodiment could automatically add, change, and delete tasks and precedence relation¬ ships in the CPM network database as alternative paths are made active or inactive. That is, the defined non- deterministic CPM network can be reduced to an equivalent deterministic CPM network by deleting the tasks of alternative paths that are specified to be inactive, and recreating the tasks of inactive alternative paths that are specified to be active.
Such re-creation of tasks would require that a separate database of deleted tasks be maintained. This embodiment would provide the same calculated dates, but would require more computer processing and increase the possible sources of error. Summary The present invention provides a practical way of applying the critical path method to variable processes for the purpose of directing and controlling work centers regarding which tasks to do, and/or when to do such tasks, and/or the priority of such tasks, for variable processes. The invention allows users with very little training in CPM and/or computers to be able to report progress and make changes to the CPM network logic arising from predefined alternative paths. This allows CPM modeling and reporting techniques to be applied to a much larger range of processes than was previously feasible, and also to be compatible with the arbitrary updating practices that are encountered with the various casual users found in enterprise-wide systems.
Furthermore, the invention provides a way of integrating separate personal or group To Do Lists in an enterprise with the enterprise work-load in the form of CPM networks. The preferred embodiment also has the advantages of data processing efficiency, simplicity of updating procedure, and maintenance of the integrity of the CPM calculations under various combinations of data.
A number of embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, while the preferred embodiment illustrates two types of alternative paths (simple parallel conflicting paths and recursive loops) , the inventive method is applicable to more complex types of alternative paths. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiment, but only by the scope of the appended claims.

Claims

1. A computerized method of controlling performance of a plurality of tasks performed by a plurality of work centers, comprising the steps of:
(a) defining a network of tasks to be performed by the plurality of work centers, wherein at least one of the tasks is associated with a variable process;
(b) applying, in a computer, a modified critical path method network analysis supporting variable processes to the network of tasks to determine at least one of:
(1) the identity of tasks to be performed, selected by work center;
(2) scheduling of such tasks; and (3) priority among such tasks.
2. A computerized method of controlling performance of a plurality of tasks performed by a plurality of work centers, comprising the steps of:
(a) defining a network of tasks to be performed by the plurality of work centers, wherein at least two alternative paths of tasks are defined, and at least one task is a decision point associated with at least two alternative paths;
(b) applying, in a computer, a modified critical path method network analysis supporting variable processes to the network of tasks to determine at least one of:
(1) the identity of tasks to be performed, selected by work center; (2) scheduling of such tasks; and
(3) priority among such tasks;
(c) producing at least one schedule indicating which tasks are decision points.
3. The method of claim 2, further including the steps of:
(d) indicating on at least one schedule the progress of tasks and which alternative path is to be selected at each decision point;
(e) using the schedules with such indications to update the network to specify which alternative paths of the network are to be active.
4. The method of claim 3 , f rther including the step of:
(f) repeating steps (b) through (e) until all tasks are completed.
5. The method of claim 3, wherein at least one of the schedules is produced in printed form, and the network is updated from input derived from at least one printed schedule.
6. The method of claim 3, wherein at least one of the schedules is produced for display on at least one computer terminal, and the network is updated from input into one of the computer terminals using one of the displayed schedule.
7. The method of claim 2 , wherein at least one schedule comprises a prioritized to do list.
8. A computerized method of controlling performance of a plurality of tasks performed by a plurality of work centers, comprising the steps of:
(a) defining a non-deterministic network of tasks to be performed by the work centers, with alternative paths among tasks being defined;
(b) specifying which alternative paths of the non- deterministic network are to be active initially; (c) reducing the defined non-deterministic network to an equivalent deterministic network; (d) applying, in a computer, a modified critical path method network analysis supporting variable processes to the equivalent deter- inistic network to determine at least one of:
(1) the identity of tasks to be performed, selected by work center;
(2) scheduling of such tasks; and
(3) priority among such tasks.
9. The method of claim 8, wherein each task has an original duration, and the step of reducing the de¬ fined non-deterministic network to an equivalent deterministic network further comprises the steps of:
(a) setting the duration of each task in alterna¬ tive paths that are not specified to be active initially to a value representing zero dura¬ tion; (b) setting the duration of each task in alterna¬ tive paths that are to be active initially to a value representing a function of the original duration for such task.
10. The method of claim 8, wherein the step of reducing the defined non-deterministic network to an equivalent deterministic network further comprises the steps of: (a) deleting the tasks of alternative paths that are specified to be inactive; (b) recreating the tasks of inactive alternative paths that are specified to be active.
11. The method of claim 8, wherein at least one task is a decision point associated with at least two alternative paths, and further including the step of: (e) producing at least one schedule indicating which tasks are decision points.
12. The method of claim 11, further including the steps of:
(d) indicating on at least one schedule the progress of tasks and which alternative path is to be selected at each decision point;
(e) using the schedules with such indications to update the network to specify which alternative paths of the network are to be active.
13. The method of claim 12, further including the step of:
(f) repeating steps (b) through (e) until all tasks are completed.
14. The method of claim 12, wherein at least one of the schedules is produced in printed form, and the network is updated from input derived from at least one printed schedule.
15. The method of claim 12, wherein at least one of the schedules is produced for display on at least one computer terminal, and the network is updated from input into one of the computer terminals using one of the displayed schedule.
16. The method of claim 11, wherein at least one schedule comprises a prioritized to do list.
17. The method of claims 1, 2, or 8, wherein the tasks in the network have at least one task—preceding- task precedence relationship, and the modified critical path method network analysis supporting variable processes comprises the steps of:
' (a) sorting the task— receding-task precedence relationships into topological order; (b) for each task, determining the latest early start date for such task from the following factors:
(1) a data date for the network;
(2) each early start date derived from each precedence relationship of such task and the early start date of each corresponding preceding task of such task;
(3) each special restraint applied to such task which sets the early start date of such task independently of the network task—preceding-task precedence relationships.
18. The method of claims 1, 2, or 8, wherein the net¬ work of tasks is defined as an activity-on-the-node network.
19. The method of claims 1, 2, or 8, wherein the net¬ work of tasks is defined as an activity-on-the- arrow network.
20. The method of claims 3 or 12, wherein at least one schedule includes a menu for indicating a selection between displayed alternative paths.
PCT/US1994/000302 1993-01-06 1994-01-05 Method of flow chart scheduling WO1994016393A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US104593A 1993-01-06 1993-01-06
US08/001,045 1993-01-06

Publications (1)

Publication Number Publication Date
WO1994016393A1 true WO1994016393A1 (en) 1994-07-21

Family

ID=21694119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1994/000302 WO1994016393A1 (en) 1993-01-06 1994-01-05 Method of flow chart scheduling

Country Status (1)

Country Link
WO (1) WO1994016393A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601035B1 (en) * 1997-07-10 2003-07-29 At&T Corp. Methods for dynamically predicting workflow completion times and workflow escalations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4019027A (en) * 1975-05-09 1977-04-19 Kelley William L Apparatus and method for schedule monitoring and control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4019027A (en) * 1975-05-09 1977-04-19 Kelley William L Apparatus and method for schedule monitoring and control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601035B1 (en) * 1997-07-10 2003-07-29 At&T Corp. Methods for dynamically predicting workflow completion times and workflow escalations

Similar Documents

Publication Publication Date Title
US6609100B2 (en) Program planning management system
US7890921B2 (en) Automated method for coherent project management
US8560574B2 (en) Apparatus and dependency structure matrix for assisting in optimization of a complex, hierarchical data structure
Herroelen et al. Critical chain project scheduling: Do not oversimplify
JP4177280B2 (en) Planning work management support system and planning work management support program
US6032121A (en) Method for proactive planning
US6647390B2 (en) System and methods for standardizing data for design review comparisons
US20020007297A1 (en) Method and system for enterprise wide production scheduling
Adelsberger et al. The leitstand-a new tool for computer-integrated manufacturing
WO2000016228A1 (en) Computer-implemented product development planning method
US20130138471A1 (en) Planning and scheduling tool assistant
US20140081697A1 (en) Planning and scheduling tool assistant
WO1994016397A2 (en) Method of enterprise-wide to do list scheduling
WO1994016393A1 (en) Method of flow chart scheduling
US8538798B2 (en) System of managing change process
CN1635522A (en) Working project display system and method
CN1567313A (en) Project management control system and method
JPH04184602A (en) System and method for preparation of production schedule
Pathak The advantages of using project management tools in industries
Kim Matheuristic methods for solving the multi-calendar naval surface ship work period problem
Johnson et al. E Rport
Samadi et al. The operations assistant: a new manufacturing resource management tool
CN115249143A (en) Multi-target time-course management method for product development project
Young Delay pert
CN1635523A (en) Working project warning system and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA