For a more complete understanding of the present invention and the advantage thereof, reference is now made to the following description taken in conjunction with the accompanying drawings.
By using the below-described model and the given input information, the change impact computing unit 2 computes an impact (a change impact) which a change in one piece of design information makes on a process of creating another piece of design information. The computed change impact is outputted from the output unit 3 for a user or to another system. The output unit 3 may be a usual CRT, a usual liquid crystal display apparatus, a storage device such as a hard disk, or a communication apparatus connected to an external system.
If the determination result is No in step S2, the change impact computing unit 2 determines, as an impact result, each change impact of influenced pieces of design information and the total sum of the change impacts, and terminates the processing.
In the present invention, it is assumed that a change in a first piece of information referred to by a second piece of information makes the change impact on the work time period (or the work amount) for a task creating the second piece of information, and that the change impact largely depends on “the work amount carried out by referring to the first piece of information.” On this assumption, the change impact on the referring second piece of information is defined as “the rework amount occurring because a part of (or all of) the task carried out by referring to the first piece of information becomes useless due to the change in the referred first piece of information.” As important information for estimating the rework amount determined herein, the present invention focuses on “the work amount carried out after referring to information,” that is, “the progress of a task carried out after a reference timing.” This is considered important especially in a case, such as collaborative development, where information is exchanged at an arbitrary unpredictable timing. Thus, the present invention proposes a model based on a consideration of “the progress of a task after a reference timing.”
This model makes it possible to make a change impact analysis in collaborative development or the like, though the conventional techniques have a difficulty in dealing with such a change impact analysis. Here, the model will be explained on the assumption that various inputs of information such as dependencies among pieces of design information are already obtained, the inputs being necessary requirements for this model. Then, in a later-described section, a method for obtaining them will be described. Obtaining the input information by using the method (at the timing) described in the latter section makes it possible to reduce user's manual work for input in a change impact analysis.
Here, estimated is the rework amount that must be carried out for design information D1, caused by the change in design information D0 (this estimation is one object of the present invention). The actual rework amount is expressed as f (r0, c01)·w1, where f denotes a function for computing a ratio (rework ratio) of the required rework amount to the total work amount w1 after making a reference, by using inputs of the change request input r0 and the dependency level c01 (or other arbitrary information).
As described above, in this model, the rework ratio is computed by using the change request input, the dependency level in a reference relationship, and other arbitrary information, and then the rework amount occurring due to the change impact is estimated as a product of the computed rework ratio and the work amount after establishing a reference relationship. Here, appropriate adjustment of these inputs and the rework ratio computation function makes it possible to make a change impact analysis regardless of the content of design information.
In the present invention, user input is reduced by obtaining many of the inputs needed for computing the foregoing rework amount, from information obtained during a runtime of the process. At least four kinds of inputs of “the dependency between pieces of design information,” “the work amount after making a reference,” “a change request input” and “the dependency level” are needed in order to estimate the change impact by using the model in the previous section. Among these inputs, specific methods for obtaining “the dependency between pieces of design information” and “the work amount after making a reference” will be explained in a later-described embodiment. To be more precise, “the dependency level” is concurrently obtained when various kinds of information are obtained during a runtime of a process, and thereby the change impact analysis can be achieved only by receiving “the change request input” as a user input.
If the change impact analysis is achieved at extremely low costs as described above, application of the change impact analysis to all pieces of design information makes it possible to carry out a risk analysis, for instance, for identifying which piece of design information makes a high impact on an entire project when the piece of design information is changed.
In a first embodiment, descriptions will be provided for an example in which the model defined in the section <Model Based on Consideration of Progress of Task after Reference Timing> (hereinafter, referred to as the basic model) is extended by employing a probability technique.
In the basic model, the rework ratio computation function f outputs a probability density function instead of a constant number. More specifically, the function f outputs the function indicating the probability density distribution by expressing a rework ratio as a probability variable. In this way, probability behavior of an error or the like in an estimated value and the model can be expressed.
A second embodiment suggests an example in which the basic model is able to deal with an indirect (secondary) change impact as is the case with the conventional techniques. Here, “an indirect change impact” indicates a rework occurring in a process of creating a third piece of design information that is also changed due to the change impact of a second piece of design information changed due to the change impact of a first piece of design information. In this case, there is no input value of a change request input for the third piece of design information that is indirectly influenced. Accordingly, the input value is computed by using an estimated impact on the second piece of design information that the third piece of design information directly refers to.
Moreover, when a change impact computed in the foregoing way is simply added to the work amount of each process, tasks in the respective processes to deal with the change is modeled so that the tasks would be concurrently performed upon notification of the change. On the other hand, when a second piece of design information is modified after the completion of a change in a first piece of design information that the second piece of design information refers to, it is considered that a waiting time occurs in the actual process. In consideration of this waiting time, the rework amount in the second process of creating the second piece of design information can be obtained by adding, to the work time period of the second process, the rework amount (including the waiting time) occurring in the first process of creating the first piece of design information that the second piece of design information refers to. Furthermore, there is also a case, such as parallel development, where, without waiting for completion of a change in a first piece of design information that a second piece of design information refers to, a task is started, to deal with the change in a process of creating the second piece of design information. In this case, a change impact is computed in the model without consideration of a waiting time, while a change impact is computed in consideration of a waiting time in a case where the waiting time occurs.
In the foregoing descriptions of the basic model, several formulation methods for a rework ratio computation function and the like are not described specifically. Accordingly, a third embodiment shows an example of the definitions of the change request input, the dependency level, and a formulation method of the rework ratio computation function.
Firstly, suppose that design information D1 is created by referring to design information D0 as shown in
A concept of this model will be explained bellow. Firstly, the change scale r0 of the design information D0 is determined by a change request. Thereby, the task of the work amount r0·w0 must be carried out again (that is, reworked) in the process 0. At this point, an information amount referred to by the design information D1 is only an information amount created in a work w0′ of the total work carried out in the process 0. Here, in order to estimate the impact on the design information D1 (a caused rework amount) due to a change in the design information D0, it is necessary to identify how much amount of the work w0′ is to be reworked, that is, how much amount of the design information D0 created in the work w0′ becomes useless.
However, it is difficult to precisely estimate this amount at a work site. For this reason, here assume that the entire work amount used for creating the design information D0 in the process 0 becomes useless uniformly at any timing. On this assumption, it is possible to consider that the work amount r0·w0′ becomes useless in the work amount w0′ in the process 0 of creating the design information D0 to which the design information D1 refers. Here, the dependency level c01 indicates a ratio of the work amount required for creating the design information D1 that is dependent on the design information D0, to the total work amount required for creating the design information D1, in the process 1. Moreover, only the information amount proportional to r0 becomes useless in the design information D0 to which the design information D1 refers. Consequently, it can be considered that only the work amount r0·c01·w1 becomes useless in the work amount w1 carried out for creating the design information D1 in the process 1.
A fourth embodiment shows how to formulate the basic model in a case where the formulation example described in the third embodiment (referred to as the formulation example of the basic model, below) handles secondary change propagation described in the second embodiment.
A fifth embodiment shows an example in which the formulation example of the basic model is extended by employing the probability technique described in the first embodiment. As described in the following embodiment, there is a case where not only the change request input but also the dependency level are obtained by receiving user inputs. In this case, a value of the dependency level may possibly include an error. For this reason, for example, instead of a constant number, a probability density function is employed for the dependency level, where its probability variable indicates the dependency level. This function is determined on the basis of a user input and characteristics of the user. As one example of this probability density function, a normal distribution may be employed, which uses an input value as a mean, and which uses, as dispersion, a value computed from a skill level of the user, a past error in a value estimated by the user, and the like. A possible example is as follows. In a resource management system, data indicating information on estimation accuracy of an engineer is stored in advance as a value of the dispersion in the foregoing normal distribution. Then, the information on the estimation accuracy of the engineer is automatically obtained from the information of the engineer who inputs the dependency level, and the distribution is determined. The rework ratio (or amount) thus calculated is provided as a probability, which therefore can be analytically incorporated into a schedule estimation stochastically defined.
A sixth embodiment shows a specific method for obtaining input information needed for achieving the present invention as described in the section entitled “Method for Obtaining Input Information for Reducing User inputs in Change Impact Analysis”.
Firstly, a person in charge of a process registers and updates in a system a request for a piece of information that he or she needs (an information request), and concurrently registers and updates in the system a piece of information that he or she creates (an information disclosure). Dependency between the pieces of design information can be formulated by matching the information request and information disclosure. Moreover, it is also possible to obtain the maturity level of each piece of the design information at an arbitrary point in time, by obtaining information on the maturity level of the information (the progress of a task) from another event, or from an input by the person in change of the process at a time of the information disclosure (here, an update of already-disclosed information is also called the information disclosure).
The change impact analysis of the present invention requires at least four kinds of inputs, “the dependency between pieces of design information,” “the work amount after making a reference,” “the change request input” and “the dependency level.” Among these, “the dependency between pieces of design information” and “the work amount after making a reference” can be obtained by building a task management system that will be described by referring to
A request receiving section 410 receives a request from a designer of a first design process, and the request asks for process information needed for staring this first design process. A request display section 420 displays the received request to show to other designers. From any one of the other designers, a reply receiving section 430 receives a reply indicating a piece of the identification information of the requested one among pieces of the process information that the other designers respectively create in his/her design processes.
In response to a reception of the reply which is the piece of the identification information of the process information, a flow generation section 440 generates dependency information indicating that the first design process depends on the design process creating the requested process information via the requested process information.
A dependency storage section 460 generates process flow information indicating dependencies among a plurality of design processes constituting a product development project by using the processing of the flow generation section 440. A user storage section 470 stores the names and tasks of the respective designers in association with identification information of the designers. From any one of designer's terminals 30-1 to 30-N, a notification section 480 receives a notification indicating that process information in a certain design process is completed. Then, the notification section 480 detects the design process of creating process information depending on the completed and notified process information, and notifies a designer in charge of the detected design process that a requirement for starting the design process is satisfied. The designer in charge of the detected design process can be identified by referring to the user storage section 470.
A process managing section 490 further divides an already-stored design process, or creates a new design process so that the process to corresponds to a requested information item. This division or creation of the process is based on information on the requested information item, including both the maturity level and the planned offering date stored in the information storage section 450, and the maturity level and the desired offering date requested from the request receiving section 410. Then, the process managing section 490 stores the divided or newly created design processes in the information storage section 450. On a display of a manager's terminal 20, a process display section 495 displays the dependency and attribute of each of the design processes based on various kinds of information stored in the information storage section 450, the dependency storage section 460 and the user storage section 470.
“The dependency between pieces of design information” can be obtained by using such a task management system.
“The work amount after making a reference” can be obtained by using a difference between the maturity level at the time of reference, and the maturity level at the time of change impact estimation. In some cases such as a case where the maturity level is defined only as having discrete coarse levels, it also suffices to obtain the work amount by determining the progress of a task in proportion to an elapsed time after the reference timing. “The change request input” is obtained by receiving a user input when a change impact analysis is made.
As for “the dependency level,” there are several possible methods including a method of obtaining it from an input by a user who uses the information, a method of obtaining it from data or the like which have been accumulated in past times, and a method of using these two in combination.
In addition, a value of the dependency level may possibly be constrained in a case where various kinds of parameters in the present invention are specifically set. In a case where a certain piece of design information refers to a plurality of pieces of design information in the formulation example of the basic mode, it is necessary to set each value of the dependency level so that the sum of all the dependency levels, at which the certain piece refers respectively to the plurality of pieces of design information, is equal to or smaller than 1.
Instead of the method of causing a user to make such an input, it is possible to employ the possible method in a case where an estimation can be made on the dependency level at which a certain kind of design information depends on another kind of design information, by using information accumulated in past times. In this case, the estimated dependency level can be provided as a default value, or the dependency level can be computed by using the estimated values without receiving an input by a user.
Alternatively, when a requested piece of design information is already registered in the system at the timing of requesting the piece of the design information, it is possible to see the maturity level of the requested piece of the design information. Here, for example, assume that, when the maturity level of the piece of design information to be referred to is low (that is, the piece of the design information is highly likely to be changed) a design process is not progressed in a way largely depending on the piece of the design information. On this assumption, the dependency level can be computed by using the size and maturity level of the design information to be referred to, and the computed dependency level may be provided as a default value. This can be achieved, for example, by using a method in which the dependency level is defined in advance so as to correspond to each of the stepwise maturity levels defined for each piece of the design information. Moreover, this technique can be utilized as an additional service incorporated into the system, in which an alert is issued when a piece of design information with a low maturity level is to be referred to at a high dependency level, for instance.
Obtaining an input as described above eliminates the necessity of many user inputs every time a change impact analysis is made, and allows costs needed for the analysis to be reduced.
An amplifier circuit 1032 and a speaker 1034 are connected to the sound processor 1030. Moreover, a display device 1022 is connected to the graphic controller 1020.
The BIOS 1060 stores programs such as a boot program executed by the CPU 1010 at a startup time of the information processing apparatus 1000 and a program depending on hardware of the information processing apparatus 1000. The FD (flexible disk) drive 1072 reads a program or data from a flexible disk 1071, and provides the read-out program or data to the main memory 1050 or the hard disk 1074 via the I/O controller 1070.
A DVD-ROM drive, a CD-ROM drive, a DVD-RAM drive or a CD-RAM drive can be used as the optical disc drive 1076, for example. In this case, an optical disc 1077 compliant with each of the drives needs to be used. The optical disc drive 1076 can read a program or data from the optical disc 1077, and can also provide the read-out program or data to the main memory 1050 or the hard disk 1074 via the I/O controller 1070.
A computer program provided to the information processing apparatus 1000 is stored in a storage medium such as the flexible disk 1071, the optical disc 1077 or a memory card, and thus is provided by a user. This computer program is read from any of the storage media via the I/O controller 1070, or downloaded via the communication I/F 1040. Then, the computer program is installed on the information processing apparatus 1000, and then executed. An operation that the computer program causes the information processing apparatus 1000 to execute is the same as the operation in the foregoing apparatus, and the description thereof is omitted here.
The foregoing computer program may be stored in an external storage medium. In addition to the flexible disk 1071, the optical disc 1077 or the memory card, a magnet-optical storage medium such as an MD and a tape medium can be used as the storage medium. Alternatively, the computer program may be provided to the information processing apparatus 1000 via a communication line, by using, as a storage medium, a storage device such as a hard disk or an optical disc library provided in a server system connected to a private communication line or the Internet.
The foregoing example mainly explains of the information processing apparatus 1000. However, it is possible to achieve the same functions as those of the foregoing information processing apparatus 1000 by installing a program having the same functions on a computer, and then by causing the computer to operate as the information processing apparatus 1000. Accordingly, the information processing apparatus 1000 described as the embodiment can be achieved by using the foregoing method and a computer program of implementing the method.
The apparatus of the present invention can be achieved by employing hardware, software or a combination of hardware and software. In a case of implementation using a combination of hardware and software, a typical example is implementation of a computer system including a certain program. In this case, the certain program is loaded to the computer system and then executed, thereby the certain program causing the computer system to execute processing according to the present invention. This program is composed of a group of instructions each of which an arbitrary language, code or expression can express. In accordance with such a group of instructions, the system can directly execute specific functions, or can execute the specific functions after either/both (1) converting the language, code or expression into another one, or/and (2) copying the instructions into another medium. As a matter of course, the scope of the present invention includes not only such a program itself, but also a program product including a medium in which such a program is stored. A program for implementing the functions of the present invention can be stored in an arbitrary computer readable medium such as a flexible disk, an MO, a CD-ROM, a DVD, a hard disk device, a ROM, an MRAM and a RAM. In order to store the program in a computer readable medium, the program can be downloaded from another computer system connected to the system via a communication line, or can be copied from another medium. Moreover, the program can be compressed to be stored in a single storage medium, or be divided into more than one piece to be stored in more than one storage medium.
Heretofore, a change impact analysis has been achieved only by using a method requiring a large amount of time and cost, such as a method using an interview with a person in charge of each task. However, according to the present invention, it is possible to achieve a low-cost and semi-automatic change impact analysis in a general development project and a project, such as an automobile development project, heavily using parallel development. Moreover, application of the method of the present invention makes it possible to improve efficiency in change management that is indispensable to project management, and to achieve an analysis on risk associated with a state where a design is not fixed.
Finally, descriptions will be provided for a case where the foregoing method of the present invention is applied to an actual project management. Firstly, parameters needed for an analysis are extracted at a runtime of the project in a task management system as shown in
In addition, in a case where a risk analysis of a project is desired to be made during a runtime of the project, application of the method of the present invention makes it possible to automatically obtain information such as one indicating which piece of design information would make a high impact if changed. For example, a change impact is estimated for every piece of design information by using a certain fixed change scale as an input. Thereby, it is possible to identify which piece of design information would make a high impact on the entire project if changed, and thereby to take various kinds of countermeasures based on the identified result.
Furthermore, in a case where a log of a past project as described above is available, use of the method of the present invention allows obtaining information indicating what kind of change in design information made a high impact on the entire project in the past. Such information can be used for a resource planning for a new similar project.
The proposed conventional techniques include: the method for estimating a change impact by using formats of artifacts; and the method for estimating the change impact on the basis of information on a similar process in the past, and of information on predefined dependency between processes. However, there has not been a method in which information and the like are obtained at a timing when a dependency actually occurs during a runtime of a process, and in which then a change impact is estimated in consideration of the work amount carried out after the occurrence of the dependency (that is, the work amount carried out on the basis of the referred information), as is the case with the method of the present invention.
Although the embodiments of the present invention have been described hereinabove, the present invention is not limited to the foregoing embodiments and the effects described in the embodiments are only examples and are not limited to those described in the embodiments or examples of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2006-213821 | Aug 2006 | JP | national |