PROCESS TEMPLATE ENGINE
BACKGROUND OF THE TNVENTION
The present invention relates generally to a project management application. More specifically, the present invention relates to an application that implements pre-approved processes on a computer network for the interactive completion and monitoring of multiple projects that utilize a particular process.
Many organizations or companies, especially ones involved in the scientific and engineering fields, have different people, departments or groups working on similar types of projects or tasks. For example, several different departments within an engineering company may each need to contract with an outside source for the completion of an engineering project. The different departments may use different procedures and a variety of different software processes to complete the same types of projects or tasks. A department leader is typically the person with the responsibility for completing the project or task. Often, the department leader does not have any defined procedure in place or only a partially defined procedure in place to ensure that the project or task, when completed, meets all quality requirements and company guidelines. The lack of a defined procedure can lead to the completion of a project or task that does not meet all quality requirements and company guidelines. In another situation, each of the department leaders may be using a different procedure to accomplish the same project or task. This can lead to confusion and conflict regarding the proper procedure to be followed for accomplishing the project or task. Also, there is no guarantee that the procedures used by the department leaders will result in the completed task or project meeting all quality requirements and company guidelines. In addition, the different departments, using their own sets of software tools, generate different sets of project tracking tables.
In response to the use of different procedures for completing projects and tasks by the different departments, the organization or company often implements standardized procedures for accomplishing the different types of projects or tasks to
ensure consistency and quality during completion of the project or task. In addition, the organization may have a set of company guidelines or policies in place that control how projects or tasks are to be completed. However, it can be difficult to have people follow the standardized procedures because they are unaware of the standardized procedures' existence or because the standardized procedures are difficult to use and/or understand.
Therefore, what is needed is an application to implement pre-approved processes for projects that can be used to modify, store and retrieve a project's information such as the start and finish dates of tasks and deliverable documentation, and to generate scorecard information for projects.
BRIEF SUMMARY OF THE INVENTION
One embodiment of the present invention is directed to a method for implementing a pre-approved process on a computer network for use by individuals on projects. The method includes generating a schedule file for a pre-approved process. The schedule file includes at least one top level task and a plurality of lower level tasks for completing the pre-approved process. A configuration file is generated for the pre-approved process. The configuration file includes information on a visual layout of the pre-approved process and information on data to be collected from an individual using the pre-approved process on a project. A process directory is created for. the pre-approved process in a memory device on a server computer and the schedule file and the configuration file is stored in the process directory. Information on the pre-approved process is displayed with an implementing engine using information from the schedule file and the configuration file in response to a request by an individual using the pre-approved process on a project. The method also includes assisting an individual in completing the plurality of lower level tasks of the pre-approved process for a project and saving data generated by an individual in completing the pre-approved process for a project in the process directory.
Another embodiment of the present invention is directed to a system to implement pre-approved processes on a computer network for use by individuals on
projects. The system includes a server computer having at least one memory device. The at least one memory device having a process directory for each pre-approved process of a plurality of pre-approved processes. The process directory for each pre- approved process having at least one file relating to the pre-approved process of the process directory. At least one client computer is connected by a computer network to the server computer. The system also has an engine to present a pre-approved process in at least one web page on the at least one client computer in response to selection of the pre-approved process by an individual. The engine having means for retrieving information from the at least one file in the process directory of the selected pre-approved process and displaying information from the at least one file of the selected pre-approved process in the at least one web page on the at least one client computer. The engine also including means for assisting an individual to complete the selected pre-approved process and means for storing data generated in completing the selected pre-approved process in the process directory for the selected pre-approved process.
One advantage of the present invention is that it does not have to be modified to implement additional processes. Another advantage of the present invention is that adding additional processes involves minimal customizations to a data file after the process has been created.
Still another advantage of the present invention is that it enables and practically requires all users to follow a consistent set of process steps and to use only one approved set of project documentation, which reduces process variability, risks, project duration and conforms to a standardized process quality philosophy. The present invention is designed to be the center of project quality/status information for processes with users that have access to an Intranet.
Other features and advantages of the present invention will be apparent from the following more detailed description of the preferred embodiment, taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates a computer network configuration that can be used with the present invention.
Figure 2 illustrates a flow chart for preparing pre-approved processes for use with the present invention.
Figure 3 illustrates schematically the relationship of components in the present invention.
Figures 4-6 illustrate sample web pages that can be generated by the present invention.
Figure 7 illustrates a schedule of steps for a pre-approved process in a scheduling application.
Figure 8 illustrates a customization window from a customization utility.
Whenever possible, the same reference numbers will be used throughout the figures to refer to the same parts.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is directed to a system and method for implementing interactive pre-approved processes on a computer network and for making the pre-approved process accessible by users or individuals. The present invention also provides to the user other utilities, applications, instructions, etc. that are associated with the pre-approved process, and which can provide the user or individual with assistance in completing the pre-approved process. Once a pre- approved process has been implemented electronically on a computer network in accordance with the present invention, users will be able to access the pre-approved process and the other utilities, applications and instructions that are associated with the pre-approved process in a quick and easy manner for use in completing a variety
of projects. In addition, the present invention has library capabilities that permit a user to monitor or track the status of his project and/or the status of other projects that are using or have used the same pre-approved process.
Figure 1 illustrates a preferred configuration of a computer network used in the system of the present invention. The computer network preferably has a central or server computer 102 that stores the pre-approved processes and an implementing engine. The server computer 102 is connected or linked to at least one remote or client computer 104 through an internal network. The internal network is preferably an Extranet, but the internal network can be by any type of computer network, for example, a local area network (LAN), a wide area network (WAN) or an Intranet. The client computers 104 are used to access, through the implementing engine, the pre-approved processes stored on the server computer 102. The other information, utilities, applications and instructions that are associated with the pre- approved processes are also accessed through the implementing engine and are preferably stored on the server computer 102, but can be stored on the client computers 104.
In another embodiment of the present invention, people at a remote location can access the pre-approved processes through the implementing engine by using client computers 106 to connect to the server computer 102 over a secure Internet connection. In addition, the people at the remote locations can be contacted and/or receive files and other information over the secure Internet connection. The transmission of files or other information to the remote location can be included in one of the other utilities, applications and instructions of a pre-approved process accessed through the implementing engine. The people at the remote location can preferably read or view an entire pre-approved process, but do not have the ability to make any direct submission or contribution to a particular instance of pre-approved process. However, people at the remote location can supply information, deliverables, etc. to an intermediary that can then associate or enter the received information, deliverables, etc. to the appropriate instance of the pre-approved process. Alternatively and in another embodiment of the present invention, people at a remote
location that have a controlled access to the server computer 102 over the secure Internet connection can make direct submissions to a particular instance of a pre- approved process on the server computer 102 from client computers 106.
The client computers 104, 106 and server computer 102 can be any type of general purpose computer having memory or storage devices (e.g. RAM,
ROM, hard disk, CD-ROM, etc.), processing units (e.g. CPU, ALU, etc.) and input/output devices (e.g. monitor, keyboard, mouse, printer, etc.). In another embodiment of the present invention, each of the client computers 104 are again linked together through an Intranet or Extranet, however instead of accessing the pre- approved processes and implementing engine on the server computer 102, the client computers 104 have loaded into their memory a copy of the pre-approved processes and implementing engine.
In one embodiment of the present invention, the implementing engine and all of the pre-approved processes, or only a selected few processes pertinent to a particular type of work, can be loaded onto a computer readable medium such as a
CD-ROM or DND-ROM. In addition, the other utilities, applications and instructions that are associated with the pre-approved processes may also be stored on the computer readable medium. The storage of the implementing engine, pre-approved processes and the other utilities, applications and instructions that are associated with the pre-approved processes on the computer readable medium can permit the user to have access to the pre-approved processes when no network connection is available to the user, if the user's computer can provide the appropriate environment for the implementing engine. The user can then complete and comply with the pre-approved processes from the computer readable medium either as a stand-alone process independent of the Extranet system or in conjunction with the Extranet system, which would then require subsequent communication of project information, deliverables, etc. to the Extranet system.
The system and method of the present invention preferably use the implementing engine to implement the pre-approved processes and the other utilities, applications and instructions that are associated with the pre-approved processes in
one or more files or web pages that can be viewed with a web browser. The files or web pages are preferably implemented in HTML via Java applets, Perl or any other CGI software. By implementing the files or web pages in HTML and Java, any client computer 104, 106 with a web browser can access the pre-approved processes stored on the server computer 102 regardless of the operating system (MacOS, Windows,
Unix, etc.) being executed by the client computer 104, 106. However, the pre- approved processes and other utilities, applications and instructions that are associated with the pre-approved process can be implemented by the implementing engine in other ways to be accessible over the internal network.
Before a pre-approved process can be implemented as a web page or a series of web pages by the implementing engine, the pre-approved process must be configured for use with the implementing engine. Figure 2 illustrates the procedure for configuring a pre-approved process for use with the implementing engine. First, in step 202, the pre-approved process is created as a schedule in a scheduling application outlining the steps to be followed in the pre-approved process. Typically, the steps of the pre-approved process have been decided on by an appropriate authority beforehand and only have to be entered into the scheduling application by an owner/author of the pre-approved process. However, unapproved steps in a process can be entered in the scheduling application and then the unapproved steps can be subsequently refined and ultimately decided on by the appropriate authority to obtain the pre-approved process. It is to be understood that a pre-approved process can refer to any type of process having a series of steps that can be configured for use with the implementing engine.
Figure 7 illustrates a schedule of steps for a pre-approved process in a scheduling application. The schedule of steps is listed as a series of tasks in column
700. The list of tasks in column 700 is broken down into two types of tasks: tollgate or top level tasks 702 and activities or low level tasks 704. The tollgate tasks 702 are used to classify or group the low level tasks 704 into phases or smaller sets of activities that are related to each other or have a logical connection to one another. The tollgate tasks 702 are also used to name or identify the. formed smaller sets of
activities or phases. The low level tasks 704 are the steps or activities that comprise or form the pre-approved process. The low level tasks 704 are those steps that will be followed by the user of the pre-approved process in attempting to complete the pre- approved process. In one embodiment of the present invention, both the top level tasks 702 and the low level tasks 704 can be assigned a step number or work breakdown number in the scheduling application by the owner/author of the pre- approved process. The numbering of the tasks of the pre-approved process can be utilized by the implementing engine when the pre-approved process is accessed by the user. In another embodiment of the present invention, step numbering or work breakdown numbering of the tasks can be accomplished automatically once all the tasks of the pre-approved process have been entered into the scheduling application.
Next, in step 204, the schedule corresponding to the pre-approved process is then exported from the scheduling application into a corresponding database file. In a preferred embodiment of the present invention, the scheduling application is preferably Microsoft Project and the exported database file is a
Microsoft Access database file. However, any type of scheduling application can be used and any type of database file that corresponds to the scheduling application can be used.
In step 206, the database file is converted to an appropriate database file or DBM file for the server computer 102 and' subsequently uploaded onto the server computer 102. In a preferred embodiment of the present invention, the server computer 102 executes a UNIX OS and the appropriate database file or DBM file for the server computer 102 is a UNIX DBM file. The process of converting the database file to the DBM file in step 206 of a preferred embodiment is performed with computer software written in Java and Perl, although other types of languages may be used. The converting process in step 206 retains all of the information that was entered into the scheduling application in step 202. The top level tasks 702 and the low level tasks 704 grouped under the top level tasks 702 have their original identity from the schedule in the scheduling application. In another embodiment of the present invention, the database file generated from the scheduling application can be
converted into any type of database file that is understood by the server computer 102, the internal network and the implementing engine.
Finally, in step 208, a process configuration file for the pre-approved process is created and customized for the pre-approved process by the owner/author. Some of the information included in the process configuration file is the title of the pre-approved process and visual layout information on how the pre-approved process will be displayed on a web page. Finally, the process configuration file has information designating data to be collected for an instance of the pre-approved process, i.e. a project that is completed in accordance with the pre-approved process, how that project data is collected from the user and which project data will subsequently be displayed in a banner with the step or task information from the DBM file by the implementing engine.
In a preferred embodiment of the present invention, an administration utility or tool is available to the owner/author of the pre-approved process to assist in the process of customizing the configuration file. Figure 8 illustrates a customization window, box or web page 800 from the customization utility that can be used to customize the configuration file. Customization window 800 is used to customize a request of information from a user, wherein the user is limited in his possible responses to the request to the entries in a predetermined list. In column 802, the owner/author of the pre-approved process designates the data file that includes the entries in the predetermined list. The data file is stored in a predetermined location so that the implementing engine can locate and access the data file as necessary. In column 804, a label or title for the type of information being requested, which will be displayed to the user, is entered by the owner/author. In column 806, the display format for the list can be selected by the owner/author to designate the particular format in which the list information from the data file will be displayed to the user. In column 808, the owner/author can designate that the requested information, once entered by the user, is subsequently displayed as banner information. Finally, in column 810, the user can specify a classification and/or location of the information being requested. The administration utility used by the owner/author to customize the
configuration file has additional windows or web pages that permit the owner/author to customize the visual layout and to designate the collection of other types of information from the user. The configuration file also has a list of links to other web sites with possible information of interest to the user that are subsequently displayed to the user or individual in pre-approved process web pages. The list of links in the configuration file to be subsequently displayed to the user can be modified or customized by the owner/author using the administration utility.
In one embodiment of the present invention, steps 206 and 208 can be accomplished automatically through a web-based process started by the owner/author. The web-based process will convert the database file from the scheduling application to the appropriate database file or DBM file for the server computer 102, preferably a UNIX DBM file, and generate a configuration file for the pre-approved process. The configuration file has a default arrangement so that an owner/author can quickly implement the pre-approved process without a lot of difficulty. However, the owner/author has the ability to use the administration utility described above to modify the default configuration file that was generated and obtain a configuration file customized to the preferences of the owner/author.
The DBM file and the process configuration file are then stored on the server computer 102 in a separate directory designated for the pre-approved process. For each pre-approved process to be implemented and made accessible to users with the implementing engine, a DBM file and process configuration file is created and stored in a separate directory. In addition, if the pre-approved process is changed at a later time, the DBM file for the pre-approved process will need to be generated again to incorporate the changes using the procedure described above. In addition, the process configuration file may also need to be changed to account for the changes in the pre-approved process.
Once the pre-approved process is configured for use with the implementing engine, i.e. the DBM file, the process configuration file and any other necessary files are created and modified, a user will be able to access the pre- approved process over the Extranet system with any web browser. The user can then
use the web browser to execute the implementing engine and access a pre-approved process for use with a particular project. The implementing engine is preferably written in Java or Perl, but can be written in other computer languages.
In Figure 3, the relationship of the components in the present invention is shown. A user operating a web browser on a client computer 104, 106 executes the implementing or process template engine (PTE) 302 stored on the server computer 102 to access a pre-approved process. The PTE 302 then obtains information from files in the corresponding directory 304 of the pre-approved process and obtains scripts or programs from wizard directory 306. In one embodiment of the present invention, the PTE 302 uses a common gateway interface (CGI) preferably written in
Perl or Java Servlets to access the corresponding directory 304 of the pre-approved process wizard directory 306. The files in the pre-approved process directory include the configuration file 308, the DBM file 310, a templates file 312, a help file 314 and any other file that may be required by the PTE 302. The obtaining of information from files 308-314 in the pre-approved process directory 304 and the obtaining of scripts or programs in wizard directory 306 is explained in greater detail below.
A user can use the PTE 302 to select a pre-approved process and a corresponding project that is to be completed in accordance with the pre-approved process. In one embodiment of the present invention, the PTE 302 presents to the user all of the pre-approved processes stored in the pre-approved process directories 304 using information in the corresponding configuration file 308 and DBM file 310 for the pre-approved process to assist the user in selecting a pre-approved process. In another embodiment of the present invention, each of the pre-approved processes stored in a corresponding pre-approved process directory 304 is included in an Extranet web site that is related to the pre-approved process. The user then selects a particular pre-approved process by accessing the corresponding web site for the pre- approved process.
After the user has selected a particular pre-approved process, the user then has to select an existing project being completed in accordance with the pre- approved process or create a new project, which will be completed in accordance with
the pre-approved process. If the user decides to create a new project, the PTE 302 creates a new directory 316 for the new project in the pre-approved process directory 304 for the corresponding pre-approved process. The PTE 302 then copies the DBM file 310 for the pre-approved process from the pre-approved process directory 304 to the project directory 316 for the new project. The PTE 302 also generates a data file
318 in the project directory 316 for the storage of project data and includes in the project directory 316 storage space for a deliverables file 320 for any deliverables or other information and documentation created for the project. In another embodiment of the present invention there is no explicitly created deliverables file 320 and any deliverables or other information and documentation created for the project are stored individually in the project directory 316. Any subsequent reference to the deliverables file 320 is intended to include embodiments directed to an explicit file to store deliverables and to embodiments directed to the grouping of individually stored deliverables in the project directory 316.
Each time the user subsequently accesses the newly created project or a previously created project, the PTE 302 uses and accesses the DBM file 310 stored in the project directory 316 for the project. The PTE 302 accesses the DBM file 310 in the project directory 316 to display the pre-approved process steps that are applicable to the project. The PTE 302 also stores some project information applicable to the project in the DBM file 310 after entry of the project information by the user. The copying of the DBM file 310 into the project directory 316 for the project, the subsequent use of the DBM file 310 to store information applicable to the project and the ability to access the corresponding configuration file 308 from pre- approved process directory 304 permits the PTE 302 to apply the selected pre- approved process to that particular project. The copying of the DBM file 310 into the project directory 316 also permits the user to continue to use the pre-approved process for his project that was selected when the project was created, instead of a subsequently changed pre-approved process in a different DBM file 310. When applying the pre-approved process to a particular project the user can be required to generate or provide information relating to the project such as start and finish dates for the steps of the process or deliverable documentation. In addition, the PTE 302
can be interactively used to modify, store and retrieve the information about the project.
The user's ability to modify, store and retrieve project information from the project directory 316 is controlled by the configuration file 308 in the pre- approved process directory 304 and the DBM file 310 copied into the project directory 316. The PTE 302 takes the information in the process configuration file 308 and the DBM file 310 stored in the project directory 316, and uses it to generate the appropriate web pages for the user to modify, store and retrieve information about the project. In a preferred embodiment of the present invention, the configuration file 308 for a pre-approved process provides information to the PTE 302 for the display of a web page asking for initial information about a corresponding project that will use the pre-approved process. After the initial information about the project is entered, the PTE stores the initial project information in the project data file 318 for the project. A sample web page 400 for the entry of initial information is shown in Figure 4. The information entered into the initial entry web page 400 is then stored in project data file 318 in project directory 316 for the project. The user will then be able to retrieve and modify the information entered on the initial entry web page 400 by recalling the initial information web page 400. In addition, initial project information from the project data file 318 can be retrieved and displayed in a banner on a subsequent web page by the PTE 302 in response to instructions in the configuration file 308.
In addition, the PTE 302 controls how the steps of the pre-approved process are displayed for a particular project. The PTE 302 checks information in the configuration file 308 stored in the pre-approved process directory 304 and the DBM file 310 stored in the project directory 316 and then displays the appropriate web page for the phase or steps selected by the user. A sample web page 500 providing the steps of a phase of a pre-approved process is shown in Figure 5. As can be seen on the phase web page 500, the steps of the pre-approved process pertaining to that phase are displayed. The information about which steps are included in the phase is included in the DBM file 310 and was designated when the owner/author of the pre-approved
process created the process schedule (see step 202 in Figure 2). On phase web page 500, the user is provided with links in columns 502 and 504 to enter information about the start and finish dates of a step of the phase. The information entered about the start and finish dates of the step is then stored in the DBM file 310 in the project directory 316 and can be subsequently retrieved and modified if desired by the user.
The templates file 312 in the pre-approved process directory includes information about utilities, in particular wizards and templates that can be used to obtain assistance in completing the steps of the phase. If the templates file 312 includes information that there is a wizard or template available for use with a particular step, a link is displayed on phase web page 500 in column 506 by the PTE 302. The availability of a template or wizard for a step is preferably identified in templates file 312 by a corresponding file with a file name that relates to the step that uses the template or wizard. If a template is related to the step, the file in the templates file 312 includes the template information. However, if a wizard is related to the step, the file in the templates file 312 includes a link to the appropriate script or program for the wizard in the pre-approved process's directory in wizard directory 306. The owner/author of the pre-approved process has to enter the information about the availability of templates and wizards into the templates file 312 when preparing the pre-approved process for use with the PTE 302. In addition, templates and wizards can be added to the pre-approved process after the pre-approved process has been created by simply adding the appropriate files with appropriate file names into the templates file 312. The PTE 302 can then recognize the new templates or wizards in the templates file 312 and add the appropriate links to the corresponding web pages that include those steps with new templates or wizards.
In another embodiment of the present invention, templates and wizards can be used in more than one pre-approved process. To use a template in more than one pre-approved process, the owner/author has to copy the desired template information from the templates file 312 where it is initially stored to the templates file 312 for the new pre-approved process that is going to use the template and give the copy of the file the appropriate name that corresponds to the step that uses the
template. To use a wizard in more than one pre-approved process, the owner/author has to provide the wizard information in the templates file 312 for the new pre- approved process to link to a directory for the new pre-approved process in the wizards directory 306. The directory for the new pre-approved process in wizard directory 306 will then include a link to the corresponding directory of the pre- approved process in wizard directory 306 that first used the corresponding wizard.
Templates include static information, such as information in a text file, about the particular step. Templates are usually example project documentation that has been completed, similar to what the user needs to complete, or a listing of sub- steps to be followed to complete the particular step. In contrast, the wizards are automated tools to assist users in making quality and/or compliant decisions about their projects' steps or tasks. Wizards are usually executable programs that assist the user in completing the step by enabling the user to generate a deliverable required for the step or guiding the user through sub-steps necessary to complete the step.
If a wizard was used to generate a deliverable or other information such as a note, that deliverable or note is then stored in the deliverables file 320 in the project directory 316 based on information provided to the wizard when executed by the PTE 302. In addition, all deliverables or other information and documentation, such as notes, generated by the user, whether or not the user was assisted by a wizard, are stored in the deliverables file 320 with a file name that identifies the step to which the deliverable or note pertains. The PTE 302 scans the deliverables file 320 when displaying a web page for a particular phase and displays a symbol, preferably an "N" or a "D" on the web page in column 508 for a particular step, if a deliverable or note that corresponds to that particular step is stored in deliverables file 320.
The user can also use the PTE 302 to generate scorecards or reports that include project tracking information. A sample web page 600 with a scorecard that can be generated is displayed in Figure 6. In one embodiment of the present invention, the scorecard on web page 600 can also be displayed in a spreadsheet application for the user to review. To generate the scorecard on web page 600, the user will be presented with several options to select the information that will be
included in the scorecard. The user can select the columns to be displayed in the scorecard and can also designate the order in which the columns will be displayed. In one embodiment of the present invention, the user is able to save the selected columns and column ordering for subsequent use with other generated scorecards. The saved information is preferably stored on the client computer 102 that can be recalled as the default scorecard settings the next time the user is attempting to generate a scorecard. Saving the scorecard setting information on the client computer 102 permits the user to recall the saved scorecard settings regardless of the client computer 104, 106 being used by the user,
The user can also select certain criteria for projects in order for them to be included in the scorecard. The user can filter the project information using attributes that correspond to project data fields or other values. To generate a scorecard that is customized to the user, the user is able to specify several different filters that all will be applied to all available project information. After, the user has made his selections, the PTE 302 then searches all the project data files 312 for the user's criteria and the generates a corresponding scorecard on web page 600 for the user. For individual projects, a scorecard on web page 600 can be displayed at any time between the start and end of a project. In addition, the user is able to generate a scorecard on web page 600 that includes many projects, both pending and completed, at any point in time.
While the invention has been described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the' scope of the appended claims.