This application claims priority from Japanese Patent Application No. 2022-82065 filed on May 19, 2022, the content of which is hereby incorporated by reference into this application.
The present invention relates to a man-hour input plan generation system and more particularly to a technology of predicting the total man-hour effort and the quality of a project.
In a software development project, a project planner plans, in advance, a man-hour effort to be input to the project. Ideally, the quality of a product is increased by inputting a sufficient man-hour effort, a rework man-hour effort decreases, and hence, the total man-hour effort can consequently be suppressed. However, a human resource of an organization is actually limited, and hence, there, is a case in which a sufficient man-hour effort cannot be input. In this case, the project planner is required to set a man-hour input plan which satisfies the quality and the total man-hour effort which are allowed to be compromised within a range of the human resource of the organization. Thus, the project planner predicts the quality and the total man-hour effort from the man-hour input plan set within the human resource of the organization and determines whether or not the predicted quality and total man-hour effort can be compromised. When they cannot be compromised, the project planner again sets the man-hour input plan within the human resource of the organization, predicts the quality and the total man-hour effort, and determines whether or not the predicted quality and total man-hour effort can be compromised. Until the predicted result of the quality and the total man-hour effort become ones which can be compromised, this work is repeated.
As background art in the field of the present technology, there is the following prior art. In Patent Document 1 (Japanese Patent Laid-Open No. 2011-170496), there is described a work plan support device for plant, the work plan support device supporting plan creation for construction work or update work for a plant including a plurality of components to be installed in a construction area. The work plan support device includes database means which accumulates a plurality of pieces of performance data on work executed in the past, input means which inputs a type and a work portion of a work target which is the same as or similar to planned work, performance data extraction means which extracts, from the database means, the performance data on the past work corresponding to the type and the work portion of the work target input by the input means, and plan creation means which uses the performance data extracted by the performance data extraction means to create a process plan table to which a work content of the planned work and a time series sequence thereof are set.
In Patent Document 1, the total man-hour effort of new work is predicted on the basis of the performance data on the work executed past, thereby creating the process plan table. However, when this is applied to a software development project, there is room for increasing a prediction accuracy of the total man-hour effort. This is because, in the software development project, an amount of bugs subsequently mixed in can be suppressed by inputting a large amount of man-hour effort on an upstream process such as demand analysis and base design, the number of times of rework can hence be suppressed in a subsequent process, and the total man-hour effort can consequently be reduced. That is, a time-series man-hour input amount which associates the man-hour input amount and the input time thereof with each other affects the total man-hour effort, but, in Patent Document 1, the total man-hour effort is not predicted through use of the time-series man-hour input amount, and hence, there is room for increasing the accuracy in this respect.
In view of the above-mentioned problem, according to the present invention, a time-series man-hour input amount which associates a man-hour input amount and an input time thereof with each other is received as input, and at least one of the total man-hour effort and the quality is predicted through use of the time-series man-hour input amount.
A representative example of the invention disclosed in the present application is described as follows. That is, such a representative example is a man-hour input plan generation system provided with a calculation device that executes predetermined calculation processing and a storage device which has a program stored therein and is connected to the calculation device, the man-hour input plan generation system including an input section in which the calculation device receives input of a man-hour input plan directed to a project, an analysis section in which the calculation device analyzes the input man-hour input plan input from the calculation device, and an output section in which the calculation device outputs an analysis result obtained by the analysis section, in which the input section receives input of, as the man-hour input plan, time series data associating a man-hour input amount and an input time with each other.
According to the one aspect of the present invention, the prediction accuracy of the total man-hour effort and the quality can be increased. Problems, configurations, and effects other than the description given above become apparent from the following description of embodiments.
A description is now given of embodiments with reference to the drawings. Note that the embodiments described now do not limit the present invention according to the scope of the claims. All of respective elements described in the embodiments and combinations thereof are not always indispensable as solution of the invention.
The project total man-hour effort/quality prediction simulation system 10 includes a man-hour input plan input section 101, an analysis section 102, and an output section 103.
When the man-hour input plan input section 101 reads man-hour input data 104, characteristic data 105, and milestone data 106, the man-hour input plan input section 101 displays the man-hour input data 104 as an original man-hour input plan, the characteristic data 105 as characteristic data 111, and the milestone data 106 as milestone data 112 in a man-hour input graph 110. The man-hour input data 104, which is the man-hour input plan, is represented as time series data associating a man-hour input amount and an input time thereof with each other. After that, the analysis section 102 reads the man-hour input data 104, the characteristic data 105, the milestone data 106, and past data 107, calculates an ideal man-hour input plan, and displays the calculated ideal man-hour input plan as an ideal man-hour input plan in the man-hour input graph 110. After that, a user edits the original man-hour input plan in the man-hour input graph 110 on a GUI of the man-hour input plan input section 101. The man-hour input amount after the editing is displayed as a simulated man-hour input plan independently of the original man-hour input plan. The man-hour input plan input section 101 provides the GUI for the editing by the user. Through use of this GUI, the user operates, in an upward or downward direction, an edit point indicating an input man-hour effort for each period, thereby allowing the man-hour input amount to be edited.
After the editing of the man-hour input amount, the analysis section 102 additionally reads the original man-hour input plan, the ideal man-hour input plan, and the simulated man-hour input plan displayed in the man-hour input graph 110, calculates future total man-hour effort, number of bugs, productivity, bug density, and development period, and causes them to be displayed on the output section 103. In terms of a display form, any one of a text form, a table form, a graph form, and a chart form may be employed. Subsequently, in response to the editing of the simulated man-hour input plan by the user in the man-hour input graph 110 on the GUI of the man-hour input plan input section 101, the analysis section 102 executes the analysis, thereby updating the display content of the output section 103.
The project total man-hour effort/quality prediction simulation system 10 is implemented in a computer including a processor, a memory, an auxiliary storage device, and a communication interface. The processor is a calculation device which executes programs stored in the memory. Functions provided by the project total man-hour effort/quality prediction simulation system 10 are implemented by the processor executing the various types of program. Note that a part of processing executed by the processor executing the programs may be executed by another calculation device (for example, hardware such as an ASIC and an FPGA). The memory includes a ROM being a nonvolatile storage device and a RAM being a volatile storage device. The ROM stores invariable programs (for example, a BIOS). The RAM is a high-speed and volatile storage device such as a DRAM (Dynamic Random Access Memory) and temporarily stores the programs executed by the processor and data used when the programs are executed. The auxiliary storage device is a high-capacity and nonvolatile storage device such as a magnetic storage device and stores the programs executed by the processor and the data used by the processor when the programs are executed. The communication interface is a network interface device which controls communication with another device according to a predetermined protocol.
A part of the past data 107 illustrated in
A part of the past data 107 illustrated in
A part of the past data 107 illustrated in
A part of the past data 107 illustrated in
The data illustrated in
Data illustrated in
The output section 103 indicates a calculation result of the future total man-hour effort, number of bugs, productivity, bug density, and development period for the original, ideal, and simulated man-hour input plans for the project input by the user. In an left-end column, a classification which is the original, the ideal, or the simulated, in a column of “total man-hour effort,” the total man-hour effort in this classification of this project, in a column of “number of bugs,” the number of bugs in this classification of the project, in a column of “productivity,” the productivity of this classification of this project, in a column of “bug density,” the bug density of this classification of this project, and in a column of “development period,” the development period of this classification of this project are displayed. The columns for these items are an example, and columns for other items may be displayed.
The analysis section 102 acquires, on the basis of the value of the domain set as the characteristic data 105 on this project, definition of an ideal form of the input of the man-hour effort set in advance to the project in the domain (1201). The ideal form of the input of the man-hour effort should be represented as a ratio.
The analysis section 102 calculates the ideal man-hour input plan of this project on the basis of the definition of the ideal form of the input of the man-hour effort and the FP value set as the characteristic data 105 on this project. As a calculation method for the ideal man-hour input plan, also adoptable is a calculation method of calculating a coefficient indicating a multiple of the FP value of this project with respect to a criterion while estimating that a relation between the FP value and the total man-hour effort is linear, multiplying the definition of the ideal form of the input of the man-hour effort by this coefficient to acquire an ideal man-hour effort in each of the early period, the middle period, and the late period of this project, and further interpolating the acquired man-hour effort. As another example, adoptable is a method of calculation while estimating the relationship between the FP value and the man-hour effort is nonlinear (1202).
After that, the calculated ideal man-hour input plan of this project is displayed as the ideal man-hour input plan by the man-hour input plan input section 101 (1203).
The analysis section 102 collates the input man-hour effort of the original man-hour input plan of this project displayed by the man-hour input plan input section 101 with the plurality of man-hour input patterns stored in advance, thereby classifying the input man-hour effort into a man-hour input pattern (1301). As the method of classifying into a pattern, a method of employing an equation in an ideal form calculated from an average of a shape of the man-hour input plan, a method based on the definition of the flag, pattern matching of the shape of the man-hour input plan, or other methods can be employed.
The analysis section 102 uses a prediction model created in advance from the characteristic data and the performance data on the project group of the past data 107 having the same man-hour input pattern and classified into the same domain as those of this project to predict the future total man-hour effort and number of bugs corresponding to the original man-hour input of this project. At this time, as the prediction model, a machine learning model or a model defined in a rule-based manner may be used. For example, an estimation model based on a neural network may be used to predict the future total man-hour effort and number of bugs. This estimation model is machine-learned while the performance data such as the number of requirements, requirement complexity, the number of test cases, and development difficulty is used as explanatory variables and the performance data such as the total man-hour effort and the number of bugs is used as object variables, and hence, the total man-hour effort and the number of bugs are obtained by inputting the number of requirements, the complexity of the requirement, the number of test cases, the development difficult, and the like. Further, in order to increase a prediction accuracy, the milestone data 106 of this project and the milestone data on the project group of the past data 107 may be used (1302).
The analysis section 102 calculates the future productivity, bug density, and development period corresponding to the original man-hour input of this project on the basis of the future total man-hour effort, the value of the future number of bugs, and the values of the characteristic data 105 of this project (1303). As the prediction model, a machine learning model or a model defined in a rule-based manner should be used. For example, an estimation model based on a neural network may be used to predict the future total man-hour effort and number of bugs. This estimation model is machine-learned while the performance data such as the number of requirements, the requirement complexity, the number of test cases, and the development difficulty is used as explanatory variables and the performance data such as the total man-hour effort and the number of bugs is used as object variables, and hence, the total man-hour effort and the number of bugs are obtained by inputting the number of requirements, the complexity of the requirement, the number of test cases, the development difficulty, and the like.
After that, the future total man-hour effort, number of bugs, productivity, bug density, and development period corresponding to the original man-hour input of this project are displayed by the output section 103 (1304).
The analysis section 102 collates the ideal man-hour input plan of this project displayed by the man-hour input plan input section 101 in the man-hour input graph 110 with the plurality of man-hour input patterns stored in advance, thereby classifying the input man-hour effort into a man-hour input pattern (1401). As the method of classifying into the pattern, adoptable are the method of employing the equation in the ideal form calculated from the average of the shape of the man-hour input plan, the method based on the definition of the flag, the pattern matching of the shape of the man-hour input plan, or other methods.
The analysis section 102 uses the prediction model created in advance from the characteristic data and the performance data on the project group of the past data 107 classified into the same man-hour input pattern and the same domain as those of this project to predict the future total man-hour effort and number of bugs corresponding to the ideal man-hour input of this project. At this time, as the prediction model, a machine learning model or a model defined in a rule-based manner should be used. For example, an estimation model based on a neural network should be used to predict the future total man-hour effort and number of bugs. This estimation model is machine-learned while the performance data such as the number of requirements, the requirement complexity, the number of test cases, and the development difficulty is used as explanatory variables and the performance data such as the total man-hour effort and the number of bugs is used as object variables, and hence, the total man-hour effort and the number of bugs are obtained by inputting the number of requirements, the complexity of the requirement, the number of test cases, the development difficulty, and the like. Further, in order to increase a prediction accuracy, the milestone data 106 of this project and the milestone data on the project group of the past data 107 may be used (1402).
The analysis section 102 calculates the future productivity, bug density, and development period corresponding to the ideal man-hour input of this project on the basis of the future total man-hour effort, the value of the future number of bugs, and the values of the characteristic data 105 of this project (1403). As the prediction model, a machine learning model or a model defined in in a rule-based manner may be used. For example, an estimation model based on a neural network may be used to predict the future total man-hour effort and number of bugs. This estimation model is machine-learned while the performance data such as the number of requirements, the requirement complexity, the number of test cases, and the development difficulty is used as explanatory variables and the performance data such as the total man-hour effort and the number of bugs is used as object variables, and hence, the total man-hour effort and the number of bugs are obtained by inputting the number of requirements, the complexity of the requirement, the number of test cases, the development difficulty, and the like.
After that, the future total man-hour effort, number of bugs, productivity, bug density, and development period corresponding to the ideal man-hour input of this project are displayed by the output section 103 (1404).
The analysis section 102 classifies the input man-hour effort into a man-hour input pattern on the basis of the simulated man-hour input plan of this project displayed by the man-hour input plan input section 101 in the man-hour input graph 110 (1501). As the method of classifying into the pattern, the method of employing the equation in the ideal form calculated from the average of the shape of the man-hour input plan, the method based on the definition of the flag, the pattern matching of the shape of the man-hour input plan, or other methods can be employed.
The analysis section 102 uses the prediction model created in advance from the characteristic data and the performance data on the project group of the past data 107 classified into the same man-hour input pattern and the same domain as those of this project to predict the future total man-hour effort and number of bugs corresponding to the simulated man-hour input of this project. At this time, as the prediction model, a machine learning model or a model defined in a rule-based manner may be used. Further, in order to increase a prediction accuracy, the milestone data 106 of this project and the milestone data on the project group of the past data 107 may be used (1502).
The analysis section 102 calculates the future productivity, bug density, and development period corresponding to the simulated man-hour input of this project on the basis of the future total man-hour effort, the value of the future number of bugs, and the values of the characteristic data 105 of this project (1503).
After that, the future total man-hour effort, number of bugs, productivity, bug density, and development period corresponding to the simulated man-hour input of this project are displayed by the output section 103 (1504).
The man-hour input pattern includes an initial investment type 1601 having a large investment amount in an early period, a constant type 1602 having a small change in investment amount during a period, and an intensive type 1603 having an investment concentrated in a specific period. The initial investment type 1601 is appropriate for a project for producing large-scale software by a large number of people. The constant type 1602 is appropriate for a project for modifying existing software. The intensive type 1603 is appropriate for creating small-scale software. These patterns are an example, and another pattern may be defined.
In an embodiment 2, in addition to the embodiment 1, skill information on persons assigned to the project is also used when the man-hour input graph 110 displayed by the man-hour input plan input section 101 is calculated. That is, in the embodiment 2, the man-hour input plan is information on “how many man-hour efforts of persons having which skills are assigned to which month in the future in the project.” As a result, in the embodiment 2, the man-hour effort can be weighted according to the skills of the persons.
In an embodiment 3, in addition to the embodiment 1, when the man-hour input graph 110 displayed by the man-hour input plan input section 101 is calculated, two pieces of information which are intra man-hour effort subject to development inside an organization and outsourced man-hour effort subject to development through outsourcing to the outside of the organization are used. That is, in the embodiment 3, the man-hour input plan includes two man-hour input graphs one of which represents original, ideal, and simulated man-hour input plan relating to the intra man-hour effort and the other one of which represents original, ideal, and simulated man-hour input plans relating to the outsourced man-hour effort.
In an embodiment 4, in addition to the embodiment 1, when the man-hour input graph 110 displayed by the man-hour input plan input section 101 is calculated, an alert is displayed when a separation between the ideal and simulated man-hour input plans is large. As a display form of the alert, a text, a popup window, a dialog box, coloring of the man-hour input graph 110, and the like may be used.
In an embodiment 5, in addition to the embodiment 1, in the display by the output section 103, an alert is displayed when a separation between the ideal and simulated man-hour input plans in at least one of the total man-hour effort, the number of bugs, the productivity, the bug density, and the development period is large. As a display form of the alert, a text, a popup window, a dialog box, coloring of the output screen, and the like may be used.
As described above, according to the project total man-hour effort/quality prediction simulation system 10 according to the embodiments, the project planner can highly accurately predict the quality and the total man-hour effort of the man-hour input plan.
Note that the present invention is not limited to the embodiments described above and includes various modification examples and equivalent configurations within the scope of the accompanying claims. For example, the embodiments described above are detailed for describing the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to an embodiment including all of the described configurations. Moreover, the configurations of one of the embodiments may be partially replaced with those of the other embodiment. Further, the configurations of one of the embodiments may include the configurations of the other embodiment. Alternatively, the configurations of the embodiments may partially allow the addition of other configurations, deletion, and replacement.
Moreover, a part or all of each of the configurations, the functions, the processing sections, the processing means, and the like described above may be implemented through hardware by, for example, designing as an integrated circuit or may be implemented through software by a processor interpreting and executing a program which implements each function.
Information such as a program, a table, a file, and the like which implement each function can be stored in a storage device such as a memory, a hard disk, and a solid state drive (SSD) or a recording medium such as an IC card, an SD card, or a DVD.
Moreover, as a control line and an information line, ones required for the description are illustrated, and hence, all control lines and information lines required for the implementation are not always illustrated. It can be considered that almost all of the configurations are actually connected to one another.
Number | Date | Country | Kind |
---|---|---|---|
2022-082065 | May 2022 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2023/004150 | 2/8/2023 | WO |