WO2023153140A1 - プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法 - Google Patents

プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法 Download PDF

Info

Publication number
WO2023153140A1
WO2023153140A1 PCT/JP2023/000922 JP2023000922W WO2023153140A1 WO 2023153140 A1 WO2023153140 A1 WO 2023153140A1 JP 2023000922 W JP2023000922 W JP 2023000922W WO 2023153140 A1 WO2023153140 A1 WO 2023153140A1
Authority
WO
WIPO (PCT)
Prior art keywords
project
prediction
success
failure
machine learning
Prior art date
Application number
PCT/JP2023/000922
Other languages
English (en)
French (fr)
Inventor
統哉 巴
健二 北川
真澄 川上
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2023153140A1 publication Critical patent/WO2023153140A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Definitions

  • the present invention relates to technology for predicting the success or failure of a project, for example, technology for predicting the success or failure of a software development project.
  • the success or failure of a software development project is determined by factors such as process delays, quality shortages, and cost overruns at the end of the project.
  • the project manager judges that there are some signs of failure in the project from various management indicators such as the amount of deliverables and the amount of defects of the project and the situation at the site. It is necessary to detect the signs as soon as possible and lead to problem discovery and countermeasures.
  • the PM gains knowledge of discovering signs of failure by grasping and learning in detail what caused the failed projects that he was in charge of in the past.
  • PMs, PMOs, and QAs (collectively referred to as project managers) empirically learn the causal relationships between indicators/situations that have appeared in advance and project failures in the multiple failed projects they have been in charge of in the past. . If similar indicators and conditions appear in a new project, it is detected as a sign of failure if there is some kind of abnormality in that project.
  • Supervised machine learning is a method of finding the causal relationship between explanatory and objective variables from a large amount of data sets in which the explanatory and objective variables are known.
  • the vector expresses the causal relationship between the input and output.
  • This vector is called a weight vector (prediction model). Adjust the weight vector to best describe the relationship between all known input and output values.
  • the output is calculated by multiplying the input whose output is unknown by the prediction model thus obtained.
  • a step of creating a prediction model is called a learning phase in machine learning, and a step of calculating an output from an input based on the prediction model is called a prediction phase.
  • Patent Document 1 is one of the related technologies for realizing this.
  • the risk evaluation device of Patent Document 1 performs machine learning using multiple management indicators at the time of arbitrary process completion of multiple past projects as explanatory variables, and the success or failure of each project as an objective variable, to generate a prediction model. Using the generated prediction model, the project success or failure is output at the same time point of the ongoing project.
  • the project manager can determine that there is something wrong with a project that is predicted to fail, and by grasping the situation in more detail for that project, can solve problems with smaller granularity. can be identified and project failure can be prevented.
  • Patent Document 2 discloses a project trouble occurrence probability distribution based on an expression pattern describing project information, based on the time when the pattern appears in the text in the project information, and a statistic expressing the distribution.
  • Project management indicators are one of the materials used by the PM to make judgments about predictive detection empirically.
  • Examples of project management indicators include numerical indicators such as the amount of defects and the amount of deliverables.
  • failure prediction is performed by machine learning using only the project management index as an explanatory variable. In this way, numerical indices can be input as they are as explanatory variables, making it easier to apply machine learning approaches.
  • Patent Document 2 statistically analyzes the appearance frequency of risk natural language pattern expressions in past project reports and the number of project trouble occurrences, and quantifies the risks present in the reports. As a result, by estimating the probability and timing of trouble occurrence using new project reports, it is possible to narrow down projects that are likely to cause trouble with a high likelihood that was not possible in the past. and While Patent Document 1 uses only project management indicators as criteria for determination, Patent Document 2 uses only project management documents as criteria for determination.
  • the problem of the present invention is to provide a technique for predicting the success or failure of a project by using more multifaceted judgment materials than before.
  • a preferred aspect of the present invention includes a success/failure prediction unit that predicts the success or failure of a project using a prediction model generated by machine learning, and a project information processor that generates prediction-time metrics from project information up to the time of prediction execution. inputting explanatory variables based on the metrics at the time of prediction into the success/failure prediction unit, predicting the success or failure of the project based on the output objective variable, the project information including management indicators and documents, and processing the project information
  • the unit is a project success/failure prediction device including a numerical index processing unit that converts the management index into the prediction-time metrics, and a natural language processing unit that converts the document into the prediction-time metrics.
  • Another preferred aspect of the present invention is a predictive model machine learning method for predicting the success or failure of a project, comprising: project information processing for generating learning-time metrics from project information of the project; and a target variable based on the project success/failure result, a predictive model construction process for performing machine learning of the predictive model is executed, the project information includes management indicators and documents, and the project information processing process is a predictive model machine learning method that performs numerical index processing for converting the management index into the learning-time metric and natural language processing for converting the document into the learning-time metric.
  • Another preferred aspect of the present invention is a project success/failure prediction method using a prediction model machine-learned by the above-described prediction model machine learning method, wherein prediction-time metrics are calculated from project information of the project up to the time of prediction execution.
  • executing a second project information processing process to be generated inputting an explanatory variable based on the metrics at the time of prediction into the prediction model, predicting the success or failure of the project based on the output objective variable, and using the project information as a management index;
  • a document is included, and the second project information processing includes a second numerical index processing of converting the management index into the prediction-time metrics, and a second natural language processing of converting the document into the prediction-time metrics.
  • FIG. 3 is a block diagram showing internal data of each processing unit and a recording device that constitute the software development project success/failure prediction apparatus;
  • FIG. 2 is a block diagram showing a hardware structure for executing processing of the software development project success/failure prediction device;
  • FIG. It is a block diagram which shows the data flow of a software development project success-failure prediction apparatus.
  • FIG. 10 is a chart showing an example of project management indicators;
  • FIG. 4 is a table diagram showing an example of a project management document;
  • FIG. 11 is a chart showing a past project success/failure record table;
  • FIG. 11 is a table diagram showing a success/failure prediction value recording table;
  • 4 is a table diagram showing an example of a keyword recording table according to Example 1.
  • FIG. 4 is a table diagram showing an example of a word string classification table according to Example 1.
  • FIG. 4 is a table diagram showing an example of a keyword score table according to Example 1.
  • FIG. 11 is a table diagram showing an example of a metrics recording table;
  • FIG. 4 is a block diagram showing a data flow of a past project information processing unit; It is a flow chart showing a machine learning processing flow using past project information.
  • FIG. 10 is a flowchart showing a success/failure prediction processing flow from on-going project information;
  • FIG. FIG. 10 is a block diagram showing a data flow of an ongoing project information processing unit; It is the flowchart which showed the processing flow of a project information extraction part.
  • FIG. 11 is a table diagram showing an example of a word string classification table according to Example 2;
  • FIG. 11 is a table diagram showing an example of a keyword recording table according to Example 2;
  • FIG. 11 is a table diagram showing an example of a keyword/score table according to the second embodiment;
  • FIG. 11 is a flowchart showing a processing flow of a natural language processing unit according to Example 2;
  • FIG. 11 is a table diagram showing an example of a word string classification table according to Example 2;
  • FIG. 11 is a table diagram showing an example of a keyword recording table according to Example 2;
  • FIG. 11 is a table diagram showing an example of a keyword/score table according to the second embodiment;
  • FIG. 11 is a flowchart showing a processing flow of a natural language processing unit according to Example 2;
  • FIG. 11 is a table diagram showing an example of a word string classification table according to Example 2;
  • FIG. 11 is a table diagram showing an example of a keyword recording table according to Example 2
  • Notations such as “first”, “second”, “third” in this specification etc. are attached to identify the constituent elements, and do not necessarily limit the number, order, or content thereof isn't it. Also, numbers for identifying components are used for each context, and numbers used in one context do not necessarily indicate the same configuration in other contexts. Also, it does not preclude a component identified by a certain number from having the function of a component identified by another number.
  • FIG. 1 is a diagram showing internal data of each processing unit and a recording device that constitute a software development project success/failure prediction apparatus.
  • FIG. 2 is a diagram showing the hardware structure for executing the processing of the software development project success/failure prediction device.
  • FIG. 3 shows the data flow of the software development project success/failure prediction device.
  • FIG. 1 is a functional block diagram of the software development project success/failure prediction device 10 of the embodiment.
  • the software development project success/failure prediction device 10 includes a project information processing unit 101 composed of a natural language processing unit 103 and a numerical index processing unit 102 . It also has a project information extraction unit 104, a prediction model construction unit 105, and a success/failure prediction unit . The functions of these processing units are implemented as programs as will be described later.
  • a project information record database (DB) 110 records a past project success/failure result record table 111, a keyword record table 112, project information 113 including project management indicators 114 and project management documents 115, and a success/failure prediction value record table 116.
  • the project information record DB 110 may be a part of the software development project success/failure prediction device 10 (for example, an auxiliary storage device 203 to be described later) as long as the data can be used by the software development project success/failure prediction device 10, or may be connected via a network or the like. Other devices may be used. In this embodiment, an example in which the auxiliary storage device 203 is used will be described.
  • the software development project success/failure prediction device 10 is an information processing device (computer) used for managing software development projects.
  • the software development project success/failure prediction device 10 may be implemented virtually, such as a cloud server provided by a cloud system.
  • the software development project success/failure prediction device 10 includes a processor 201 , a main storage device 202 , an auxiliary storage device 203 , an input device 204 , an output device 205 and a communication device 206 . These components are communicatively connected to each other via a communication means such as a bus.
  • the processor 201 is a logic circuit implemented by a semiconductor device such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit). Various functions of the software development project success/failure prediction apparatus 10 are realized by the processor 201 executing the programs stored in the main storage device 202 . A program is read from the auxiliary storage device 203 or another storage device and stored in the main storage device 202 .
  • a CPU Central Processing Unit
  • MPU Micro Processing Unit
  • the main storage device 202 is a device such as RAM (Random Access Memory) that stores programs and data.
  • RAM Random Access Memory
  • the auxiliary storage device 203 includes a HDD (Hard Disk Drive), SSD (Solid State Drive), optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.), storage system, IC card, SD memory card, Examples include a reading/writing device for a recording medium such as an optical recording medium, a storage area of a cloud server, and the like. Programs and data stored in the auxiliary storage device 203 are loaded into the main storage device 202 at any time.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • optical storage device CD (Compact Disc), DVD (Digital Versatile Disc), etc.
  • storage system IC card
  • Examples include a reading/writing device for a recording medium such as an optical recording medium, a storage area of a cloud server, and the like.
  • Programs and data stored in the auxiliary storage device 203 are loaded into the main storage device 202 at any time.
  • the input device 204 is a device for inputting information to the software development project success/failure prediction device 10, such as a keyboard, mouse, touch panel, card reader, and voice input device.
  • the output device 205 is a device that realizes a user interface that provides the user with various kinds of information such as processing progress and processing results in the software development project success prediction device 10.
  • a screen display device liquid crystal monitor, LCD (Liquid Crystal Display ), graphic card, etc.
  • audio output device sound output device
  • printing device etc.
  • the communication device 206 is a device that realizes a wired or wireless communication interface that realizes communication with other devices via a communication means such as a LAN or the Internet.
  • a wireless communication module such as a LAN or the Internet.
  • USB Universal Serial Interface
  • serial communication module a serial communication module, and the like.
  • the communication device 206 is used for connection with the project information record DB 110 .
  • a numerical index processing program 207, a natural language processing program 208, a prediction model construction program 210, a success prediction program 211, and a project information extraction program 209 are installed in the auxiliary storage device 203 of the software development project success prediction device 10 of this embodiment. It is
  • a keyword score table 213, a learning metrics recording table 212, and a prediction model 215 are stored.
  • Numerical index processing program 207, natural language processing program 208, prediction model construction program 210, success/failure prediction program 211, and project information extraction program 209 are executed by processor 201, so that numerical index processing unit 102 in FIG. It is a program that realizes the functions of the language processing unit 103 , the prediction model building unit 105 , the success/failure prediction unit 106 , and the project information extraction unit 104 .
  • the project information extraction unit 104 has the role of dividing the project information 113 into past project information and ongoing project information and outputting them to the main storage device 202 .
  • dividing the information it is necessary to refer to the index that indicates whether each project is in progress or has been completed. do.
  • the project information processing unit 101 processes the input past and ongoing project information into a form suitable as explanatory variables (metrics) for machine learning, and then stores them in a learning metrics recording table 212 and a prediction metrics recording table 214. Take the role of recording.
  • the prediction model construction unit 105 performs machine learning using the metrics values of multiple projects recorded in the learning-time metrics recording table 212 as explanatory variables and the success/failure prediction values of each project described in the past project success/failure result recording table 111 as objective variables. It plays a role of learning by and constructing a prediction model 215 .
  • the success/failure prediction unit 106 performs success/failure prediction by machine learning using the prediction model 215 generated above and the metrics described in the prediction metrics recording table 214, and records the result in the success/failure prediction value recording table 116. play a role.
  • the numerical index processing unit 102 has the role of inputting the project management index 114 and converting the index value into a metric.
  • the natural language processing unit 103 takes the project management document 115 as input and plays the role of generating metrics from the natural language in the document.
  • the project information record DB 110 stores project information 113 consisting of project management indicators 114 and project management documents 115, a past project success/failure record table 111, a keyword record table 112, and a success/failure prediction value record table 116. Since both the project management index 114 and the project management document 115 are information accumulated in the course of the project, they are collectively referred to as project information 113 hereinafter.
  • the project management index 114 is a table that records project management indexes such as the amount of deliverables and the amount of defects.
  • index values 704 at the time of completion of each process 703 of the project are stored for each project number P# 701 and for each index type 702 .
  • the index type may be freely defined, for example, "amount of product” or "amount of defect", but is basically an index expressed numerically. Ranking such as A, B, and C is also acceptable if it can be converted to a numerical value.
  • Each process 703 may store the completion time of the process, or may store a number or symbol identifying the process defined in the project (for example, requirement definition, design, debugging, etc.). In this embodiment, the process 703 is defined commonly for each project.
  • the project management document 115 is a table for recording documents accumulated during the course of the project, such as mail contents, weekly reports, pending matters, and corrections.
  • documents are often saved in text file format instead of in tables, but for the sake of convenience, it is assumed here that all sentences in the document are stored in one cell in the table.
  • the storage date 802 stores the date when the document was stored.
  • the document type 803 stores the type name of the document (for example, weekly report, report, mail, etc.).
  • the sentence 804 stores all the sentences in the document.
  • FIG. 6 is a diagram showing a past project success/failure record table.
  • the past project success/failure result record table 111 is a table that stores the success/failure result of the past project as a value of the degree of failure manually determined in advance within a certain range. The values are determined and input by a person in charge who has knowledge of the project, such as PM.
  • the past project success/failure record table 111 has the degree of failure of the project, which is the objective variable of machine learning, as an attribute of the table.
  • the overall failure degree of the project is described in the overall failure degree result value 905 for each project number P#701.
  • the degree of failure is finely divided into categories such as Q (quality), C (cost), and D (delivery date).
  • FIG. 7 is a diagram showing a success/failure prediction value recording table.
  • the success/failure prediction value recording table 116 is a table for recording the success/failure prediction value of the ongoing project. As shown in FIG. 7, the outline of the table is the same as the past project success/failure result record table 111 in FIG. However, in the prediction values 1002 to 1005, the success/failure prediction result values by the success/failure prediction unit 106 of this apparatus are stored as failure degree prediction values, not the past success/failure result values.
  • FIG. 8 is a diagram showing an example of a keyword recording table.
  • the keyword record table 112 is a table in which word strings and characteristics of the word strings are described. It is assumed that this table is created in advance before execution of this device.
  • a classification such as a classification type 601 (FIG. 9), which will be described later, is described in the classification 1102 .
  • Predetermined word strings appearing in the document for example, “failure”, “delay”, “successful”, etc.
  • those that meet the classification criteria 602 are entered into the classification 1102.
  • the keyword record table 112 is determined and input by a person in charge such as a PM who has knowledge of a project, a document expert, or the like.
  • FIG. 9 is a diagram showing an example of a word string classification table.
  • the word string classification table 600 represents the types of word string classification and classification criteria.
  • a classification type 601 is classified according to whether it has a good meaning or a bad meaning from the viewpoint of project management.
  • a person in charge who has knowledge of the project such as PM or a document expert decides and inputs. Although it is not a component of this device, it is described for explanation of this embodiment.
  • FIG. 10 is a diagram showing an example of a keyword score table.
  • the keyword/score table 213 consists of an appearance date 1202, a classification 1204, and a score value 1205 representing the degree of importance of the word string to the entire document for the word string 1203 appearing in the document.
  • the score value is calculated by the natural language processing unit 103, as will be described later.
  • FIG. 11 is a diagram showing an example of a metrics recording table.
  • the learning-time metrics recording table 212 stores the metrics generated by the project information processing unit 101 in the value 1303 during learning. As will be described later, with respect to natural language data, the results of aggregation are stored as values. Therefore, as shown in the example of FIG. The columns are attached after the classification.
  • a predetermined word is extracted by referring to the keyword recording table 112 (FIG. 8) indicating a predetermined word classification, an attribute based on the word classification is added, and a character indicating the classification (attribute) is added to the score value. gives columns.
  • the classification of words can be arbitrarily set by the user.
  • the natural language data are classified based on the evaluation point of view such as "Quality" and "Delivery”. They may be classified by single classification or according to the keyword recording table 112 of FIG.
  • An example of detailed classification of natural language data based on viewpoint is detailed in Example 2.
  • the prediction-time metrics recording table 214 stores the metrics generated by the project information processing unit 101 at the time of prediction.
  • FIG. 3 describes the overall data flow with specified inputs and outputs. Details of the project information processing unit 101 are described in FIG. FIG. 13 shows the flow for predictive model generation in the learning phase. FIG. 14 shows a flow for generating success/failure prediction results in the prediction phase.
  • the learning phase and prediction phase are realized by the same device, but the learning phase and prediction phase can also be executed by different devices or systems.
  • the project manager 1 decides the process for executing the success/failure prediction among all the project processes of the ongoing project. Hereinafter, this will be referred to as the success/failure prediction execution point.
  • the project information extraction unit 104 extracts past project information 301 from the project information 113 (including both the project management index 114 and the project management document 115).
  • the project information processing unit 101 transforms the information up to the time of executing the success/failure prediction into an appropriate form as a metric for machine learning.
  • the natural language processing unit 103 of the project information processing unit 101 refers to the keyword recording table 112 in order to generate metrics from sentences.
  • the numerical index processing unit 102 converts numerical values of the project management index 114 as necessary.
  • the prediction model construction unit 105 uses the metrics recorded in the learning-time metrics recording table 212 and the past project success/failure result recording table 111 to generate a prediction model 215. Specifically, supervised learning of the prediction model is performed using the generated metrics as explanatory variables (problems) and past project success/failure results as objective variables (correct answers).
  • the same forecast model can be used in the forecast phase for multiple ongoing projects over a period of time without having to run the learning phase again until more projects are accumulated. continue.
  • the prediction phase differs from the learning phase in that the prediction-time metrics recording table 214 based on the ongoing project information 302 is used as explanatory variables.
  • metrics are generated from the information up to the point of executing the success/failure prediction of the ongoing project.
  • the success/failure prediction unit 106 calculates a success/failure prediction value using the generated metrics and the prediction model 215 .
  • the generated metrics are input as explanatory variables, and objective variables (success/failure prediction values) are obtained as outputs.
  • the project manager 1 recognizes projects with a high risk of failure based on the predicted success/failure values of multiple ongoing projects listed in the predicted success/failure value recording table 116 .
  • FIG. 13 is a flow chart showing a method for learning the past project information 301 and generating the prediction model 215.
  • the generated prediction model 215 is used to generate a success/failure prediction value for the ongoing project. Each step up to generating a success/failure prediction value is described below.
  • step s1401 receives the project information 113 in the project information extraction unit 104, and the project management index 114 filters out only the rows of the period up to the execution time of the success/failure prediction based on the step 703, extracts the past Generate project information 301 . However, from the project management document 115, all the sentences in the document of the storage date 802 up to the execution time of the success/failure prediction are connected and extracted.
  • step s1402 the past project information 301 is input, and the project information processing unit 101 processes the input into a form suitable for machine learning explanatory variables, generates metrics, and records them in the learning-time metrics recording table 212.
  • step s1403 the predictive model construction unit 105 inputs all the metrics in the learning-time metrics recording table 212 as explanatory variables and the success/failure results in the past project success/failure result recording table 111 as objective variables, and performs supervised machine learning. Execution generates a predictive model 215 . By inputting failure degree result values 902 to 905 for each item in the past project success/failure result record table 111 of FIG.
  • FIG. 14 is a flowchart showing the project success/failure prediction process by the success/failure prediction unit 106 .
  • Steps s1501 and s1502 in the prediction phase have the same flow as steps s1401 and s1402 in the learning phase, respectively.
  • step s1501 the project information extraction unit 104 inputs the project information 113 of the project to be predicted, filters out only the rows of the period up to the time of executing the success/failure prediction, and generates the ongoing project information 302. However, from the project management document 115, all the sentences in the documents with storage dates up to the execution time of the success/failure prediction of the project to be predicted are linked and extracted.
  • step s1502 the ongoing project information 302 is input, and the project information processing unit 101 processes the input into a form suitable for machine learning explanatory variables, generates metrics, and records them in the prediction metrics recording table 214. .
  • step s1503 the success/failure prediction unit 106 performs prediction by machine learning using each prediction model 215 generated in step s1403 using all the metrics in the prediction metrics recording table 214 as explanatory variables.
  • the success/failure prediction values 1002 to 1005 of the success/failure prediction value recording table 116 of No. 7 are generated and recorded in the success/failure prediction value recording table 116 .
  • the project information processing unit 101 has a role of processing past project information 301 and ongoing project information 302 into an appropriate form as metrics for machine learning.
  • FIG. 15 shows the flow of processing the ongoing project information by the project information processing unit 101 at the time of prediction.
  • the numerical index processing unit 102 generates the metrics.
  • the input is the project management document 115
  • the natural language processor 103 generates metrics.
  • the natural language processing unit 103 extracts a word string from the input sentence using natural language processing and calculates the appearance frequency of the word string. In this embodiment, this index is called a word string score value. Aggregates score values for each project and outputs the aggregated results as metrics.
  • the numerical index processing unit 102 uses the same method as in Patent Document 1, and the description is omitted because it has little relation to the claims of this patent.
  • FIG. 16 is a diagram showing the processing flow of the natural language processing unit according to the first embodiment. Only the processing flow in the natural language processing unit 103 related to this embodiment will be described.
  • a word string is extracted using natural language processing from the sentences in the input project management document 115 (s1701).
  • a score value is calculated based on the appearance frequency of word strings classified as BAD in the word string classification table 600 (s1704).
  • Each word string, classification, and score value are recorded in the keyword score table 213 in the auxiliary storage device 203 (s1705).
  • the score values recorded in the keyword score table 213 are totaled.
  • the sum of the word string score values before execution of the success/failure prediction is normalized by the number of all appearing words as a metric, which is recorded in the learning-time metric recording table 212 (s1706).
  • word string score values are tallied for each classification of Good, Bad, or QCD.
  • This embodiment makes it possible to predict the success or failure of a project using both project management indicators and project management documents as criteria for judgment. This makes it possible to discover signs of failure from a wider range of factors than with existing technologies.
  • Example 2 shows an example in which Example 1 is further developed to improve accuracy. By refining the word string classification, the dimension of explanatory variables can be expanded.
  • FIG. 17 is a diagram showing an example of the word string classification table 1800 according to the second embodiment. Although it corresponds to the table of FIG. 9 in the first embodiment, it stores a classification type 1801 and its classification criteria 1802 classified from different viewpoints of project management instead of good/bad classification. These can be arbitrarily set by the administrator.
  • the words are classified into Delivery (D) indicating delivery date, Cost (C) indicating cost, and Quality (Q) indicating quality (QCD classification).
  • FIG. 18 is a diagram showing an example of the keyword recording table 112 according to the second embodiment. Although it corresponds to the table of FIG. 8 in Example 1, not only the good/bad classification 1102 but also the QCD classification 1901 based on the classification of the word string classification table 1800 is added.
  • FIG. 19 is a diagram showing an example of the keyword/score table 213 according to the second embodiment. It corresponds to the table of FIG. 10 in Example 1, but QCD classification 2001 is added.
  • FIG. 20 is a diagram showing the processing flow of the natural language processing unit 103 according to the second embodiment. This corresponds to the processing flow of FIG. 16 in the first embodiment.
  • the processing flow of the natural language processing unit 103 of this embodiment shown in FIG. 20 performs the same processing as in FIG. In step s2003, the natural language processing unit 103 considers the QCD classification criteria as shown in FIG. 17 in addition to the good/bad classification criteria shown in FIG.
  • FIG. 11 A specific example of the keyword recording table 112 to be input to the natural language processing unit 103 is shown in FIG. In addition to the word string 1101 and good/bad classification 1102, the QCD classification 1901 of each word string is described.
  • the keyword recording table 112 is referenced and the attributes of the extracted word string (good/bad classification 1102 and QCD classification 1901) are read (s2003).
  • a score value 1205 is calculated based on the appearance frequency for each QCD (s2004).
  • Each word string 1203, BAD classification 1204, QCD classification 2001, and score value 1205 are recorded in the keyword score table 213 in the auxiliary storage device 203 (s2005).
  • efficient project management can be realized, so efficient project execution is possible, energy consumption is low, carbon emissions are reduced, global warming is prevented, and a sustainable society is realized. can contribute to the realization of

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)

Abstract

従来よりも多面的な判断材料を利用して、プロジェクト成否を予測する技術を提供することを課題とする。 機械学習によって生成された予測モデルを用いてプロジェクトの成否を予測する成否予測部と、予測実行時点までの前記プロジェクトのプロジェクト情報から予測時メトリクスを生成するプロジェクト情報加工部を備え、前記予測時メトリクスに基づいた説明変数を前記成否予測部に入力し、出力される目的変数によりプロジェクト成否を予測し、前記プロジェクト情報は、管理指標と文書を含み、前記プロジェクト情報加工部は、前記管理指標を前記予測時メトリクスに変換する数値指標加工部と、前記文書を前記予測時メトリクスに変換する自然言語加工部を備える、プロジェクト成否予測装置である。

Description

プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法
 本発明は、プロジェクトの成否を予測する技術、例えばソフトウェア開発プロジェクトの成否予測技術に関する。
 ソフトウェア開発におけるプロジェクト(PJ)の成否は、プロジェクトの終了時における、工程遅れや品質不足、コスト超過などの要因により判断される。プロジェクトの失敗を未然に防ぐために、プロジェクトマネージャー(PM)は、プロジェクトの成果物量や不具合量といった様々な管理指標や現場の状況から、プロジェクトに何らかの失敗予兆があると判断する。その予兆をいち早く検知し、問題発見・対処につなげていくことが求められる。PMは、過去に担当した失敗プロジェクトにて、何が原因となったのかを細部まで把握し、学習することで、失敗予兆発見の知見を得る。
 多数のプロジェクトが同時進行するような組織の場合、複数のプロジェクトを俯瞰し、リスク管理、品質管理を担当する品質保証(QA)やプロジェクトマネジメントオフィス(PMO)といったチームが存在する場合が多い。それらのチームは、PMとは異なり、多数のプロジェクトを横断して管理を行う役割を担う。プロジェクトが失敗に陥ったときの、PMからの報告や、各プロジェクトの管理指標を学習することで、失敗予兆発見の知見を得る。
 このように、PM、PMO、QA(プロジェクト管理者と総称する)は、過去に担当した複数の失敗プロジェクトにおいて、事前に現れていた指標・状況とプロジェクト失敗との因果関係を経験的に学習する。新たなプロジェクトに同じような指標・状況が現れていた場合、そのプロジェクトに何らかの異常があると失敗予兆として検知する。
 しかし、人間が経験的に因果関係を学習できるのは、数多に存在する過去のPJの内、多くとも数十プロジェクトである。また、人間が考慮することのできる指標・状況の組み合わせにも限りがある。学習対象のプロジェクトや指標が限られたものとなると、プロジェクト状況把握も不十分なものとなり、失敗予兆の発見に見逃しが生まれる。過去に蓄積された大量のプロジェクトの、指標や状況の数多の組みあわせをすべて考慮して、因果関係を導くには、教師あり機械学習のアプローチが適していると考えられる。
 教師あり機械学習とは、説明変数と目的変数が既知である大量のデータセットから、説明変数と目的変数間の因果関係を求める手法である。一例として、目的変数は説明変数に任意の次元のベクトルを掛け合わされる形で算出されると仮定すると、そのベクトルは入出力間の因果関係を表すことになる。このベクトルを重みベクトル(予測モデル)と呼ぶ。全ての既知の入出力値の関係を最も説明できるように重みベクトルを調節する。こうして得られた予測モデルを、出力が未知の入力に対して掛け合わせることで、出力を算出する。予測モデルを作成するステップを機械学習における学習フェイズと呼び、予測モデルに基づいて、入力から出力を算出するステップを、予測フェイズと呼ぶ。
 機械学習の原理に基づけば、進行中プロジェクトの任意の工程完了時点におけるプロジェクト管理指標を用いて、最終的な成否を予測することが可能である。具体的には、過去の大量のプロジェクトの成否を目的変数とし、上記と同じ工程完了時点におけるプロジェクト管理指標を説明変数とした機械学習を行うことで実現する。これにより、失敗予兆発見の際の属人性の排除が実現し、人間では発見することが困難であった失敗予兆を発見する効果が期待される。
 これを実現するための関連技術の一つとして、特許文献1がある。特許文献1のリスク評価装置は、複数の過去プロジェクトの任意の工程完了時点における複数の管理指標を説明変数とし、各プロジェクトの成否を目的変数として機械学習を行い、予測モデルを生成する。生成した予測モデルを用いて、進行中プロジェクトの同時点において、プロジェクト成否を出力する。
 プロジェクト管理者は、このような仕組みを利用し、失敗と予測されたプロジェクトには、何らかの異常があると判断し、そのプロジェクトに対してより細かな状況把握を行うことで、より小さな粒度の問題を特定し、プロジェクト失敗を未然に防ぐことが可能となる。
 また、特許文献2は、プロジェクト情報を記述する表現パターンに基づき、それがプロジェクト情報中のテキストに出現した時点を基準としたプロジェクト・トラブルの発生確率分布、および分布を表現する統計量によって、トラブルが発生する確率と時期を推定することにより、トラブルになりそうなプロジェクトの絞り込みを行うことを示す。
特開2014-235654号公報 特開2009-230351号公報
 PMが経験的に行っていた予兆検知の判断材料の一つに、プロジェクト管理指標がある。プロジェクト管理指標の例として、不具合量や成果物量といった数値指標が挙げられる。特許文献1では、プロジェクト管理指標のみを説明変数として、機械学習による失敗予測を行う。このように、数値で表される指標は、説明変数としてそのまま入力することが可能であるため、機械学習アプローチを適用しやすい。
 しかしながら、PMが経験的に行っていた予兆検知の判断材料には、プロジェクト管理の過程にて蓄積される文書も多種存在する。例えば、担当者間のメールや定期的な報告書、会議資料、懸念点リストの内容といったものである。このようなプロジェクト管理文書は、数値指標では表すことが困難な現場の状況を文章で表している場合がある。そのため、プロジェクト管理指標のみを用いた機械学習アプローチでは、PMが経験的に行っていた成否予測や失敗予兆発見と比べ、判断材料が不十分である。
 特許文献2のシステムは、過去プロジェクトの報告書内のリスク自然言語パターン表現の出現頻度とプロジェクトのトラブル発生件数を統計的に分析し、報告書に存在するリスクを数値化する。これにより、新たなプロジェクトの報告書を用いて、トラブルが発生する確率と時期を推定することにより、従来できなかったような高い尤度で、トラブルになりそうなプロジェクトの絞り込みを行うことを可能とする。特許文献1がプロジェクト管理指標のみを判断材料としているのに対し特許文献2は、プロジェクト管理文書のみを判断材料としている。
 このように、プロジェクト管理指標もしくは、プロジェクト管理文書のどちらかを判断材料とした、成否予測、失敗予兆検知は従来技術として存在するが、双方を判断材料とした従来技術は存在しない。従来技術では、PMによる経験的な失敗予兆発見と比べ、判断材料が不十分なまま、機械学習や統計手法によるアプローチを利用しているという課題がある。
 本発明の課題は、従来よりも多面的な判断材料を利用して、プロジェクト成否を予測する技術を提供することにある。
 本発明の好ましい一側面は、機械学習によって生成された予測モデルを用いてプロジェクトの成否を予測する成否予測部と、予測実行時点までの前記プロジェクトのプロジェクト情報から予測時メトリクスを生成するプロジェクト情報加工部を備え、前記予測時メトリクスに基づいた説明変数を前記成否予測部に入力し、出力される目的変数によりプロジェクト成否を予測し、前記プロジェクト情報は、管理指標と文書を含み、前記プロジェクト情報加工部は、前記管理指標を前記予測時メトリクスに変換する数値指標加工部と、前記文書を前記予測時メトリクスに変換する自然言語加工部を備える、プロジェクト成否予測装置である。
 本発明の好ましい他の一側面は、プロジェクトの成否を予測する予測モデルの機械学習方法であって、前記プロジェクトのプロジェクト情報から学習時メトリクスを生成するプロジェクト情報加工処理と、前記学習時メトリクスに基づいた説明変数と、プロジェクト成否結果に基づいた目的変数を用いて、前記予測モデルの機械学習を行う予測モデル構築処理を実行し、前記プロジェクト情報は、管理指標と文書を含み、前記プロジェクト情報加工処理は、前記管理指標を前記学習時メトリクスに変換する数値指標加工処理と、前記文書を前記学習時メトリクスに変換する自然言語加工処理を実行する、予測モデルの機械学習方法である。
 本発明の他の好ましい一側面は、上記の予測モデルの機械学習方法で機械学習した予測モデルを用いたプロジェクト成否予測方法であって、予測実行時点までの前記プロジェクトのプロジェクト情報から予測時メトリクスを生成する第2のプロジェクト情報加工処理を実行し、前記予測時メトリクスに基づいた説明変数を前記予測モデルに入力し、出力される目的変数によりプロジェクト成否を予測し、前記プロジェクト情報は、管理指標と文書を含み、前記第2のプロジェクト情報加工処理は、前記管理指標を前記予測時メトリクスに変換する第2の数値指標加工処理と、前記文書を前記予測時メトリクスに変換する第2の自然言語加工処理を実行する、プロジェクト成否予測方法である。
 従来よりも多面的な判断材料を利用して、プロジェクト成否を予測する技術を提供することができる。
ソフトウェア開発プロジェクト成否予測装置を構成する各処理部及び記録装置の内部データを示したブロック図である。 ソフトウェア開発プロジェクト成否予測装置の処理を実行するハードウェア構造を示すブロック図である。 ソフトウェア開発プロジェクト成否予測装置のデータフローを示すブロック図である。 プロジェクト管理指標の実例を示した表図である。 プロジェクト管理文書の実例を示した表図である。 過去プロジェクト成否結果記録テーブルを示した表図である。 成否予測値記録テーブルを示した表図である。 実施例1に係るキーワード記録テーブルの実例を示した表図である。 実施例1に係る単語列分類テーブルの実例を示した表図である。 実施例1に係るキーワード・スコアテーブルの実例を示した表図である。 メトリクス記録テーブルの実例を示した表図である。 過去プロジェクト情報加工部のデータフローを示したブロック図である。 過去プロジェクト情報を用いた機械学習処理フローを示した流れ図である。 進行中プロジェクト情報からの成否予測処理フローを示した流れ図である。 進行中プロジェクト情報加工部のデータフローを示したブロック図である。 プロジェクト情報抽出部の処理フローを示した流れ図である。 実施例2に係る単語列分類テーブルの実例を示した表図である。 実施例2に係るキーワード記録テーブルの実例を示した表図である。 実施例2に係るキーワード・スコアテーブルの実例を示した表図である。 実施例2に係る自然言語加工部の処理フローを示した流れ図である。
 以下、本発明に係る実施形態を、図を用いて説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではない。また実施形態において説明されている諸要素およびその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 以下に説明する実施例の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
 同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
 本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
 図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
 本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
 本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
 以下,本発明に係る実施形態を説明する。
  図1は、ソフトウェア開発プロジェクト成否予測装置を構成する各処理部及び記録装置の内部データを示した図である。
  図2は、ソフトウェア開発プロジェクト成否予測装置の処理を実行するハードウェア構造を示す図である。
  図3は、ソフトウェア開発プロジェクト成否予測装置のデータフローを示す。
  まず,図1および図2を用いて,ソフトウェア開発プロジェクト成否予測装置の構成を記載する。
 図1は、実施例のソフトウェア開発プロジェクト成否予測装置10の機能ブロック図である。図1に示されるように,ソフトウェア開発プロジェクト成否予測装置10は,自然言語加工部103と数値指標加工部102からなるプロジェクト情報加工部101を備える。また,プロジェクト情報抽出部104,予測モデル構築部105,成否予測部106を備える。これら各処理部の機能は後に説明するようにプログラムとして実装される。
 プロジェクト情報記録データベース(DB)110には、過去プロジェクト成否結果記録テーブル111、キーワード記録テーブル112、プロジェクト管理指標114とプロジェクト管理文書115を含むプロジェクト情報113、および成否予測値記録テーブル116が記録されている。プロジェクト情報記録DB110は、ソフトウェア開発プロジェクト成否予測装置10がデータを利用できる限り、ソフトウェア開発プロジェクト成否予測装置10の一部(例えば後述の補助記憶装置203)としてもよいし、ネットワークなどで接続された他の装置で構成してもよい。本実施例では、補助記憶装置203で構成する例として説明する。
 図2を用いてソフトウェア開発プロジェクト成否予測装置10のハードウェア・ソフトウェア構成について説明する。
 ソフトウェア開発プロジェクト成否予測装置10は、ソフトウェア開発プロジェクトの管理等に利用される情報処理装置(コンピュータ)である。ソフトウェア開発プロジェクト成否予測装置10は、クラウドシステムにより提供されるクラウドサーバ等のように仮想的に実現されるものであってもよい。
 ソフトウェア開発プロジェクト成否予測装置10は、プロセッサ201、主記憶装置202、補助記憶装置203、入力装置204、出力装置205、及び通信装置206を備える。これらコンポーネントは、バス等の通信手段を介して互いに通信できるように接続されている。
 プロセッサ201は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)のような半導体装置によりロジック回路を実現したものである。プロセッサ201が、主記憶装置202に格納されているプログラムを実行することにより、ソフトウェア開発プロジェクト成否予測装置10の様々な機能が実現される。プログラムは補助記憶装置203や他の記憶装置から読みだして、主記憶装置202に格納する。
 主記憶装置202は、RAM(Random Access Memory)などのプログラムやデータを記憶する装置である。
 補助記憶装置203は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDメモリカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置203に格納されているプログラムやデータは主記憶装置202に随時ロードされる。
 入力装置204は、ソフトウェア開発プロジェクト成否予測装置10に情報を入力する装置であり、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置等である。
 出力装置205は、ソフトウェア開発プロジェクト成否予測装置10における処理経過や処理結果等の各種情報をユーザに提供するユーザインタフェースを実現する装置であり、例えば、画面表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、音声出力装置(スピーカ等)、印字装置等である。
 通信装置206は、LANやインターネット等の通信手段を介した他の装置との間の通信を実現する有線、または、無線による通信インタフェースを実現する装置であり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。本装置では,通信装置206をプロジェクト情報記録DB110との接続に用いる。
 本実施形態のソフトウェア開発プロジェクト成否予測装置10の補助記憶装置203には、数値指標加工プログラム207、自然言語加工プログラム208,予測モデル構築プログラム210,成否予測プログラム211,プロジェクト情報抽出プログララム209がインストールされている。
 また,キーワード・スコアテーブル213,学習時メトリクス記録テーブル212,予測モデル215が格納される。
 数値指標加工プログラム207、自然言語加工プログラム208,予測モデル構築プログラム210,成否予測プログラム211,プロジェクト情報抽出プログララム209は、プロセッサ201が実行することにより、各々図1の数値指標加工部102,自然言語加工部103,予測モデル構築部105,成否予測部106,プロジェクト情報抽出部104の機能を実現するプログラムである。
 図1~図3を参照すると、プロジェクト情報抽出部104は,プロジェクト情報113を,過去のプロジェクト情報と,進行中プロジェクトの情報に分けて,主記憶装置202に出力する役割を担う。ここで情報を分ける際に,各プロジェクトが進行中か,完了済みかを表す指標を参考にする必要があるが,その参考指標は,本装置では省略し,別途テーブルに格納されているものとする。
 プロジェクト情報加工部101は,入力された過去,および進行中のプロジェクト情報を機械学習の説明変数(メトリクス)として適した形に加工後,学習時メトリクス記録テーブル212および,予測時メトリクス記録テーブル214に記録する役割を担う。
 予測モデル構築部105は,学習時メトリクス記録テーブル212に記録された複数プロジェクトのメトリクス値を説明変数とし,過去プロジェクト成否結果記録テーブル111に記載された各PJの成否予測値を目的変数として機械学習により学習し,予測モデル215を構築する役割を担う。
 成否予測部106は,前記にて生成した予測モデル215と,予測時メトリクス記録テーブル214に記載のメトリクスを用いて,機械学習による成否予測を行い,その結果を成否予測値記録テーブル116に記録する役割を担う。
 数値指標加工部102は,プロジェクト管理指標114を入力とし,その指標値をメトリクスへ変換する役割を担う。
 自然言語加工部103は,プロジェクト管理文書115を入力とし,文書内の自然言語からメトリクスを生成する役割を担う。
 また,プロジェクト情報記録DB110は,プロジェクト管理指標114とプロジェクト管理文書115からなるプロジェクト情報113,過去プロジェクト成否結果記録テーブル111,キーワード記録テーブル112,成否予測値記録テーブル116を格納する。プロジェクト管理指標114とプロジェクト管理文書115は,どちらもプロジェクトの過程で蓄積される情報であるため,以降,これらを総称して,プロジェクト情報113と記載する。
 プロジェクト管理指標114は,成果物量や不具合量といったプロジェクト管理指標を記録するテーブルである。
 図4に、プロジェクト管理指標114の実例を記載する。プロジェクトの各工程703の完了時点における指標値704が,プロジェクト番号P#701ごと,指標種別702ごとに格納されていることを想定する。指標種別は、例えば「成果物量」、「不具合量」など自由に定義してよいが、基本的に数値で表現される指標である。数値に変換できるのであればA,B,Cのようなランク付けでもよい。各工程703は、工程の完了時刻を格納してもよいし、プロジェクトにおいて定義されている工程(例えば、要件定義、設計、デバッグなど)を特定する番号や記号を格納してもよい。本実施例では工程703を、各プロジェクトで共通に定義するものとする。
 図5に、プロジェクト管理文書テーブルの実例を記載する。プロジェクト管理文書115は,メール内容,週報や懸案事項,修正事項といったプロジェクトの過程で蓄積される文書を記録するテーブルである。実際には文書はテーブルではなくテキストファイル形式で保存されることが多いが,ここでは便宜上,文書内の全ての文章がテーブル内の一つのセルに格納されていることを想定する。
 プロジェクト番号P#701ごとにデータを格納する。格納日付802には,文書が格納された日付を格納する。文書種803には,文書の種別名(例えば、週報、報告書、メールなど)を格納する。文章804には,文書内の全ての文章を格納する。
 図6は、過去プロジェクト成否結果記録テーブルを示した図である。過去プロジェクト成否結果記録テーブル111は,過去プロジェクトの成否結果を一定の範囲内の値で事前に人手により定められた失敗度合いの値を格納するテーブルである。値は、PM等プロジェクトに知見を持つ担当者が決定して入力する。
 過去プロジェクト成否結果記録テーブル111は、機械学習の目的変数となるプロジェクトの失敗度合をテーブルの属性として持つ。プロジェクトの総合的な失敗度合いを、プロジェクト番号P#701ごとに全体失敗度合い結果値905に記載する。また,結果値902~904のように,失敗度合いを,Q(品質),C(コスト),D(納期)といった分類により細かく分割して記載する。
 図7は、成否予測値記録テーブルを示した図である。成否予測値記録テーブル116は,進行中プロジェクトの成否予測値を記録するテーブルである。図7のように,テーブルの概要は図6の過去プロジェクト成否結果記録テーブル111と同じものとなる。ただし,予測値1002~1005には,過去の成否結果値ではなく,本装置の成否予測部106による成否予測結果値を失敗度合い予測値として格納する。
 図8は、キーワード記録テーブルの実例を示した図である。キーワード記録テーブル112は,単語列とその単語列の特性が記載されたテーブルである。本テーブルは,本装置の実行前に,事前に作成されていることを想定する。一例として,図8のように,後述する分類種別601(図9)のような分類が分類1102に記載される。文書に出現する所定の単語列(例えば、「失敗」、「遅延」、「順調」等)に対して分類分けが行われ,分類基準602に当てはまるものは,分類1102にその分類が入力されている。キーワード記録テーブル112は、PM等プロジェクトに知見を持つ担当者や文書の専門家等が決定して入力する。
 図9は、単語列分類テーブルの実例を示した図である。単語列分類テーブル600は,単語列の分類の種別と,分類基準を表す。図9では、分類種別601としてプロジェクト管理の視点で良い意味か悪い意味かで分類している。PM等プロジェクトに知見を持つ担当者や文書の専門家等が決定して入力する。本装置の構成要素ではないが,本実施例の説明のために記載した。
 図10は、キーワード・スコアテーブルの実例を示した図である。キーワード・スコアテーブル213は,文書内に出現した単語列1203に関して,その出現日付1202と,分類1204と,その単語列の文書全体に対する重要度を表すスコア値1205からなる。後に説明するように、スコア値は自然言語加工部103によって計算される。
 図11は、メトリクス記録テーブルの実例を示した図である。学習時メトリクス記録テーブル212は,学習時に,プロジェクト情報加工部101により生成したメトリクスを値1303に格納する。後に記載するように,自然言語データに関しては,集計結果が値として格納される形になるので,図11の例にあるように,「Quality-集計結果」のように,「集計結果」という文字列を分類の後につけた。
 すなわち、予め定めた単語の分類を示すキーワード記録テーブル112(図8)を参照して所定の単語を抽出するとともに単語の分類に基づいた属性を付与し、スコア値に分類(属性)を示す文字列を付与している。単語の分類は利用者が任意に設定することができる。図11の例では、自然言語データを「Quality」、「Delivery」のように評価視点に基づいて分類している。単一分類あるいは図8のキーワード記録テーブル112に従って、「Good」と「Bad」のように意味づけして分類してもよい。視点に基づいて自然言語データを詳細に分類する例は、実施例2で詳しく述べる。
 同様に,予測時メトリクス記録テーブル214は,予測時に,プロジェクト情報加工部101により生成したメトリクスを格納する。
 学習時メトリクス記録テーブル212と予測時メトリクス記録テーブル214は,同じテーブル形式を持つため,図11にテーブルの概念図をまとめて記載した。
 次に,図3を再度用いて実施形態1に係るソフトウェア開発プロジェクト成否予測装置10で実行される処理のフローを記載する。
  図3には入出力を明記した全体のデータフローを記載した。
  図12には,プロジェクト情報加工部101の詳細を記載する。
  図13には,学習フェイズにおける,予測モデル生成のためのフローを記載する。
  図14には,予測フェイズにおける,成否予測結果生成のためのフローを記載する。
 本実施例では学習フェイズと予測フェイズを同じ装置で実現しているが、学習フェイズと予測フェイズは、異なる装置やシステムで実行することもできる。
 各処理部の機能を説明する前に,図3を参考に,装置外も含めて,全体概念を説明する。プロジェクトマネージャ1は,進行中プロジェクトの全てのプロジェクト工程の中で,成否予測を実行する工程を決める。以降,これを成否予測実行時点と呼ぶ。
 図3と図12によれば,本装置は,学習フェイズにて,プロジェクト情報抽出部104は,プロジェクト情報113(プロジェクト管理指標114とプロジェクト管理文書115の両者を含む)から,過去プロジェクト情報301を抽出し,成否予測実行時点までの情報を,プロジェクト情報加工部101で機械学習のメトリクスとして適切な形に変形する。プロジェクト情報加工部101の自然言語加工部103では,文章からメトリクスを生成するためにキーワード記録テーブル112を参照する。数値指標加工部102は,プロジェクト管理指標114の数値を必要に応じて変換する。
 学習時メトリクス記録テーブル212に記録したメトリクスと過去プロジェクト成否結果記録テーブル111を用いて,予測モデル構築部105で予測モデル215を生成する。具体的には、生成されたメトリクスを説明変数(問題)とし、過去プロジェクト成否結果を目的変数(正解)として、予測モデルの教師あり学習を行う。
 一度予測モデル215を生成すれば,さらに多くのプロジェクトが蓄積されるまで学習フェイズを再度実行する必要はなく,同じ予測モデルを一定の期間,複数の進行中プロジェクトに対して予測フェイズにて利用し続ける。
 予測フェイズでは,説明変数として進行中プロジェクト情報302に基づく予測時メトリクス記録テーブル214を用いる点が,学習フェイズと異なる。まず,学習フェイズと同様に,進行中のプロジェクトの成否予測実行時点までの情報からメトリクスが生成される。生成したメトリクスと,予測モデル215を用いて,成否予測部106が成否予測値を算出する。具体的には、生成されたメトリクスを説明変数として入力し、出力として目的変数(成否予測値)を得る。
 プロジェクトマネージャ1は,成否予測値記録テーブル116に記載の複数の進行中プロジェクトの成否予測値を基に,失敗リスクの高いプロジェクトを認識する。
 図13は,過去プロジェクト情報301を学習し,予測モデル215を生成する方法を表すフローチャートである。その後,図14におけるステップ1501,ステップ1502,ステップ1503により,生成した前記予測モデル215を用いて,進行中プロジェクトの成否予測値を生成する。成否予測値を生成するに至るまでの各ステップを以下で説明する。
 図13において、ステップs1401は、プロジェクト情報抽出部104において,プロジェクト情報113を入力とし、プロジェクト管理指標114は、工程703に基づいて成否予測実行時点までの期間の行のみをフィルタして取り出し、過去プロジェクト情報301を生成する。ただし,プロジェクト管理文書115からは,成否予測実行時点までの格納日付802の文書内の文章をすべて連結して抽出する。
 ステップs1402は、過去プロジェクト情報301を入力とし、プロジェクト情報加工部101において,入力を機械学習の説明変数に適した形へと加工し、メトリクスを生成し,学習時メトリクス記録テーブル212に記録する。
 ステップs1403は,予測モデル構築部105において,学習時メトリクス記録テーブル212内のすべてのメトリクスを説明変数として,過去プロジェクト成否結果記録テーブル111内の成否結果を目的変数として入力し、教師あり機械学習を実行することで、予測モデル215を生成する。目的変数の成否結果として,図6の過去プロジェクト成否結果記録テーブル111のそれぞれの項目の失敗度合い結果値902~905を入力することで,それぞれの項目に対する予測モデル215を生成する。
 図14は,成否予測部106による、プロジェクト成否予測処理を表すフローチャートである。予測フェイズにおけるステップs1501,ステップs1502は,学習フェイズにおけるステップs1401,ステップs1402とそれぞれ同様のフローとなる。
 ステップs1501は、プロジェクト情報抽出部104において,予測対象とするプロジェクトのプロジェクト情報113を入力とし、成否予測実行時点までの期間の行のみをフィルタして取り出し、進行中プロジェクト情報302を生成する。ただし,プロジェクト管理文書115からは,予測対象とするプロジェクトの成否予測実行時点までの格納日付の文書内の文章をすべて連結して抽出する。
 ステップs1502は、進行中プロジェクト情報302を入力とし、プロジェクト情報加工部101において,入力を機械学習の説明変数に適した形へと加工し、メトリクスを生成し,予測時メトリクス記録テーブル214に記録する。
 ステップs1503は,成否予測部106において,予測時メトリクス記録テーブル214内のすべてのメトリクスを説明変数として,ステップs1403にて生成したそれぞれの予測モデル215を用いて機械学習による予測を行うことで,図7の成否予測値記録テーブル116の1002から1005までの成否予測値を生成し,成否予測値記録テーブル116に記録する。
 次に,プロジェクト情報加工部101の詳細を記述する。プロジェクト情報加工部101は,過去プロジェクト情報301および進行中プロジェクト情報302を機械学習のメトリクスとして適切な形に加工する役割を担う。
 図15に、予測時においてプロジェクト情報加工部101が、進行中プロジェクト情報の加工を行うフローを記載した。入力がプロジェクト管理指標114の場合,数値指標加工部102によりメトリクスを生成する。入力がプロジェクト管理文書115の場合,自然言語加工部103により,メトリクスを生成する。
 自然言語加工部103は,入力文章から自然言語処理を用いて単語列を抽出し,当該単語列の出現頻度を計算する。本実施例では,この指標を単語列のスコア値と呼ぶ。スコア値をプロジェクトごとに集計し,集計結果をメトリクスとして出力する。
 ここでは,数値指標加工部102は特許文献1と同様の方法を用いており,本特許の請求項に関わりが薄いため説明を省略する。
 図16は、実施例1に係る自然言語加工部の処理フローを示した図である。本実施例に関わる,自然言語加工部103における処理フローのみを説明する。
 まず,入力されたプロジェクト管理文書115内の文章から,自然言語処理を用いて単語列を抽出する(s1701)。
 抽出した全ての単語列を一つずつ取り出し,キーワード記録テーブル112(図8)に存在するかどうか確認する(s1702)。もし存在した場合,キーワード記録テーブル112に記載の該当単語列の分類1102を読み込む(s1703)。
 その後,単語列分類テーブル600のBADに分類された単語列の出現頻度をもとに,スコア値を計算する(s1704)。
 各単語列と,分類,スコア値を補助記憶装置203内のキーワード・スコアテーブル213に記録する(s1705)。
 最後に,キーワード・スコアテーブル213に記録されたスコア値を集計する。集計の一例として成否予測実行時点以前の単語列スコア値の合計を、全出現単語数で正規化した値をメトリクスとし,学習時メトリクス記録テーブル212に記録する(s1706)。本実施例では、単語列スコア値の集計はGoodまたはBad、あるいはQCDの分類ごとに行う。
 本実施例により、プロジェクト管理指標と、プロジェクト管理文書の双方を判断材料としたプロジェクト成否予測が可能となる。これにより、既存技術と比べ、より広い要因の中から失敗予兆を発見することができる。
 実施例2では、実施例1をさらに発展させて精度の向上を図る例を示す。単語列の分類を詳細化することで説明変数の次元を拡大することができる。
 図17は、実施例2に係る単語列分類テーブル1800の実例を示した図である。実施例1における、図9のテーブルに対応するが、善悪の分類ではなく、プロジェクト管理の異なる視点で分類した分類種別1801とその分類基準1802が格納される。これらは管理者が任意に設定できる。本例では、単語を納期を示すDelivery(D),コストを示すCost(C),品質を示すQuality(Q)に分類した(QCD分類)。
 図18は、実施例2に係るキーワード記録テーブル112の実例を示した図である。実施例1における図8のテーブルに対応するが、善悪の分類1102だけでなく単語列分類テーブル1800の分類に基づくQCD分類1901が追加される。
 図19は、実施例2に係るキーワード・スコアテーブル213の実例を示した図である。実施例1における図10のテーブルに対応するが、QCD分類2001が追加される。
 図20は、実施例2に係る自然言語加工部103の処理フローを示した図である。実施例1における図16の処理フローに対応する。
 図20に示す本実施例の自然言語加工部103の処理フローは,実施例1における図16と同様に処理を行うが,ステップs2003以降が異なる。ステップs2003は,自然言語加工部103において,図9に表される善悪の分類基準に加えて,図17に示されるようなQCDの分類基準を考慮する。
 図18に、自然言語加工部103に入力するキーワード記録テーブル112の具体例を記載した。単語列1101と善悪の分類1102に加え,各単語列のQCD分類1901が記載されている。
 図20のフローでは、s1702で所定の単語列を抽出するとまず,キーワード記録テーブル112を参照して抽出単語列の属性(善悪の分類1102とQCD分類1901)を読み込む(s2003)。
 その後,キーワード記録テーブル112の単語列について,QCDごとに出現頻度をもとに,スコア値1205を計算する(s2004)。
 各単語列1203と,BADの分類1204,QCD分類2001,スコア値1205を補助記憶装置203内の,キーワード・スコアテーブル213に記録する(s2005)。
 図19に示すキーワード・スコアテーブル213に記録された各単語列のスコア値を実施例1と同様に集計し,集計結果をメトリクスとし,学習時メトリクス記録テーブル212に記録する。(s2006)
 QCD分類が入力として増えることにより、説明変数の次元が増え、機械学習の精度の向上が期待できる。
 上記実施例によれば、効率の良いプロジェクトマネジメントが実現可能となるため、効率の良いプロジェクトの実行が可能となり、消費エネルギーが少なく、炭素排出量を減らし、地球温暖化を防止、持続可能な社会の実現に寄与することができる。
ソフトウェア開発プロジェクト成否予測装置 10
プロジェクト情報加工部 101
数値指標加工部 102
自然言語加工部 103
プロジェクト情報抽出部 104
予測モデル構築部 105
成否予測部 106
プロジェクト情報記録DB 110
過去プロジェクト成否結果記録テーブル 111
キーワード記録テーブル 112
プロジェクト情報 113
プロジェクト管理指標 114
プロジェクト管理文書 115
成否予測値記録テーブル 116

Claims (15)

  1.  機械学習によって生成された予測モデルを用いてプロジェクトの成否を予測する成否予測部と、
     予測実行時点までの前記プロジェクトのプロジェクト情報から予測時メトリクスを生成するプロジェクト情報加工部を備え、
     前記予測時メトリクスに基づいた説明変数を前記成否予測部に入力し、出力される目的変数によりプロジェクト成否を予測し、
     前記プロジェクト情報は、
     管理指標と文書を含み、
     前記プロジェクト情報加工部は、
     前記管理指標を前記予測時メトリクスに変換する数値指標加工部と、前記文書を前記予測時メトリクスに変換する自然言語加工部を備える、
     プロジェクト成否予測装置。
  2.  前記自然言語加工部は、
     前記文書内の文章をスコア値へ変換する、
     請求項1記載のプロジェクト成否予測装置。
  3.  前記自然言語加工部は、
     前記文書内の所定の単語の出現頻度に基づいて前記文章を前記スコア値へ変換する、
     請求項2記載のプロジェクト成否予測装置。
  4.  前記自然言語加工部は、
     予め定めた単語の分類を示すキーワード記録テーブルを参照して前記所定の単語を抽出するとともに前記単語の分類に基づいた属性を付与し、
     前記スコア値に前記属性を付与する、
     請求項3記載のプロジェクト成否予測装置。
  5.  前記単語の分類は、プロジェクト管理の視点で良い意味か悪い意味かで分類したものである、
     請求項4記載のプロジェクト成否予測装置。
  6.  前記単語の分類は、プロジェクト管理の異なる視点で分類したものである、
     請求項4記載のプロジェクト成否予測装置。
  7.  プロジェクトの成否を予測する予測モデルの機械学習方法であって、
     前記プロジェクトのプロジェクト情報から学習時メトリクスを生成するプロジェクト情報加工処理と、
     前記学習時メトリクスに基づいた説明変数と、プロジェクト成否結果に基づいた目的変数を用いて、前記予測モデルの機械学習を行う予測モデル構築処理を実行し、
     前記プロジェクト情報は、
     管理指標と文書を含み、
     前記プロジェクト情報加工処理は、
     前記管理指標を前記学習時メトリクスに変換する数値指標加工処理と、前記文書を前記学習時メトリクスに変換する自然言語加工処理を実行する、
     予測モデルの機械学習方法。
  8.  前記自然言語加工処理は、
     前記文書内の文章をスコア値へ変換する、
     請求項7記載の予測モデルの機械学習方法。
  9.  前記自然言語加工処理は、
     前記文書内の所定の単語の出現頻度に基づいて前記文章を前記スコア値へ変換する、
     請求項8記載の予測モデルの機械学習方法。
  10.  前記自然言語加工処理は、
     予め定めた単語の分類を示すキーワード記録テーブルを参照して前記所定の単語を抽出するとともに前記単語の分類に基づいた属性を付与し、
     前記スコア値に前記属性を付与する、
     請求項9記載の予測モデルの機械学習方法。
  11.  前記単語の分類は、プロジェクト管理の視点で良い意味か悪い意味かで分類したものである、
     請求項10記載の予測モデルの機械学習方法。
  12.  前記単語の分類は、プロジェクト管理の異なる視点で分類したものである、
     請求項10記載の予測モデルの機械学習方法。
  13.  請求項7記載の予測モデルの機械学習方法で機械学習した予測モデルを用いたプロジェクト成否予測方法であって、
     予測実行時点までの前記プロジェクトのプロジェクト情報から予測時メトリクスを生成する第2のプロジェクト情報加工処理を実行し、
     前記予測時メトリクスに基づいた説明変数を前記予測モデルに入力し、出力される目的変数によりプロジェクト成否を予測し、
     前記プロジェクト情報は、
     管理指標と文書を含み、
     前記第2のプロジェクト情報加工処理は、
     前記管理指標を前記予測時メトリクスに変換する第2の数値指標加工処理と、前記文書を前記予測時メトリクスに変換する第2の自然言語加工処理を実行する、
     プロジェクト成否予測方法。
  14.  前記第2の自然言語加工処理は、
     前記文書内の所定の単語の出現頻度に基づいて前記文書内の単語をスコア値へ変換する、
     請求項13記載のプロジェクト成否予測方法。
  15.  前記第2の自然言語加工処理は、
     予め定めた単語の分類を示すキーワード記録テーブルを参照して前記所定の単語を抽出するとともに前記単語の分類に基づいた属性を付与し、
     前記スコア値に前記属性を付与する、
     請求項14記載のプロジェクト成否予測方法。
PCT/JP2023/000922 2022-02-08 2023-01-16 プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法 WO2023153140A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-017886 2022-02-08
JP2022017886A JP2023115586A (ja) 2022-02-08 2022-02-08 プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法

Publications (1)

Publication Number Publication Date
WO2023153140A1 true WO2023153140A1 (ja) 2023-08-17

Family

ID=87564287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/000922 WO2023153140A1 (ja) 2022-02-08 2023-01-16 プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法

Country Status (2)

Country Link
JP (1) JP2023115586A (ja)
WO (1) WO2023153140A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235654A (ja) * 2013-06-04 2014-12-15 株式会社東芝 リスク評価装置
JP2017182407A (ja) * 2016-03-30 2017-10-05 株式会社日立システムズ リスク検出装置およびリスク検出方法
WO2021171388A1 (ja) * 2020-02-26 2021-09-02 日本電気株式会社 支援情報生成装置、支援情報生成方法、およびプログラム記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235654A (ja) * 2013-06-04 2014-12-15 株式会社東芝 リスク評価装置
JP2017182407A (ja) * 2016-03-30 2017-10-05 株式会社日立システムズ リスク検出装置およびリスク検出方法
WO2021171388A1 (ja) * 2020-02-26 2021-09-02 日本電気株式会社 支援情報生成装置、支援情報生成方法、およびプログラム記録媒体

Also Published As

Publication number Publication date
JP2023115586A (ja) 2023-08-21

Similar Documents

Publication Publication Date Title
US11281708B2 (en) Utilizing a machine learning model to predict metrics for an application development process
KR102008707B1 (ko) 업무 리스크 관리 시스템
US10275730B2 (en) Method for creating and expressing risk-extended business process models
EP3483797A1 (en) Training, validating, and monitoring artificial intelligence and machine learning models
CA3042926A1 (en) Technology incident management platform
US10417564B2 (en) Goal-oriented process generation
US11269901B2 (en) Cognitive test advisor facility for identifying test repair actions
US20110166849A1 (en) Planning and optimizing it transformations
US20150178647A1 (en) Method and system for project risk identification and assessment
Gupta et al. Reducing user input requests to improve IT support ticket resolution process
US11860905B2 (en) Scanning for information according to scan objectives
US11567824B2 (en) Restricting use of selected input in recovery from system failures
US11615361B2 (en) Machine learning model for predicting litigation risk in correspondence and identifying severity levels
Ardimento et al. Knowledge extraction from on-line open source bug tracking systems to predict bug-fixing time
Arnarsson et al. Supporting knowledge re-use with effective searches of related engineering documents-a comparison of search engine and natural language processing-based algorithms
Li et al. Selective maintenance of multi-state series systems considering maintenance quality uncertainty and failure effects
Corea et al. A taxonomy of business rule organizing approaches in regard to business process compliance
US20190303273A1 (en) Establishing a Proficiency Baseline for any Domain Specific Natural Language Processing
WO2023153140A1 (ja) プロジェクト成否予測装置、予測モデルの機械学習方法、およびプロジェクト成否予測方法
US20230059609A1 (en) Assistance information generation device, assistance information generation method, and program recording medium
Bogojeska et al. IBM predictive analytics reduces server downtime
US20230306139A1 (en) Validation based authenticated storage in distributed ledger
US20240028996A1 (en) Root cause analysis in process mining
US11513862B2 (en) System and method for state management of devices
CN113849369B (zh) 一种评分方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23752609

Country of ref document: EP

Kind code of ref document: A1