Abstract:
A process management system (10) for operating on a computer (102, 104, 106) includes a graphical user interface (14) for graphically presenting a process or a portion thereof to a user, a work element for graphically representing a task to be performed in the process, a work product for graphically representing a resultant product of performing a task, an agent for graphically representing an actor responsible for performing a task, and a link for graphically connecting the work element, work product, and agent indicative of inter-relationships therebetween. A knowledge repository (16) is further coupled to the computer for storing valuable information regarding the process.

Description:
TECHNICAL FIELD OF THE INVENTION 
     This invention is related in general to the field of computer software programs. More particularly, the invention is related to a process management system and method therefor. 
     BACKGROUND OF THE INVENTION 
     When faced with a complex task, careful consideration and planning are often required to analyze the problem and define the efforts and resources needed to successfully complete the task. Process management refers to the &#34;direction, control, and coordination of work performed to develop a product or perform a service&#34; 1 . It involves the specification of who, what, and how requirements for completing tasks. Some companies manage their processes by documenting them in voluminous paper documents, which are difficult and cumbersome to revise, reprint, redistribute, and consult. 
     There are some existing software that attempt to provide an automated and computerized tool to perform process management, including Project Bridge Modeler by Applied Business Technology, Process Engineer by Learmonth &amp; Burchett Management Systems, Methodology Administration Platform by Structured Solutions, Hyper Analyst by Bachman, and firstCASE by AGS Management Systems. These existing process management software tools share some common weaknesses, including a non-graphical expression of the modeled process, a restriction on the number of hierarchical levels allowable in the process, a lack of support for iterative processes, and a lack of support for storing process information in a repository for multi-user access. 
    
     SUMMARY OF THE INVENTION 
     Accordingly, there is a need for a process management system and method therefor that support textual and graphical expression of multiple levels of process detail, iterative processes and decision processing, and a repository of knowledge. 
     In accordance with the present invention, a process management system and method are provided which eliminates or substantially reduces the disadvantages associated with prior systems. 
     In one aspect of the invention, a process management system for operating on a computer includes a graphical user interface for graphically presenting a process or a portion thereof to a user, a work element for graphically representing a task to be performed in the process, a work product for graphically representing a resultant product of performing a task, an agent for graphically representing an actor responsible for performing a task, and a link for graphically connecting the work element, work product, and agent indicative of inter-relationships therebetween. A knowledge repository is further coupled to the computer for storing valuable information regarding the process. 
     In another aspect of the invention, a method for defining and managing a process on a computer includes the steps of graphically representing a task with a work element graphical object, defining properties associated with the work element graphical object, graphically representing a product resulting from performing a task with a work product graphical object, defining properties associated with the work product graphical object, graphically representing an actor with an agent graphical object, defining properties associated with the agent graphical object, and graphically linking the work element, work product, and agent graphical objects to indicate a process flow. 
     In yet another aspect of the invention, a method for defining and managing a process on a computer includes the steps of graphically displaying a defined process where tasks are graphically represented by a work element graphical object, products resulting from performing a task are graphically represented by a work product graphical object, actors are graphically represented with an agent graphical object, and said graphical objects are linked to indicate a process flow. A work element graphical object may be expanded to drill down to a graphical representation of a sub-process. Properties associated with the work element, work product, and agent graphical objects may also be displayed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a better understanding of the present invention, reference may be made to the accompanying drawings, in which: 
     FIG. 1 is a simplified block diagram of a process management system and method constructed according to the teachings of the present invention; 
     FIG. 2A to 2I are exemplary process notations of components and connecting links; 
     FIG. 3 is a diagram showing a major component, work element, and its minor components; 
     FIG. 4 is a diagram showing a major component, work product, and its minor components; 
     FIG. 5 is a diagram showing a major component, agent, and its minor components; 
     FIG. 6 is an exemplary dialog window prompting for process information; 
     FIG. 7 is an exemplary dialog window prompting for work element information; 
     FIG. 8 is an exemplary dialog window prompting for work product information; 
     FIG. 9 is an exemplary dialog prompting for process input/output information; 
     FIG. 10 is an exemplary dialog window prompting for responsibility information; 
     FIG. 11 is an exemplary graphical screen showing a bug correction process; 
     FIG. 12 is an exemplary graphical screen showing a bug correction subprocess; 
     FIG. 13 is an exemplary graphical screen showing an agent dialog window; 
     FIG. 14 is an exemplary graphical screen showing a work product dialog window; and 
     FIG. 15 is a simplified diagram showing a computer network connecting computers for accessing the process management system of the present invention and data files stored in a common shared memory. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The preferred embodiment(s) of the present invention is (are) illustrated in FIGS. 1-15, like reference numerals being used to refer to like and corresponding parts of the various drawings. 
     Referring to FIG. 1, a process management system constructed according to the teachings of the present invention is shown indicated generally at 10. Process management system 10 uses a number of major components 12, including work element, work product, agent, and several connectivities, to represent or express a process. The process is presented to user(s) graphically through a graphical user interface (GUI) 14. A knowledge repository 16 is coupled to process management system 10 for storing knowledge acquired in formulating past processes, such as templates of existing processes. In one embodiment of the present invention, process management system 10 is developed using object-oriented software development technology. Process management system 10 may be written in the C++ programming language, and commercially available GUI class libraries Tools.h++ from Rogue Wave and/or StarView from Star Division may be used. 
     FIGS. 2A through 2I show the exemplary notations used to represent the various components of a process. FIG. 2A shows a work element represented by a rectangle, which is a task that is to be performed. FIG. 2B is a rectangle with a shadow, which represents a summary work element that has more process details and may be expanded to view those details. The process of expanding a component to view additional details is also called &#34;drill down&#34;. In FIG. 2C, a rectangle with dash lines is a conditional work element, representing a task that is to be performed if a condition is met. FIG. 2D is a work product, represented by a circle as shown or an ellipse. A work product is the result of performing a task or work element. FIG. 2E is an agent, represented by a hexagon, which is the person, machinery, automation, or software that is responsible for the task. 
     The major components: work element, work product, and agent of the process are connected by links shown in FIGS. 2F through 2I. A line in FIG. 2F is a responsibility connection, a line with an arrow thereon in FIG. 2G denotes input or output, and a dashed line with an arrow in FIG. 2H is a conditional input/output. FIG. 2I shows a connection used to represent iteration. 
     Each of the major components, work element, work product, and agent, can be linked to many minor components or properties or traits, which further describe the methodology or process. FIG. 3 shows the exemplary minor components of a work element 20: standard 21, technique 22, training 23, reference 24, and policy 25. Standard 21 may specify the standard by which the work element is measured, such as the Capability Maturity Model (CMM) established by Software Engineering institute (SEI). Technique 22 may specify the techniques that can be used to perform the task described in the work element, such as brainstorming, modeling, prototyping, simulation, technical review, etc. Training 23 may set forth the training available to help perform the task in work element 20. Reference 24 may include a bibliography of articles, books, and technical magazines that are associated with the performance of work element 20. Policy 25 may specify the governmental or company policies related to the performance of work element 20. 
     FIG. 4 shows the exemplary minor components related to a work product 30. Standard 31 may describe the standard used to measure the quality of work product 31. Technique 32 may describe the techniques that can be used to produce work product 30, such as joint iterative rapid development, financial cost models, function-level risk assessment, or precedence diagraming. Training 33 may describe the training class, seminar, or materials available or required to train for producing work product 30. Tool 34 sets forth the tool(s) needed to produce or make work product 30. Template 35 provides a shell or pattern that can be used as a guide for the development of work product 30 to speed up the process. Representative examples of work product 30 or completed templates may be provided as examples 36 of work product 30. If a tool or template is associated with an application, such as WordPerfect, Word, and Lotus 1-2-3, for example, system 10 automatically launches the application. Reference 37 is a bibliography that may provide additional information regarding making work product 30. Policy 38 sets forth any policy or policies encompassing the act of producing work product 30. 
     Four exemplary minor components are shown related to agent 50. Training 51 sets forth the training available for the agent. For example, if an agent is a project manager, the associated training may include project management development, leadership development, and customer relations. For a software developer, the training may include programming logic, object oriented programming principles, and C++ programming language. Reference 52 may list articles, books, and other information related to agent 50. Policy 53 may list any policy that is related to agent 50. Finally, standard 54 may describe the standards by which agent 50 is compared and measured. 
     It is important to emphasize that although specific symbols and components have been set forth above, they serve as examples and do not limit the teachings of the present invention to those embodiments explicitly shown. 
     FIGS. 6-10 are simplified exemplary dialog windows used to formulate a methodology or process. Referring to FIG. 6, an exemplary dialog window prompting for information on the process is shown. The name of the process, its owner, audience, purpose, and further descriptions may be specified. The owner of a process is the entity that owns the definition of the item. Accordingly, a process may be built from pieces of other processes. For example, a systems engineering process may reference start-up activities owned by a project management process. A special link may be used to tie processes together without making a new copy of the existing process. Information used to summarize a process is shown in the following table, some of which may not be shown in FIG. 6, in which A/N stands for alphanumeric: 
     
         ______________________________________PROCESSATTRIBUTE DESCRIPTION         REQ    TYPE______________________________________Name      Long title of the process                         Y      A/NShort Name     Short title of the process                         Y      A/NLevel     Level in the Methodology Architec-                         Y      A/N     ture (e.g. Framework, Method, or     Process)Status    Indication of the degree of complete-                         Y      A/N     ness of the processOrganization     Name of the organization that owns                         Y      A/N     the definition of the processPurpose   List of objectives/reasons for using                         Y      A/N     this processDescription     Overview/definition of the process                                A/NAudience  Description of the targeted audience                                A/N     for this processContext   Brief description of how this process                                A/N     fits interrelates with other     related materialContact   Where to go for additional informa-                                A/N     tionBenefits  List of benefits of this process to                                A/N     company and to the customerScope     Brief description of the scope of the                                A/N     processVersion/Release     Indication of the applicable version                                A/N     and release______________________________________ 
    
     Note that a Help button, if clicked on, provides context-sensitive on-line help support to the user. 
     FIG. 7 shows an exemplary dialog window for entering information on a work element, including name, short name, whether the work element is required or conditional, and additional textual information such as: purposes, conditions, guidelines, procedure, description, etc. Dialog windows for entering attributes or associated minor components, such as references, training, and techniques are further reachable by clicking on respective push buttons. The following table summarizes the exemplary information used to describe a work element. The IF SUMMARY column indicates whether the attribute is specified, can be rolled up from lower detailed level attributes, or can be derived. 
     
         __________________________________________________________________________WORK ELEMENTATTRIBUTE   DESCRIPTION            REQ                             TYPE                                 IF SUMMARY__________________________________________________________________________Name    Long title of the work element                          Y  A/N SpecifyShort Name   Short title of the work element                             A/N SpecifyLevel (NY)   Whether the work element is summary or detail (leaf)                             Derived                                 DeriveSummary Type   Whether the work element summarizes its children                             A/N Specify(?)     by function or flow (for summary elements only)Alias   List of customer/local aliases for the work element                             A/N SpecifyPurpose List of objectives/reasons for the work element                          Y  A/N Specify/Roll UpDescription   Short overview/definition of the work element                             A/N SpecifyGuideline   List of guidelines for performing the work element                             A/N SpecifyCritical Success   List of items that must be present for successful                             A/N Specify/Roll UpFactor  completion of the work elementProcedure   List of steps required for completing the work                             A/N N/A   element; describes the &#34;how-to&#34; or &#34;step-by-step&#34;   instructions (SEI) (for detail elements only)Standards   List of specific standards considerations (e.g.                             A/N SpecifyConsideration   considerations to ensure CMM Level 2)Required/   Whether the work element is required or conditional                             Binary                                 Roll UpConditionalCondition   List of conditions under which the work element                             A/N N/A   should be completed (for conditional elements only)Entry Criteria   Conditions that must be met before the work element                             Derived                                 Derive(?)     can be started (inputs in the proper status, agents   trained, task dependencies satisfied, etc.)Exit Criteria (?)   Conditions expected upon completion of the work                             Derived                                 Derive   element (outputs completed in the proper status;   procedure completed, agents&#39; responsibilities   fulfilled, task dependencies satisfied, etc.)User-defined   Attributes that can be assigned by the process author                             A/N Specifyattributes (NY)   that are process specific (one to three available)__________________________________________________________________________ 
    
     FIG. 8 is an exemplary window for requesting information on a work product. The table below summarizes the information used to describe a work product. 
     
         __________________________________________________________________________WORK PRODUCTATTRIBUTE   DESCRIPTION            REQ                             TYPE                                 IF SUMMARY__________________________________________________________________________Name    Long title of the work product                          Y  A/N SpecifyShort Name   Short title of the work product                             A/N SpecifyLevel (NY)   Whether the work element is summary or detail (leaf)                             Derived                                 DeriveType    The category of work product (e.g. decision,                             A/N Specify/Roll Up   condition, document, individual, etc.)Deliverable/Non-   Whether work product can be delivered to the                             Binary                                 Specify/Roll Updeliverable   customerInternal/   Indication of whether this work product is internally                             Binary                                 Specify/Roll UpExternal   produced or externally suppliedAlias   List of customer/local aliases for the work product                             A/N SpecifyPurpose List of objectives/reasons for the work product                          Ynd                             A/N Specify/Roll Up   the data represented by the work productDescription   Short overview/definition of the work product                             A/N SpecifyGuideline   List of format and content guidelines for the work                             A/N Specify   productContent List of the data contained in the work product with                             A/N N/A   brief description of eachStandards   List of specific standards considerations (e.g.                             A/N SpecifyConsideration   considerations to ensure CMM Level 2)User-defined   Attributes that can be assigned by the process author                             A/N Specifyattributes (NY)   that are process specific (one to three available)__________________________________________________________________________ 
    
     The information used to describe an agent is summarized in the table below. 
     
         __________________________________________________________________________AGENTATTRIBUTE  DESCRIPTION            REQ                            TYPE                                IF SUMMARY__________________________________________________________________________Name   Long title of the agent; participant&#39;s role (e.g.                         Yroject                            A/N Specify  manager, data base administrator, etc.)Short Name  Short title of the agent; acceptable abbreviation                            A/N SpecifyLevel (NY)  Whether the agent is summary or detail (leaf)                            Derived                                DeriveAlias  List of customer/local aliases for the agent                            A/N SpecifyDescription  Short overview/definition of the agent                            A/N SpecifyCompetency  List of knowledge, skills and behaviors expected                            A/N Specify  beneficial for performing in this roleUser-defined  Attributes that can be assigned by the process author                            A/N Specifyattributes (NY)  that are process specific (one to three available)__________________________________________________________________________ 
    
     Input/output is a link that connects work products and work elements. A work product is an input to a work element, and a work product can also be an output of a work element. The input/output information is shown in the tables below. 
     
         __________________________________________________________________________ATTRIBUTE  DESCRIPTION               REQ                               TYPE__________________________________________________________________________INPUTStatus Degree of completeness    Y  A/NRequired/  Whether the work product is required as an input under                            Yll                               BinaryConditional  conditionsCondition  List of conditions under which the input should be                               A/Nected  (for conditional work products only)OUTPUTStatus Degree of completeness    Y  A/NRequired/  Whether the work product is required as an output under                            Yll                               BinaryConditional  conditionsCondition  List of conditions under which the output should be                               A/Npleted  (for conditional work products only)__________________________________________________________________________ 
    
     The link between an agent and a work element is the responsibility connectivity. The information used to describe responsibility is listed in the table below and shown in an exemplary dialog screen in FIG. 10: 
     
         ______________________________________ATTRIBUTE  DESCRIPTION        REQ    TYPE______________________________________RESPONSIBILITYType       The responsibility/authority the                                A/N      agent has for the work elementSkill Level      The degree of skill in this respon-                                A/N      sibility the agent will require      (e.g. novice, intermediate, expert)______________________________________ 
    
     Minor components associated with responsibility, including training, tools, and techniques, may also be specified. When these minor components are selected, appropriate dialog windows pop up to receive information entered by the user/author in a similar manner, using some of the same graphical tools shown. The information associated with each minor component is shown in the tables below. 
     
         ______________________________________ATTRIBUTE    DESCRIPTION          REQ    TYPE______________________________________TOOLName     Title of the tool    Y      A/NType     Generalized type of tool    A/N    (e.g. spreadsheet, word processor, etc.)Description    Short overview/definition of the tool                         Y      A/NExecution    Execution requirements for                         YInformation    launching the toolTECHNIQUEName     Title of the technique                         Y      A/NType     Generalized type of technique                                A/N    (e.g. modeling, prioritization, etc.)Description    Short overview/definition/                         Y      A/N    abstract of the techniqueExecution    Executable file/directory instructions for                         YInformation    launching the associated toolTEMPLATEName     Title of the template                         Y      A/NExplanation    Brief description to make the                                A/N    template clear and understandableExecution    Executable file/directory and execution                         YInformation    instructions for launching the    associated toolEXAMPLEName     Name of the example  Y      A/NExplanation    Brief description to make the                                A/N    example clear and understandableExecution    Executable file/directory and execution                         YInformation    instructions for launching the    associated toolREFERENCEName     Short identifier of the reference item                                A/NDescription    Due to the various pieces and formats                                A/N    of bibliographic entries the following    represents suggestions for the content    of an entry  Publication          Name of the book,     A/N  Volume or          Volume or date of     A/N  version periodical, or version          of the book/document  Source  Body, organization, or                                A/N          publisher which provided          or published the material  Article Title of the article or                                A/N          section referenced  Author  Author(s) of the book,                                A/N          article or other          publication  Content Brief description or key                                A/N          words for the content of          the materialExecution    Executable file/directory and executionInformation    instructions for launching the    associated toolTRAININGName     Title or name of the training course                         Y      A/N    of materialPurpose  List of learning objectives for the                                A/N    training course or materialDescription    Summary/synopsis of the content of the                                A/N    course or materialProvider Company or organization that provides                         Y      A/N    the training course or materialContact  Directions for ordering, enrollment,                                A/N    or requesting more information about    the course of materialExecution    Executable file/directory and executionInformation    instructions for launching the    associated toolPOLICYName     Short description of the policy; policy                         Y      A/N    provides the law or regulations that    govern, guide, or constrain    operations (SEI)Type     Functional grouping         A/NStatement    Policy statement     Y      A/NExecution    Executable file/directory and execution                         YInformation    instrutions for launching the    associated toolSTANDARDName     Short description of the standard;                         Y      A/N    standard provides the operational    definitions or acceptance criteria for    final or interim products    or process (SEI)Type     Functional grouping         A/NStatement    Standard statement   Y      A/NExecution    Executable file/directory and execution                         YInformation    instructions for launching the    associated tool______________________________________ 
    
     It must be noted that the exemplary screens shown in FIGS. 6-10 are illustrative only, and that windows tools and manipulations such as push buttons, pull-down menus, tool bars, status lines, scroll bars, etc. as known in the art may be incorporated and/or substituted therein. 
     FIG. 11 is an exemplary screen showing a bug correction process. A hierarchies window is to the left of the process window, which displays a graphical representation of the process. The hierarchies window currently shows the work element hierarchy, but may be changed to show agent or work product hierarchies of the process by clicking on the appropriate buttons immediately above the window. Those entries with a square icon appearing to the left of the text indicates that these elements are expandable and the user may drill down to a lower level. These expandable elements, for example &#34;fix the bug&#34; and &#34;close&#34;, are shown in the graphical window with a shadow. 
     The process window contains the graphical depiction of a process or a portion of a process. Process windows contain agents, work elements, work products, and any connections therebetween. Every image in a process window is a selectable object that has properties associated therewith. Summary work elements shown as a work element with a shadow represent the existence of additional details in the form of another process window that can be reached by drilling down or double clicking on the work element. In this manner, complex processes may be organized into multiple levels of abstraction to facilitate the presentation and understanding thereof. 
     A customized tool bar is further provided to permit the user to select operations such as open file, close file, save file, print, and to further select icons for the work element, work product, agent, and links therebetween to build or modify the displayed process. The graphical display may be easily manipulated, for example, the size and location of the windows can be adjusted by clicking and dragging on the window or window boundaries, or the windows may be made to be cascaded, overlapped, or tiled. 
     It may be instructional to walk through the bug correction process to show how a process is represented. A developer 60 is responsible for (link 61) changing the bug status 62 in a piece of software. The work product of changing the bug status is a bug report 63 and a bug tracking database 64. The next task, fix the bug 65, is also recorded and documented in a bug report 66. The link between fix the bug 65 and test the fix 66 is iterative, because the first few attempts at fixing the bug may not succeed. The software (PS Application) 67 is the work product of testing the fix, if successful. If the bug fix is successful, the task close 68 is performed. Because work element close 68 is shown with a shadow, more process details exist and the work element may be expanded to drill down to the next level of details, as shown in FIG. 12. The close sub-process shown in FIG. 12 displays three tasks: check in files 71, update library files 72, and close out bug 73. The associated agents and work products of these work elements are shown. It may be seen that all work elements within a process are unique regardless of whether the name and short names are the same. Unlike work elements, agents and work products in a process that have the same name and short names are the same entity. Therefore, all bug reports and all agents in the bug correction process are the same respective entities. 
     Referring to FIGS. 13 and 14, dialog windows displaying details of the developer agent and the bug report work product are shown overlaid on top of the process graphical representation. Any agent, work product, and work element defined in the process may be clicked on and details thereof may be displayed in like manner. 
     FIG. 15 illustrates the distributed manner in which the instant system 10 may operate. Process management system 10 may be run on a stand alone personal computer or work station, or on one or more computers 102-106 that are linked together by a computer network 110. Information that can be shared by many users may be stored on a common database 108, which may also be linked by computer network 110. Operating in this manner, members of an engineering team may independently access and consult a process the team is working on. 
     System 10 further provides an export capability which produces files in several formats compatible with different applications. For example, Common-Separated Values formatted files may be exported to spreadsheet and database applications to generate statistical information on a process. Microsoft Project Exchange formatted files can also be produced and exported to most project management tools for project management. 
     Constructed in this manner, a process may be defined on process management system 10 easily and efficiently. Existing processes may also be easily revised and modified. System 10 displays the defined process in a graphical manner, which aids in the comprehension and management of the process. Knowledge accumulated from past experiences are also accessible by multiple users for reuse. For example, a company may distribute general processes that can then be customized to fit the special needs of individual organizations within the company. In this manner, existing processes may be reused and tailored to each new process without reinvestment of efforts. Through the use of system 10, company processes may be easily standardized with common terms and definitions. Furthermore, the number of levels of process details is unlimited in system 10, enabling complex processes to be represented in an uncluttered manner. 
     Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made therein without departing from the spirit and scope of the invention as defined by the appended claims.