Abstract:
An apparatus (computer coupled to risk and planning data repositories) and method are provided which, upon finding well in advance possible delays of time references of end task or key milestone of a project (or interdependent projects) in life cycle, due to potential risks, calculate and output a set of values (coefficients matrix). These coefficients represent a two-way link between each risk and each milestone and their values estimate the contribution of a specific risk to a specific task/milestone. For each risk, it is possible to highlight the contribution of such risk to possible shift of the whole set of project tasks/milestones; at the same time, for each project task/milestone, the coefficients highlight the contribution of the whole set of risks to the time shift of such milestone/task. The coefficients values address more effectively reduction actions of the possible project/tasks delays. Similar results pare achieved for multi-interdependent-projects.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    Aspects of the present invention concern a system and method for estimating the temporal risks effects and/or their contribution to the time progression of projects. 
         [0003]    More in detail, aspects of the present invention concern an apparatus and a method that, highlighting with large advance the possible shifts of the end time references of key tasks/milestones of a project during its lifecycle, are able to obtain a set of values (coefficients organized in a matrix where rows and columns are associated to risks and tasks/milestones) each of which provides the estimation of the effect/contribution of a specific risk to a specific task/milestone. The present invention significantly improves existing methods and techniques relevant to project planning, monitoring and control disciplines, including project schedule baseline definition and budget costs allocation. Unlike similar methods, in fact, this invention provides a set of coefficients that represent a two-way link between each specific risk and each specific task/milestone: for each risk, the invention highlights the contribution of such a risk to the possible shift of the whole set of tasks/milestones of the project; at the same time, for each task/milestone of the project, the invention highlights the contribution of the whole set of risks to the time shift of such a milestone/task. The same results are provided considering a multi-interdependent-projects scenario where the invention is also able to highlight a two-way link between the risk identified for a specific project and the whole set of milestones relevant to the other interdependent projects, and vice versa. 
         [0004]    2. Background of the Related Art 
         [0005]    WO2006/138141 discloses a method and system for managing a project with multiple tasks and milestones by defining probabilities of key project events and assessing their performance risk. Each task of the project is described as a waveform propagating from this task to an assigned milestone, and each milestone is described by a coherent superposition of task waveforms. The probability of each milestone is obtained by a comparison of probabilities of non-perturbed and perturbed milestones, which are caused by the delay of a task or combination of tasks. Such a propagation is performed in analogy with quantum mechanics to better solve the problem of managing very complex projects without alleged disadvantages of Monte Carlo simulations. Therefore, the system/method disclosed by WO2006138141 permits to evaluate a sensitivity of milestones to tasks perturbations (delays). In this manner, an evaluation may be made as to which tasks have to be prioritized in order to maximize the probability that the milestone will occur. This method is not able to indicate risks contribution on tasks/milestones because it provides a priority scale referring only to tasks (in which a waveform is defined). Conversely, in a common project situation, each task can be associated with more risks impacting directly on it, where each risk has an assigned related probability distribution. Usually, in a project, there are several tasks having more risks impacting directly on each of them. In this scenario the task priority may be much different from the risks priority so that task priority evaluation is not useful to support the management of project risks based on intervening on the drivers or causes of the project risks according to a priority scale of the causes. 
         [0006]    US2007/0124186 A1 discloses a method of managing project uncertainties using event chains. The method includes the steps of: (a) identification of events which may occur during a course of an activity, determining their probability and impact, (b) identification of event chains; and (c) performing quantitative analysis to determine the effect of events and event chains on a project schedule. Quantitative analysis is performed by using Monte Carlo simulations. Events and event chains may be identified using project historical data and based on analysis of actual project performance. Event chain diagrams may be used to visualize events and event chains. Identification of critical events or event chains may be performed using sensitivity analysis. Therefore, US 2007124186 A1 shows a quantitative analysis to determine the effect of events and event chains on a project schedule. The determination of the effect does not provide any information on how such effect is linked to the risks impacting on the planning. In other words, the contribution of the risk on these effects is obscure so that any support to risk management in terms of risk priority information is not available. Finally identification of critical events is performed using sensitivity analysis. The critical chain evaluation is not able to provide, compared to tasks effect evaluation, the risk priority on the project. 
         [0007]    It is to be noted that classical sensitivity analysis cannot provide risk priority information, which would allow the user to identify the critical events in terms of their impact at a glance. 
         [0008]    US2004/0138897 discloses a method and system to select projects from available projects and to allocate resources to departments to maximize the incremental value gained within a desired execution risk. Probability distribution is created by performing a Monte Carlo simulation considering probabilities of future events that may increase or decrease capacity. Thus, US 2004138897 A1 is a methodology to create the aggregate probabilistic effect (execution risk) from many probabilistic drivers (for example resources allocation). If the execution risk is not within a desired level, the drivers are changed (through a Monte Carlo simulation of the trial Portfolio) in order to obtain an execution risk within the desired level. The disclosed method is aimed only at evaluating the effect of the drivers without specifying their contribution to the project. When this contribution is unknown the drivers have to be changed in an iterative process until the best value of execution risk is obtained (as is detailed in the document). 
         [0009]    Moreover, as yet, in the art, the analysis of the time progression of a project has been carried out with respect to the activities that are subjected to a single risk. Further the difficulty of identifying critical effects and correlating these to one or more risks in a quantitative way has not be overcome. Further, there is no solution of providing a project management designed so as it can be easily and effectively used with light hardware architectures and mobile equipment. Assessing the historical contribution of each risk on each activity is a problem that has not yet been undertaken. 
         [0010]    It is therefore object of the present invention to provide a method and system for evaluating the time progression of projects (where each activity can be subjected to several risks), including the information of risk effect/contribution to this time progression, that solves the problems and overcomes the drawbacks of the prior art. 
         [0011]    According to an aspect, it is an object of the present invention to provide a computer-implemented method, computer program product, method and system enabling updating, processing and managing project data more efficiently with regard to time and less requirement of computation time. 
       SUMMARY OF THE INVENTION 
       [0012]    Aspects of the present invention relate to a computer assisted method for estimating time shifting of tasks within one or more interlinked projects due to an effect of risks associated with the tasks, and for estimating the impact of each risk on the projects, the computer comprising a data repository and a display device, each project comprising at least one task, a project start task and a project end task, each task having an associated task start, a task end and a task duration, wherein a subset of the at least one task is associated with at least one risk having an occurrence probability and a time delay induced on each task of the subset of the at least one task by the risk, and wherein each at least one task, the project end task, the project start task, the task start, the task end and each risk are stored in the data repository, the method comprising: for each risk, calculating an associated delay for each task of the subset as a function of its occurrence probability and a risk delay distribution; for each task of the subset, calculating an associated time shifting comprising time shifting of reference time instants of the associated task start and task end; for each at least one task, calculating reference time instants of the associated task start and the task end; for each at least one task, updating a planning reference baseline with the time shifting, the planning reference baseline comprising the task duration, a priority relation and time position of each task with respect to reference time instants of the project start task and the project end task; calculating a project critical path for achieving the associated task end; extracting a probability distribution and a cumulated probability distribution of time shifting of a time instant of the project end task and of time shifting of each task with respect to the reference baseline; calculating a value of an index of sensitivity of time shifting for each task of the subset caused by each risk associated with the task; calculating a value of an index of sensitivity of planning to shift each at least one task; calculating a value of an index of sensitivity of planning to the delay induced by each risk; storing the values of the indices of sensitivity of time shifting, sensitivity of planning, and sensitivity of planning to the delay caused by each risk in the data repository; displaying at least the index of the sensitivity of planning to the delay caused by each risk on the display device; and implementing a shifting of tasks of the project based on at least the index of the sensitivity of planning to the delay caused by each risk. 
         [0013]    Alternative aspects of the present invention relate to a system for estimating time shifting of tasks within one or more interlinked projects due to an effect of risks associated with the tasks, and for estimating the impact of each risk on the projects, each project comprising at least one task, a project start task and a project end task, each task having an associated task start, a task end and a task duration, wherein a subset of the at least one task is associated with at least one risk having an occurrence probability and a time delay induced on each task of the subset of the at least one task by the risk, and wherein each at least one task, the project end task, the project start task, the task start, the task end and each risk are stored in a data repository, the system comprising: a module for calculating, for each risk, an associated delay for each task of the subset as a function of its occurrence probability and a risk delay distribution; a module for calculating, for each task of the subset, an associated time shifting comprising time shifting of reference time instants of the associated task start and task end; a module for calculating, for each at least one task, reference time instants of the associated task start and the task end; a module for updating, for each at least one task, a planning reference baseline with the time shifting, the planning reference baseline comprising the task duration, a priority relation and time position of each task with respect to reference time instants of the project start task and the project end task; a module for calculating a project critical path for achieving the associated task end; a module for extracting a probability distribution and a cumulated probability distribution of time shifting of a time instant of the project end task and of time shifting of each task with respect to the reference baseline; a module for calculating a value of an index of sensitivity of time shifting for each task of the subset caused by each risk associated with the task; a module for calculating a value of an index of sensitivity of planning to shift each at least one task; a module for calculating a value of an index of sensitivity of planning to the delay induced by each risk; a module for storing the values of the indices of sensitivity of time shifting, sensitivity of planning, and sensitivity of planning to the delay caused by each risk in the data repository; a module for displaying at least the index of the sensitivity of planning to the delay caused by each risk on a display device; and a module for implementing a shifting of tasks of the project based on at least the index of the sensitivity of planning to the delay caused by each risk. 
         [0014]    Further alternative aspects of the present invention relate to a system for estimating time shifting of tasks within one or more interlinked projects due to an effect of risks associated with the tasks, and for estimating the impact of each risk on the projects, each project comprising at least one task, a project start task and a project end task, each task having an associated task start, a task end and a task duration, wherein a subset of the at least one task is associated with at least one risk having an occurrence probability and a time delay induced on each task of the subset of the at least one task by the risk, the system comprising: a processor; a data repository accessible by the processor, the data repository storing each at least one task, the project end task, the project start task, the task start, the task end and each risk; and a user interface functioning via the processor; wherein, for each risk, an associated delay is calculated for each task of the subset as a function of its occurrence probability and a risk delay distribution; wherein, for each task of the subset, an associated time shifting is calculated comprising time shifting of reference time instants of the associated task start and task end; wherein, for each at least one task, reference time instants of the associated task start and the task end are calculated; wherein, for each at least one task, a planning reference baseline is updated with the time shifting, the planning reference baseline comprising the task duration, a priority relation and time position of each task with respect to reference time instants of the project start task and the project end task; wherein a project critical path for achieving the associated task end is calculated; wherein a probability distribution and a cumulated probability distribution of time shifting of a time instant of the project end task and of time shifting of each task with respect to the reference baseline are extracted; wherein a value of an index of sensitivity of time shifting for each task of the subset caused by each risk associated with the task is calculated; wherein a value of an index of sensitivity of planning to shift each at least one task is calculated; wherein a value of an index of sensitivity of planning to the delay induced by each risk is calculated; wherein the values of the indices of sensitivity of time shifting, sensitivity of planning, and sensitivity of planning to the delay caused by each risk are stored in the data repository; wherein at least the index of the sensitivity of planning to the delay caused by each risk is displayed via the user interface; and wherein a shifting of tasks of the project based on at least the index of the sensitivity of planning to the delay caused by each risk is implemented. 
         [0015]    Further alternative aspects of the present invention relate to a computer program product comprising a computer usable medium having control logic stored therein for causing a computer to estimate time shifting of tasks within one or more interlinked projects due to an effect of risks associated with the tasks, and to estimate the impact of each risk on the projects, the computer comprising a data repository and a display device, each project comprising at least one task, a project start task and a project end task, each task having an associated task start, a task end and a task duration, wherein a subset of the at least one task is associated with at least one risk having an occurrence probability and a time delay induced on each task of the subset of the at least one task by the risk, the control logic comprising: computer readable program code means for calculating, for each risk, an associated delay for each task of the subset as a function of its occurrence probability and a risk delay distribution; computer readable program code means for calculating, for each task of the subset, an associated time shifting comprising time shifting of reference time instants of the associated task start and task end; computer readable program code means for calculating, for each at least one task, reference time instants of the associated task start and the task end; computer readable program code means for updating, for each at least one task, a planning reference baseline with the time shifting, the planning reference baseline comprising the task duration, a priority relation and time position of each task with respect to reference time instants of the project start task and the project end task; computer readable program code means for calculating a project critical path for achieving the associated task end; computer readable program code means for extracting a probability distribution and a cumulated probability distribution of time shifting of a time instant of the project end task and of time shifting of each task with respect to the reference baseline; computer readable program code means for calculating a value of an index of sensitivity of time shifting for each task of the subset caused by each risk associated with the task; computer readable program code means for calculating a value of an index of sensitivity of planning to shift each at least one task; computer readable program code means for calculating a value of an index of sensitivity of planning to the delay induced by each risk; computer readable program code means for storing the values of the indices of sensitivity of time shifting, sensitivity of planning, and sensitivity of planning to the delay caused by each risk in a data repository; computer readable program code means for displaying at least the index of the sensitivity of planning to the delay caused by each risk on a display device; and computer readable program code means for implementing a shifting of tasks of the project based on at least the index of the sensitivity of planning to the delay caused by each risk. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0016]    The invention will be now described by way of illustration but not by way of limitation, making reference to the figures of the annexed drawings, wherein: 
           [0017]      FIG. 1  shows the shifting of a task (the time reference of the end of the generic task/milestone with respect to the baseline time); 
           [0018]      FIG. 2  shows the analysis logic according to the present invention; 
           [0019]      FIG. 3  shows the matrix IM of the present invention; 
           [0020]      FIG. 4  shows an hypothesis of implementation of the invention algorithm; 
           [0021]      FIG. 5  shows a simplified diagram of the planning of a generic project (Gantt diagram); 
           [0022]      FIG. 6  shows a registry of the risks vs. 
           [0023]    activities of the Gantt diagram; 
           [0024]      FIG. 7  shows the S-curves of some tasks/milestones of the project under examination; 
           [0025]      FIG. 8  shows a survey of simulation inputs/outputs and ranking as defined on the basis of the new indexes; 
           [0026]      FIG. 9  shows a matrix CI jm  of the Tasks/Milestones (as resulting from Monte Carlo simulations) multiplied by the number of simulation iterations (index j identifies the risks, index m identifies the tasks/milestones); 
           [0027]      FIG. 10  shows a matrix RMSI jm  of the tasks/milestones as resulting from the Monte Carlo simulation; 
           [0028]      FIG. 11  shows the apparatus (with connection to risks/planning data) able to output matrix coefficients calculated by method subject-matter of invention (a task/milestones distributions and matrix coefficients are both visualized in order to have a exhaustive, fast and simple evaluation of temporal impact of risks on the projects); 
           [0029]      FIG. 12  presents an exemplary system diagram of various hardware components and other features, for use in accordance with aspects of the present invention; and 
           [0030]      FIG. 13  shows a block diagram of various exemplary system components, for use in accordance with aspects of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0031]    Aspects of the present invention relate to a system comprised of a computer and connections to a database containing risks data and a database with planning data. These databases can exchange data concerning the matching between risk and the related milestone which they impact directly. The system is able to manage risk/planning data in order to calculate and show a set of data (matrix of coefficients RMSI kjm  obtainable by the method, subject-matter of present invention) able to support the management of projects affected by risks in terms of risks priority intervention. 
         [0032]    Although two databases are specified, they can be sub-sets of a main project database. 
         [0033]    The system comprises code means suitable to carry out, when operating on a computer, the steps of the method subject-matter of the invention. 
         [0034]    The user interface of apparatus permits to hide (with a mouse selection) the rows/columns (risk or tasks/milestones) where the values of coefficients are less significant in order to obtain a sub-matrix where the focus is on task/milestone with greater shifting and which highlights the greater risks contributions. 
         [0035]    Interrogation of the system can be performed remotely by a client. The system calculates the matrix of coefficients and related output is sent to the client that has interrogated the system. 
         [0036]    Another aspect of the present invention relates to a method that, through the estimation of time progression of projects as a function of the associated risks, permits to evaluate the values of matrix coefficients, not obtainable through similar methods evaluating exclusively the time progression as mentioned above. 
         [0037]    The invention method is applicable both with reference to the time points of task end and the project milestones, meaning that:
       As project shifting, the shifting of the milestone associated to the closing of the project;   As shifting of a task T m , the shifting of the milestone associated to the end of the same task. The management of a project needs indicators that are synthetic and easy-to-read, in order to be able to effectively address actions aimed at allowing the fulfillment of the project objects, in terms of planned times and costs. Such indicators must be calculated according to an effective methodology.       
 
         [0040]    The algorithm according to the present invention allows to define, in presence of project risks and by utilizing consistent statistic data analysis models:
       an evaluation of the time shifting (probability distribution of possible shifts) of the project tasks/milestones with respect to a reference baseline planning;   a measurement of the risks time impact on the achieving of the project tasks/milestones, and in particular a matrix that:
           for each project task/milestone, it determines the contribution (weight) to its shifting that will be given by each risk;   for each risk identified in the project, it determines the tasks/milestones that will be most influenced by this risk, further ranking them according to this influence.   
               
 
         [0045]    The algorithm according to the invention is an algorithm that, when applied to a project or multi-project planning (as constituted by interlinked projects), allows to obtain, besides the prior art indexes, some innovative indexes that define the ranking of the riskiness concerning times, which cannot be obtained by using the traditional regression analysis or the classical methods (CPM—“Critical Path Method”/PERT—“Program Evaluation and Review Technique”). 
         [0046]    To this end, the algorithm receives as input the planning and risk data and processes them by a Monte Carlo simulation. 
         [0047]    The input and output data are the following:
       Input:
           Project GANTT (activities duration, priority constraints between activities, project milestones,   Risk Register (univocal identifier for the risks, occurring probability, probabilities distribution as a function of the time shifting of the occurred risk, technical task/milestone whereon the risks impacts). Once known the risk identifier, the impact task/milestone is univocally defined.   
           Output:
           S-curve, times of shifting of the reference time point of end task and project;   Project/Milestone achievement; traffic lights for Milestone and Gate (additional metrics applies to the S-curve on the times, which allow a relevant interpretation, not provided so far);   
           Task Schedule Sensitivity Index (this is already existing in literature), for the sake of easiness indicated as TSSI in the following;   Risk Task Sensitivity Index, for the sake of easiness indicated as RTSI in the following;   Risk Schedule Sensitivity Index, for the sake of easiness indicated as RSSI in the following;   Risk Milestone Sensitivity Index, for the sake of easiness indicated as RMSI in the following and the relevant matricial representation (IM Matrix);
 
the last three ones being innovative indexes aimed at ranking the riskiness on times. Concerning the analysis logic, the impact of each risk on the shifting of the project of a specific task/milestone is analyzed a logic that is structured in several steps.
       
 
         [0058]    The time shifting of a project is caused by the shifts of the single tasks that compose it. These, in turn, can shift (as shown in  FIG. 1 ) because of:
       A shifting of the single preceding tasks;   The possible risks directly impacting on them, causing a delay of the same.       
 
         [0061]    The concepts of “shift” and “delay” as referred to a generic task t, are different with respect to each other, as better illustrated in  FIG. 1 . 
         [0062]    On the basis of the foregoing, the analysis steps (logical and non-sequential) have been organized as follows:
       Step 1: determining the impact of the task shifting on the project shifting;       
 
         [0064]    Step 2: determining the impact of the delay associated to the risks of a task on its shifting; 
         [0065]    Step 3: determining the impact of the delay caused by the risks on the shifting of a project. 
         [0066]    This description mode is made to simplify the proceeding that is more precisely described further below, in order to have a more immediate understanding. 
         [0067]    For a similar reason, the mathematical notation is simplified in the following, referring to a detailed part of the description for a more precise formulation. 
       Step 1 
       [0068]    The object of Step 1 is to evaluate how much the shifting of a task impacts on the project shifting. 
         [0069]    Let us consider then the following prior art definitions:
       Project Critical Path (PC-P): it represents the path that conditions in a decisive way the achievement of the project objects (it is normally the longest path with respect to time). It is composed by those activities for which a delay cannot be compensated by the subsequent activities and, therefore, implies a definite variation of the end date of the whole project;   (time) Shifting: difference between the actual task end date (as calculated during a simulation iteration) and the task end date as indicated in the baseline planning;
 
Let us further define the following quantities:
   s t  (i): shifting of the task t in the iteration i;   s t : distribution of s t  (i) in the simulation, characterized by a standard deviation value σ t  that is proportional to the variation undergone by the task shifting during the simulation;   s p  (i): shifting of the project on the iteration i;   s p : distribution of s p  (i) in the simulation, characterised by a value σ p  that is proportional to the variation undergone by the project shifting during the simulation.       
 
         [0076]    An index that is already known in literature, the Task Schedule Sensitivity Index TSSI (for the t-th task) defined as: 
         [0000]    
       
         
           
             
               TSSI 
               t 
             
             = 
             
               
                 CI 
                 tp 
               
               · 
               
                 
                   σ 
                   t 
                 
                 
                   σ 
                   p 
                 
               
             
           
         
       
     
         [0000]    represents the contribution of the shifting of the end date of task t with respect to that of end project p. 
         [0077]    The coefficient CI tp  (which multiplies the ratio σ t /σ p ) takes into account the fact that the generic task influence the project shifting only when the same task finds itself on the project critical path. Such a coefficient, comprised between 0 and 1, corresponds to the number of iterations wherein the task (t) found on the project critical path (PC-P) with respect to the total number of iterations (n) and is known in literature with the name of Task Schedule Criticality Index CI tp  defined as in the following: 
         [0000]    
       
         
           
             
               CI 
               tp 
             
             = 
             
               
                 1 
                 n 
               
               · 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                   
                     α 
                     
                       t 
                       PC 
                     
                   
                    
                   
                     ( 
                     i 
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    wherein n is the number of iterations and α t     PC   (i)=1 if the task t, during i-th iteration of the Monte Carlo simulation, finds itself on the critical path, and 0 otherwise. 
         [0078]    In the following, even for other sensitivity coefficients, the CI notation will be used for the relevant critical state coefficient, which however will be calculated each time in a different way as indicated in the framework of the illustration of the formula. 
         [0079]    For a more precise notation, we make reference to the subject-matter and the claims of the invention. 
       Step 2 
       [0080]    The object of step 2 is to evaluate how much the variation of the delay associated to one or more risks of a generic task influences on the variation of the shifting of the same task. 
         [0081]    Let us define the following quantities:
       P j : probability that the risk j occurs, causing then a variation of the task duration;   r j (i): delay caused by risk j on task t in the iteration i. The delay causes a variation of the actual duration of the task at iteration i with respect to the initial duration (as indicated in the baseline planning);   s t  (i): shifting of the task t whereon risk j acts on the iteration i;   r j : distribution of r j (i) in the simulation, characterized by a standard deviation value σ j  that is proportional to the variation of the delay of the risk j on the generic task during the simulation;   s t : distribution of s t (i) in the simulation, characterised by a value σ t  that is proportional to the variation undergone by the shifting of the task t whereon the risk j acts during the simulation.       
 
         [0087]    As a consequence, the ratio σ j /σ t  provides the contribution of the delay of the j-th risk on the task shifting. 
         [0088]    By analogy with the previously introduced index (TSSI t ), we identify a new index, Risk Task Sensitivity Index RTSI (for the j-th risk) as defined as follows: 
         [0000]    
       
         
           
             
               RTSI 
               j 
             
             = 
             
               
                 CI 
                 jt 
               
               · 
               
                 
                   σ 
                   j 
                 
                 
                   σ 
                   t 
                 
               
             
           
         
       
     
         [0089]    It represents the impact of the variation of the delay on the generic task t (caused by risk j) on the variation of the shifting of the same task. The coefficient CI jt  takes into account that the generic risk j impacts on the task shifting only when this risk occurs. Such a coefficient, comprised between 0 and 1, corresponds to the number of iterations wherein risk j occurred with respect to the total iterations number (n). Let us call this new index (not previously given in literature) with the name of Risk Task Occurring Index CI jt  that is defined as follows: 
         [0000]    
       
         
           
             
               CI 
               jt 
             
             = 
             
               
                 1 
                 n 
               
               · 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                   
                     β 
                     
                       j 
                       t 
                     
                   
                    
                   
                     ( 
                     i 
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    Wherein n is the number of iterations and β j     t   (i)=1 if the risk j occurred, whilst it is equal to 0 if the risk j did not occur. 
       Step 3 
       [0090]    Since the shifting of a project depends on the shifting of the tasks which, in turn, are subjected to duration variation caused by relevant risks, by using the indexes previously defined one can find, according to the invention, a direct connection between the shifting of the project and the delay of the risks. 
         [0091]    Object of step 3 is indeed to evaluate how much the variation of the associated delay to one or more risks weights upon the variation of the duration of the project or, more in general, of the project milestones, utilizing the definitions given in the foregoing. 
         [0092]    In analogy with the steps 1 and 2, we identify a new index (not existing in literature) with the name of Risk Schedule Sensitivity Index RSSI (for the j-th risk), defined according to the invention as follows: 
         [0000]    
       
         
           
             
               RSSI 
               j 
             
             = 
             
               
                 CI 
                 jp 
               
               · 
               
                 
                   σ 
                   j 
                 
                 
                   σ 
                   p 
                 
               
             
           
         
       
     
         [0093]    This index provides the contribution of the delays associated to the risks on the project shifting, allowing to ranking them according to the value of the contribution. 
         [0094]    Thanks to the direct connection between the risks and the project shifting, this index allows to determine a priority among the risks as a function of their impact on the planning delay, to more effectively address suitable mitigation actions. 
         [0095]    The coefficient CI jp  takes into account the fact that, in the i-th iteration, the generic risk j does affects or not the project shift. Such a coefficient is in the range between 0 and 1 and corresponds to the number of iterations wherein the risk j occurred on the project critical path (PC-P) with respect to the total number of iterations (n). We call this new index (unknown in the prior art) with the name of Risk Schedule Criticality Index CI jp , which is defined as follows: 
         [0000]    
       
         
           
             
               CI 
               jp 
             
             = 
             
               
                 1 
                 n 
               
               · 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                   
                     γ 
                     
                       j 
                       PC 
                     
                   
                    
                   
                     ( 
                     i 
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    Wherein n is the number of iterations in the Monte Carlo simulation and γ j     PC   (i)=1 if risk j occurred on the project critical path during iteration i, 0 if risk j did not occur, or did but not on the project critical path. 
         [0096]    In particular, the coefficient γ j     PC   (i) takes into account the fact that, in the i-th iteration, the generic risk j affects the project shifting only when the same risk occurs on task t (β j     t   =1) and the last finds itself on the project critical path (α t     PC   =1). Hence, one has the following equation: 
         [0000]      γ j     PC   ( i )=β j     t   ( i )·α t     PC   ( i )
 
         [0000]    And therefore: 
         [0000]    
       
         
           
             
               CI 
               jp 
             
             = 
             
               
                 1 
                 n 
               
               · 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                   
                     
                       β 
                       
                         j 
                         t 
                       
                     
                      
                     
                       ( 
                       i 
                       ) 
                     
                   
                   · 
                   
                     
                       α 
                       
                         t 
                         PC 
                       
                     
                      
                     
                       ( 
                       i 
                       ) 
                     
                   
                 
               
             
           
         
       
     
         [0097]    In the end, in analogy with the foregoing, one can define the Risk Schedule Sensitivity Index which defines the connection between risks and project, meaning here for shifting of the project the shifting of the end milestone of the project. 
       Further Step 
       [0098]    Now, by generalizing the remarks made in the foregoing, one can apply the same concepts to the case of a generic project task/milestone. To do this, it is necessary to introduce the following definition of milestone critical path (PC-m), which represents the path that conditions in a decisive way the achievement of a specific task/milestone (that is normally the longest path in terms of time): it is composed by those activities for which a delay cannot be compensated with the subsequent activities and, therefore, causes certainly a nonzero variation of the date of the task/milestone. 
         [0099]    Therefore a new index can be defined (unknown in the prior art) which provides the contribution of the delays due to risks on the shifting of a specific milestone that is being monitored. We call Risk Milestone Sensitivity Index RMSI (for the j-th risk which affects the m-th milestone), defined as: 
         [0000]    
       
         
           
             
               RMSI 
               jm 
             
             = 
             
               
                 CI 
                 jm 
               
                
               
                 
                   σ 
                   j 
                 
                 
                   σ 
                   m 
                 
               
             
           
         
       
     
         [0000]    wherein: 
         [0000]    
       
         
           
             
               CI 
               jm 
             
             = 
             
               
                 1 
                 n 
               
               · 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                   
                     γ 
                     jm 
                   
                    
                   
                     ( 
                     i 
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    wherein n is the number of iterations, m counts the m-th milestone under observation, and γ jm (i)=1 if risk j did occur on critical path of the m-th milestone during the i-th iteration, 0 otherwise. 
         [0100]    This index allows determining a priority among risks as a function of their impact on the delay of the milestone to be controlled, to address more effectively the suitable mitigation actions. 
         [0101]    By using the indexes RMS jm , it is possible to construct, according to the invention, a matrix of Milestone Impact that is here called “IM Matrix” and is composed by M rows and J columns ( FIG. 3 ). This represents the impact of each risk (j) on each milestone (m) of the project. The matrix can be read:
       Horizontally, by living the information of the risks ranking with respect to the achieving of the milestone m,   Vertically, by providing the indication of the milestone mostly influenced by a risk j.       
 
       Application Example 
       [0104]    In the following, an example of realization of the invention on a generic project is illustrated, whose simplified planning is given in  FIG. 5 . 
         [0105]    In the example is considered, for the sake of simplicity and in a fictitious way, that each planning activity ends with a milestone. In such a way, in the matrix IM activities or milestones will be reported indifferently, without any generality loss. 
         [0106]    In this project one has assumed that one has a risks register formed by 9 generic risks that impact on as many project activities, according to a correspondence highlighted in  FIG. 6 . 
         [0107]    The parameters of the example are therefore the following:
       number of considered activities/milestones: M=20;   number of considered risks: J=9.       
 
         [0110]    With the above-mentioned input data a Monte Carlo simulation has been carried out, which allows to determine the project task/milestone probability density function associated to the risks effects. 
         [0111]    For the simulation, a number of iterations equal to 1000 has been set. 
         [0112]    From the integral of the probability density one obtains the cumulated probability called “Curve S” or “time risk profile” and reported in  FIG. 7  for some tasks/milestones of the project under examination. 
         [0113]    The S-curves represent the shifting (deriving from the occurring of the risks) of the date of the end of each task/milestone under observation with respect to the relevant baseline date. The values reported in the abscissas are expressed in working days starting from the planned date for the project start-off. The values in ordinates represent the probability to limit the shifting within the value reported in abscissa. 
         [0114]    From the curve, it is possible to determine:
   1. given a shift, the value of probability of non-exceeding such a shifting;   2. given a probability, the maximum shifting value associated to the probability.   
 
         [0117]    As an example, let us consider the risk profile relevant to the task “guarantee”, whose completion date is planned at τ 0 +600 working days. 
         [0118]    Once fixed a shifting of 100 working days, the probability that one will not exceed it is of 90%, whilst the maximum shifting associated to a probability of 40% is of 50 working days. 
         [0119]    In  FIG. 8  the above-described three indexes are reported and compared. In the column “Output on Task/Milestone vs Project” is reported the standard deviation of the tasks/milestones shifting and the associated “Task Schedule Sensitivity Index” (TSSI t ) which represents the impact of such a shifting on the variation of the final date on the project. In the column “Output on the Risks vs Tasks/Milestones” is reported the standard deviation of the delay of the risks and the “Risk Task Sensitivity Index” (RTSI j ) which represents their impact on the shifting of the task/milestone to which they are associated. Finally, in the column “Output on Risks vs Project” the “Risk Schedule Sensitivity Index” (RSSI j ) is reported, which represents the impact of the risks on the project end. By the comparison between the rankings of the indexes TSSI t  and RSSI j , one can derive that the weight that a risk has on the end of the project is different from the weight of the relevant task/milestone on the same project. 
         [0120]    In particular, the index RSSI j  allows to determine in a direct way the riskinesses that have a predominant effect on the project shifting, to the end of addressing the actions. In the example, the first three risks to which attention should be paid are id=7 (that acts on task  15 —whose RSSI j  value is the highest) and, when RSSI j  decreases, the id=2 (on task  5 ) and id=1 (on task  4 ). 
         [0121]      FIG. 9  reports, for the tasks and milestones, the coefficients CI jm  obtained by the above-described formula multiplied by the total number of iterations (1000). 
         [0122]    The obtained values indicate the number of times where the j-th risk occurred and the associated task found itself on the critical path (of the project or the tasks/milestones taken as reference and reported in the figure) during the simulation. 
         [0123]    In the case one takes a task and a relevant associated risk as a reference, the value that one will obtain is equal to the risk occurring probability multiplied by the total number of iterations. This because the risk will find itself on the critical path of the task to which is associated. 
         [0124]    In the example, the risk ID=3 has a value equal to 800 on task  7 , indeed the risk has a occurring probability equal to 80% and the considered iterations are equal to 1000. 
         [0125]    The case is different when one takes as a reference a task and observes the effect of the risks associated to predecessor tasks. In this case one has the combined effect of the risks delay and task shifting that cannot be determined in another manner by simple deductions or similar method. 
         [0126]    In this example, Task  7  and  8  have each an own risk associated (respectively ID  3  and ID  4 ). Furthermore, they are activities that are independent from each other, therefore in the simulation the risk ID=3 has a null value on Task  8  ( FIG. 9 ). Finally, note that the occurring of risk ID  3  provokes, in some simulation iterations, a variation of the project critical path between risk id=1 and task  8 . This can be deducted by observing the effect of risk ID  1  on the various tasks/milestones and in particular on task  8 . Indeed in the 400 iterations wherein risk ID  1  occurred, task  8  has found itself on the critical path only 247 times (value of C jm  in  FIG. 9 ). In the remaining 153 iterations (wherein the risk id=1 occurred), the effects of risk ID  3  caused a modification to the critical path. The critical path up to task  8  has changed excluding the task under consideration. The last does not come out to be critical, was not affected by the effect produced by the occurring of risk id=1. 
         [0127]    In  FIG. 10  the IM Matrix is reported, which contains the indexes RMSI jm , i.e. the weight of each risk on the various tasks/milestones. The “triangular” structure of the data confirms that the risks have an impact on the planning in relation to the sequence of activities that are present in the Gantt diagram. 
         [0128]    From a reading by rows of the IM matrix, it is possible to ranks the risks as a function of their impact on a specific milestone. 
         [0129]    In the example, the milestone  13  (FAT) is influenced by 6 risks (ID  1 - 6 ) and the risk that mainly impacts on the milestone is not ID  6 , i.e. the risk associated to the same milestone, rather risk ID  2  associated to milestone  5  (“Preliminary Design Review”). 
         [0130]    From a reading by columns of the IM matrix it is possible to evaluate the impact of a specific risk on the whole planning. 
         [0131]    The matrix coefficients output is not obtainable by similar method to evaluate projects temporal shifting. 
         [0132]    In the example, one can observe that each risk has a larger impact on the task/milestone to which is associated. More in general, one can affirm that the presence of more risks and/or the variability of the critical path in the simulation can entail a progressive reduction of such an impact for the subsequent tasks/milestones. 
       Formal Description of the Method Calculations 
       [0133]    According to a general aspect, the invention concerns a computer assisted method for estimating of the time shifting of the activities of one or more interlinked projects, due to the effect of risks associated to the activities, the computer comprising a data repository, and a display device, each project comprising:
       a set of tasks T 1 , T 2 , . . . T m  . . . , T P  linked by planning constraints, and having respective duration of D 1 , D 2 , . . . D m , . . . D P , where m and P are positive integer numbers satisfying a condition 1≦m≦P, a task T P  corresponding to an activity of project-end;   a planning reference baseline comprising: duration of the tasks, priority relation and time position of the tasks with respect to tasks being associated respective τ i0   1 , τ i0   2 , . . . τ i0   m  . . . τ i0   p  reference time instants of task start and the respective τ f0   1 , τ f0   2 , . . . τ f0   m  . . . τ f0   p  reference time instants of end task;   a set of tasks having null duration that are defined as milestone;   a tasks subset T 1 , T 2 , . . . T j  . . . , T J  with 1≦j≦J and 1≦J≦P, for each task T j  being associated K j  risks, each risk being indicated with R kj , with 1≦k≦K j  and k positive integer number;   a probability Π kj  of occurrence of each risk R kj ;   a probability distribution G kj  of the values of time delay induced on task T j  as a consequence of the occurrence of risk R kj ;
 
wherein each task and each risk are stored in the data repository, the method comprising:
 
A. performing a Monte Carlo simulation constituted by N interactions, with N being a positive integer, wherein at iteration i, with 1≦i≦N, the following steps are performed:
   A.1 calculating for each risk R kj  an associated duration variation δ i   kj  as a function of the occurrence probability Π kj  and distribution G kj ;   A.2 calculating the total duration variation associated to task T j  according to the formula:       
 
         [0000]    
       
         
           
             
               Δ 
                
               
                   
               
                
               
                 D 
                 i 
                 j 
               
             
             = 
             
               
                 ∑ 
                 
                   k 
                   = 
                   1 
                 
                 
                   K 
                   j 
                 
               
                
               
                 δ 
                 i 
                 kj 
               
             
           
         
       
       
         
           
             A.3 updating the baseline planning with the total duration variations associated to tasks T j , obtaining for each task T m :
           A.3.1 the reference time instants of start τi i   m  and end τf i   m  of the tasks;   A.3.2 the time shifting of the tasks ST i   m  as:   
         
           
         
       
     
         [0000]    
       
      
       ST 
       i 
       m 
       =f 
       i 
       m 
       −τf 
       0 
       m  
      
       
         
           
             
               
                 if T m  belongs to the set of tasks T j  then: 
               
             
           
         
       
     
         [0000]    
       
      
       ST 
       i 
       m 
       =ΔD 
       i 
       m 
       +SP 
       i 
       m  
      
       
         
           
             
               
                 otherwise: 
               
             
           
         
       
     
         [0000]    
       
      
       ST 
       i 
       m 
       =SP 
       i 
       m  
      
       
         
           
             
               
                 wherein SP i   m  represents the contribution to the time shifting of task T m  caused by the preceding tasks and is equal to: 
               
             
           
         
       
     
         [0000]    
       
      
       SP 
       i 
       m 
       =τi 
       i 
       m 
       −τi 
       0 
       m  
      
       
         
           
             A.4 calculating coefficients β kj (i) defined as: β kj (i)=1 if the risk R kj  occurred on the task T j  during iteration i, 0 otherwise; 
             A.5 calculating a project critical path PC-P(i); 
             A.6 calculating coefficients α m   PC-P (i) so defined: α m   PC-P (i)=1 if the task T m  finds itself on the project critical path PC-P(i) and 0 otherwise; 
             A.7 calculating coefficients γ kj   PC-P (i) so defined: 
           
         
       
     
         [0000]      γ kj   PC-P ( i )=β kj ( i )·α j   PC-P ( i )
       wherein γ kj   PC-P (i)=1 if the risk R kj  occurs on the project critical path PC-P(i) at the iteration i, and 0 otherwise;   A.8 calculating for each task T m  the critical path PC-m(i) for an achieving of an end, as defined with the time instant τf i   m , of the task T m ;   A.9 calculating coefficients α m   PC-m (i) defined as: α m   PC-m (i)=1 if the task T m  finds itself on the critical path PC-m(i) and 0 otherwise;   A.10 calculating the coefficients γ kj   PC-m (i) defined as:       
 
         [0000]      γ kj   PC-m ( i )=β kj ( i )·α j   PC-m ( i )
 
         [0000]    wherein γ kj   PC-m (i)=1 if the risk R kj  occurs on the critical path for the achieving of the end of the task T m  and 0 otherwise;
 
B. at the end of the N iterations of the Monte Carlo simulation of step A, the performing of the following steps:
       B.1 extracting the probability distribution and the cumulated probability distribution, that is called “S-curve”, of the shifting of the end time instant of the project ST P  with respect to the reference baseline τf 0   P  starting from the N values ST i   P , being the distributions characterised by a σ(ST P ) standard deviation;   B.2 extracting the probability distribution and the cumulated probability distribution, that is called “S-curve”, of the time shifting of each one of the tasks T m  with respect to the reference baseline τf 0   m  starting from the N values ST i   m , being the distribution characterised by a σ(ST m ) standard deviation.       
 
         [0158]    Once extracted the above probability distributions, one can perform the following step:
       B.3 calculating the values of the index RTSI kj  of sensitivity to delay task T j  as caused by risk R kj , defined as follows:       
 
         [0000]      RTSI kj =CI kj ·(σ(δ kj )/σ( ST   j ))
       wherein CI kj , comprised between 0 and 1, is the occurrence coefficient of the risk R kj  defined as:       
 
         [0000]        CI   kj =(1 /N )·Σ N   i=1 β kj ( i ).
 
         [0161]    Similarly, one can perform the following steps:
       B.4 calculating the values of the index TSSI m  of sensitivity of planning to shift task T m , defined as:       
 
         [0000]      TSSI m   =CI   mP ·(σ( ST   m )/σ( ST   P ))
       wherein CI mP , comprised between 0 and 1, is the coefficient of belonging of task T m  to the project critical path, defined as:       
 
         [0000]        CI   mP =(1 /N )·Σ N   i=1 α m   PC-P ( i )
       B.5 calculating the standard deviation σ(δ kj ) of the probability distribution of the risk R kj , starting from the N values δ i   kj .       
 
         [0165]    According to a specific aspect of the invention, one can perform the following step:
       B.6 calculating the values of the index RSSI kj  of the sensitivity of the planning to the delay caused by each risk R kj , that is defined as follows:       
 
         [0000]      RSSI kj   =CI   kjP ·(σ(δ kj )/σ( ST   P ))
       wherein CI kjP , comprised between 0 and 1, is the occurrence coefficient of the risk R kj  on the project critical path, so defined:       
 
         [0000]        CI   kjP =(1 /N )·Σ N   i=1 γ kj   PC-P ( i )
 
         [0168]    According to another specific aspect of the invention, one can perform the following step:
       B.7 calculating the values of the index RMSI kjm  of sensitivity of the shifting of a generic task T m  to the delay caused by the risk R kj , as follows:       
 
         [0000]      RMSI kjm   =CI   kjm ·(σ(δ kj )/σ( ST   m ))
       wherein CI kjm , having a value between 0 and 1, is the occurrence coefficient of the risk R kj  on the critical path for the achieving of the end of the task T m , so defined:       
 
         [0000]        CI   kjm =(1 /N )·Σ N   1=1 γ kj   PC-m ( i ).
 
         [0171]    After the calculation of the above index/indices, according to the method, the index/indices values are stored in the data repository. 
         [0172]    From this repository, such data can be extracted and displayed on the display device. 
         [0173]    Moreover, a progression of the index/indices values over time can be extracted and visualized on the display device. In accordance with an aspect of the invention:
       the project shifting is intended as the shifting of the milestone associated to the closing of the project;   the shifting of the task T m  is intended as the shifting of the milestone associated to the end of the same task;   the index:       
 
         [0000]      RTSI kj   =CI   kj ·(σ(δ kj )/σ( ST   j ))
       is intended as the index of sensitivity of the milestone of the end of task T j  to the delay caused by the risk R kj .       
 
         [0178]    In accordance to another aspect of the invention:
       the project shifting is intended as the shifting of the milestone associated to the end of the project;   the shifting of a task T m  is intended as the shifting of the milestone associated to the end of the same task;   the index:       
 
         [0000]      TSSI m   =CI   mP ·(σ( ST   m )/σ( ST   P ))
       is intended as the index of sensitivity of the milestone of project end to the shifting of the milestone of the end of the task T m ; and   the index:       
 
         [0000]      RSSI kj   =CI   kjP ·(σ(δ kj )/σ( ST   P ))
       is intended as index of sensitivity of the milestone of the project end to the delay caused by a risk R kj .       
 
         [0185]    In accordance to another aspect of the invention:
       the project shifting is intended as the shifting of the milestone associated to the project end;   the shifting of a task T m  is intended as the shifting of the milestone associated to the end of the same task;   the index:       
 
         [0000]      RMSI kjm   =CI   kjm ·(σ(δ kj )/σ( ST   m ))
 
         [0000]    is intended as index of sensitivity of the milestone of the end of the task T m  to the delay caused by a risk R kj . 
       Method Implementation and System Architecture 
       [0189]      FIG. 11  shows the system architecture for an exemplary implementation of the invention method, comprising a computer connected to two different databases, one for the risks and the other for the activities/tasks. The value of the new coefficients is calculated by the method, which is one of the objects of the disclosure, that uses the values in the two databases, and so that the user can have an immediate understanding of the project risk priority so that these coefficients represent the evolution of the database content. The new coefficients can be stored in a third database for each recalculation step, so that the coefficients&#39; progression over time can be extracted and visualized to analyze the influence over time of the risks on the tasks. 
         [0190]    Hence, such an apparatus allows the user to speed up the meta-analysis process of the databases&#39; content, which traditionally takes a long time and significant calculation resources. 
         [0191]    The apparatus according to the invention can be implemented in a client/server architecture, which is effective for management of inter-linked projects, since:
       at least a client computer can be provided for each project, by which users can update data relating to activities and risks concerning that project;   a server can update the two databases according to a pre-defined set of rules;   the server can further store in a memory pre-defined index values connecting the content of the two databases (activities and risks), so that   each client can access this memory or download the relevant information (index values) to analyze the result of the updating by all the clients up to a given time instant, without downloading the whole content of the databases or navigate through them, occupying the connection between client and server;   the server can store the history of the index values along time in a specific, third database, so that a client can extract only from this database information about the variation of such values along time.       
 
         [0197]    The index values are specific to risks and activities as above described. The index values are the values arranged in the matrix of coefficients RMSI obtainable by the invention method. 
         [0198]    The system/method described in accordance with the present disclosure could provide, to draw an analogy between this method and the method presented in the above-mentioned document US 2004138897 A1, the link between the drivers and the effect on the project, thus providing a priority scale of the risk drivers or causes such that suggests the best intervention on the drivers or causes, according to the priority scale, to reduce the execution risk. The method of aspects of the present invention obtains different information from the document US 2004138897 A1, where only effects are evaluated in a iterative manner. Indeed this last document does not provide any indication on the manner in which the drivers have to be managed. 
         [0199]    With respect to above-mentioned document WO2006138141, the method described in the present document permit to obtain a link with each risk and each task/milestone so that the impact of each risk can be individually assessed and distinguished from other risks that may impact on the same task. Particularly, each row of Matrix coefficients represents the project risk priority for each task/milestone. 
         [0200]    By the traditional methods, the two databases would have no inter-linking information, and therefore the meta-analysis would require a novel calculation by the server even without updating of the same databases. The access to the information about the interaction and evolution of the two databases would have been impossible. 
         [0201]    An exemplary implementation is suitable to be used with mobile phones, since the computational load of the server (that can be even a smart phone or handheld computer with mobile connection) is not high and the data to be exchange is limited. The index values can be visualized as a matrix on the handheld and values below a user-defined threshold can be prevented from being visualized, together with rows and columns that have no values allowed for visualization, so that only a sub-matrix is visualized on the handheld screen. This is in particularly suitable to be implemented via SMS communications. 
         [0202]    The latter visualization method can of course be used even with a standard PC screen, since the analysis of the situation of the interdependent evolution of the databases is immediately clear. 
         [0203]    With the method according to the invention, one can evaluate the time progression of projects with reference to risk contribution associated with events that can occur causing the project phases shifting. 
         [0204]    Even a small enterprise of services that manages projects for clients can easily update and manage the evolution of the activities of the project, directly at the clients&#39; sites. 
         [0205]    In some variations, aspects of the preent invention may be directed toward one or more computer systems capable of carrying out the functionality described herein. An example of such a computer system  200  is shown in  FIG. 12 . 
         [0206]    Computer system  200  includes one or more processors, such as processor  204 . The processor  204  is connected to a communication infrastructure  206  (e.g., a communications bus, cross-over bar, or network). Various software aspects are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures. 
         [0207]    Computer system  200  can include a display interface  202  that forwards graphics, text, and other data from the communication infrastructure  206  (or from a frame buffer not shown) for display on a display unit  230 . Computer system  200  also includes a main memory  208 , preferably random access memory (RAM), and may also include a secondary memory  210 . The secondary memory  210  may include, for example, a hard disk drive  212  and/or a removable storage drive  214 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive  214  reads from and/or writes to a removable storage unit  218  in a well-known manner. Removable storage unit  218 , represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive  214 . As will be appreciated, the removable storage unit  218  includes a computer usable storage medium having stored therein computer software and/or data. 
         [0208]    In alternative aspects, secondary memory  210  may include other similar devices for allowing computer programs or other instructions to be loaded into computer system  200 . Such devices may include, for example, a removable storage unit  222  and an interface  220 . Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units  222  and interfaces  220 , which allow software and data to be transferred from the removable storage unit  222  to computer system  200 . 
         [0209]    Computer system  200  may also include a communications interface  224 . Communications interface  224  allows software and data to be transferred between computer system  200  and external devices. Examples of communications interface  224  may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface  224  are in the form of signals  228 , which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface  224 . These signals  228  are provided to communications interface  224  via a communications path (e.g., channel)  226 . This path  226  carries signals  228  and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels. In this document, the terms “computer program medium” and “computer usable medium” are used to refer generally to media such as a removable storage drive  214 , a hard disk installed in hard disk drive  212 , and signals  228 . These computer program products provide software to the computer system  200 . The invention is directed to such computer program products. 
         [0210]    Computer programs (also referred to as computer control logic) are stored in main memory  208  and/or secondary memory  210 . Computer programs may also be received via communications interface  224 . Such computer programs, when executed, enable the computer system  200  to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor  210  to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system  200 . 
         [0211]    In an aspect where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system  200  using removable storage drive  214 , hard drive  212 , or communications interface  220 . The control logic (software), when executed by the processor  204 , causes the processor  204  to perform the functions of the invention as described herein. In another aspect, the invention is implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). 
         [0212]    In yet another aspect, the invention is implemented using a combination of both hardware and software. 
         [0213]      FIG. 13  shows a communication system  300  involving use of various features in accordance with aspects of the present invention. The communication system  300  includes one or more assessors  360 ,  362  (also referred to interchangeably herein as one or more “users”) and one or more terminals  342 ,  366  accessible by the one or more accessors  360 ,  362 . In one aspect, operations in accordance with aspects of the present invention is, for example, input and/or accessed by an accessor  360  via terminal  342 , such as personal computers (PCs), minicomputers, mainframe computers, microcomputers, telephonic devices, or wireless devices, such as personal digital assistants (“PDAs”) or a hand-held wireless devices coupled to a remote device  343 , such as a server, PC, minicomputer, mainframe computer, microcomputer, or other device having a processor and a repository for data and/or connection to a repository for data, via, for example, a network  344 , such as the Internet or an intranet, and couplings  345 ,  364 . The couplings  345 ,  364  include, for example, wied, wireless, or fiber optic links. In another aspect, the method and system of the present invention operate in a stand-alone environment, such as on a single terminal. 
         [0214]    Aspects of the present invention have been above described and some modifications of this invention have been suggested, but it should be understood that those skilled in the art can make variations and changes, without so departing from the related scope of protection, as defined by the following claims.