Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7680317B2 - 予測装置、予測方法および予測プログラム - Google Patents
[go: Go Back, main page]

JP7680317B2 - 予測装置、予測方法および予測プログラム - Google Patents

予測装置、予測方法および予測プログラム Download PDF

Info

Publication number
JP7680317B2
JP7680317B2 JP2021153472A JP2021153472A JP7680317B2 JP 7680317 B2 JP7680317 B2 JP 7680317B2 JP 2021153472 A JP2021153472 A JP 2021153472A JP 2021153472 A JP2021153472 A JP 2021153472A JP 7680317 B2 JP7680317 B2 JP 7680317B2
Authority
JP
Japan
Prior art keywords
project
information
prediction
task
complete
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021153472A
Other languages
English (en)
Other versions
JP2023045203A (ja
Inventor
浩史 三好
毅 西岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIS Inc
Original Assignee
TIS Inc
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 TIS Inc filed Critical TIS Inc
Priority to JP2021153472A priority Critical patent/JP7680317B2/ja
Publication of JP2023045203A publication Critical patent/JP2023045203A/ja
Application granted granted Critical
Publication of JP7680317B2 publication Critical patent/JP7680317B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、予測装置、予測方法および予測プログラムに関する。
従来、複数のタスクからなるプロジェクトにおいて、各タスクの管理を支援する技術が提案されている。
特開2020-9350号公報
しかしながら、上記の従来技術では、プロジェクトを推進するうえでスケジュールを適切に組み立てることができるよう利用者を支援することができるとは限らない。
例えば、上記の従来技術は、タスクの開始時刻と、タスクの実行に必要な所要時間とに基づくタイムチャートを生成し、生成したタイムチャートをユーザに提供している。また、上記の従来技術は、タイムチャートにおける予定線を入力層に用い、予定線について各タスクの実績線を出力層に設定した教師データを用いて機械学習を行うことにより実績線予測モデルを生成し、新たな予定線を含めたタイムチャートを取得した場合には、この実績線予測モデルを用いて、予測実績線を算出している。
ここで、タスクの実行に必要な所要時間は、このタスクからなるプロジェクトに関する様々な要因(要素)によって変化し得るが、上記の従来技術では、タスクの開始時刻および終了時刻を含めた実績情報に基づく実績戦を教師データに用いているのみである。
つまり、上記の従来技術では、プロジェクトに関する様々な要因が考慮されず、単純に、タスクの実行に必要な所要時間の実績情報が学習データとして用いられているに過ぎない。このようなことから、上記の従来技術では、所要時間を精度よく予測するという点で改善の余地がある。よって、このような上記の従来技術によれば、プロジェクトを推進するうえでスケジュールを適切に組み立てることができるよう利用者を支援することができるとは限らない。
そこで、本発明では、プロジェクトを推進するうえでスケジュールを適切に組み立てることができるよう利用者を支援することを目的とする。
本発明の一態様に係る予測装置は、システムの開発に関するプロジェクトでの実績情報として、前記プロジェクトの属性に関する属性情報と、前記プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する取得部と、前記属性情報と前記時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する予測部とを有することを特徴とする。
本発明の一態様に係る予測方法は、予測装置が実行する予測方法であって、システムの開発に関するプロジェクトでの実績情報として、前記プロジェクトの属性に関する属性情報と、前記プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する取得工程と、前記属性情報と前記時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する予測工程とを含むことを特徴とする。
本発明の一態様に係る予測プログラムは、システムの開発に関するプロジェクトでの実績情報として、前記プロジェクトの属性に関する属性情報と、前記プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する取得手順と、前記属性情報と前記時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する予測手順とを予測装置に実行させることを特徴とする。
本発明によれば、例えば、プロジェクトを推進するうえでスケジュールを適切に組み立てることができるよう利用者を支援することができる。
図1は、実施形態に係る予測システムの一例を示す図である。 図2は、実施形態に係る予測処理の一例を示す図である。 図3は、実施形態に係る予測装置の構成例を示す図である。 図4は、実施形態に係る元データ記憶部の一例を示す図である。 図5は、実施形態に係るモデルデータ記憶部の一例を示す図である。 図6は、実施形態に係るモデル生成処理手順を示すフローチャートである。 図7は、実施形態に係る予測処理手順を示すフローチャートである。 図8は、実施形態に係る予測装置のハードウェア構成例を示すブロック図である。
以下に、予測装置、予測方法および予測プログラムを実施するための形態(以下、「実施形態」と記載する)の一例について図面を参照しつつ詳細に説明する。なお、この実施形態により予測装置、予測方法および予測プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
[実施形態]
〔1.はじめに〕
プロジェクトにおいて、作業を効率化することや、生産性を向上させることは重要な課題である。ここで、プロジェクトを完了させるまでにこなさなければならない業務は細分化され、細分化された各業務はタスクと呼ばれる。そして、作業効率化や生産性向上を図るには、このタスクを如何にして管理するかが重要となる。
例えば、プロジェクトは、タスクの進捗状況を確認しながら推進されるため、タスクごとに時間を管理することで適切にスケジューリングすることが重要である。一例を挙げると、各タスクにはそれを業務として担当する担当者が割り当てられるため、担当者が自身のタスクを完了させるうえでどれくらいの作業時間が必要となるか見積もった所要時間をもとにプロジェクトのスケジューリングが行われる場合がある。
しかしながら、プロジェクトは、その内容に応じて、様々な属性を含み得るため、プロジェクトを構成するタスクごとに、どれくらいの作業時間が必要となるか適切に見積もることは困難な場合がある。また、適切に所要時間を見積もることができない場合、プロジェクト全体としてのスケジューリングにも影響が出てしまうため、作業効率化や生産性向上の実現も困難になってしまう場合がある。
本発明は、上記事情に着目してなされたものであって、その目的とするところは、プロジェクトを推進するうえでスケジュールを適切に組み立てることができるよう利用者を支援することができる技術を提供することにある。このような目的のため、本発明では、プロジェクトでの実績情報として、プロジェクトの属性に関する属性情報と、プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報との組を学習データ(教師データ)として機械学習することで、学習結果に基づいて、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間(すなわち、タスク完了に要する所要時間)を予測する。そして、本発明では、予測結果に関する情報を利用者に提供する。
このような本発明によれば、利用者は、今回のプロジェクトでは、タスクごとにどれくらいの作業時間が必要となるかを適切に把握することできるようになるため、プロジェクトについて最適なスケジュールを組み立てることができるようになる。また、この結果、利用者は、プロジェクトにおける作業効率化や生産性向上を図ることができるようになる。
以下の実施形態では、プロジェクトは、システム開発に関するプロジェクトであるものとして説明する。システム開発に関するプロジェクトとしては、例えば、所定のアプリケーションを動作させる新たなシステムを構築する新規プロジェクト、所定のアプリケーションを動作させる既存のシステムを増強させるエンハンスプロジェクト、所定のアプリケーションを動作させる既存のシステムのメンテナンスに関する保守的プロジェクト等が挙げられる。もちろん、システム開発に関するプロジェクトは、係る例に限定されない。
また、以下に説明する実施形態に係る予測処理は、システム開発に関するプロジェクトだけでなく各種のプロジェクトに適用可能なものである。例えば、実施形態に係る予測処理は、製造業での各種プロジェクトに適用され得る。
〔2.システムについて〕
まず、図1を用いて、実施形態に係る予測システムの構成を説明する。図1は、実施形態に係る予測システムの一例を示す図である。図1には、実施形態に係る予測システムの一例として、予測システム1が示される。
図1に示すように、予測システム1は、端末装置10と、予測装置100とを備える。端末装置10と、予測装置100とは、ネットワークNを介して、有線または無線により通信可能に接続される。なお、図1に示す予測システム1には、任意の数の端末装置10と、任意の数の予測装置100とが含まれてもよい。
端末装置10は、利用者(エンドユーザ)によって利用される情報処理端末であってよい。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。
また、端末装置10には、予測装置100との間での情報の送受信を実現するためのアプリケーションが導入されていてよい。また、係るアプリケーションは、予測装置100にアクセスするための専用のアプリケーションとして実装されてもよいし、ブラウザなどの汎用的なアプリケーションであってもよい。
なお、本実施形態において、利用者とは、タスクにかかる作業時間を知りたいと考える人物、あるいは、特定のプロジェクトについてスケジューリングすることを任された人物等であってよく、また、このような人物としては、例えば、特定のプロジェクトに参加する1メンバーが挙げられる。
予測装置100は、実施形態に係る予測処理を行う情報処理装置(サーバ装置)である。具体的には、予測装置100は、システムの開発に関するプロジェクトでの実績情報として、このプロジェクトの属性に関する属性情報と、このプロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する。そして、予測装置100は、属性情報と時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間を予測する。
なお、本実施形態では、予測装置100が、予測処理に用いるモデルも生成するものとして説明するが、モデルの生成は、予測装置100以外の特定の学習器によって行われてよい。係る場合、予測装置100は、この学習器によって生成されたモデルを用いて、実施形態に係る予測処理を行う。
また、端末装置10を利用者の近くでエッジ処理を行うエッジコンピュータとするなら、予測装置100は、例えば、クラウド側で処理を行うクラウドコンピュータであってよい。
また、図1の例では、端末装置10と、予測装置100とは、それぞれ個別の異なる装置である例が示されるが、端末装置10と、予測装置100とは、一体化されてもよい。このような一体化の例として、例えば、以下の実施形態において、予測装置100が行うものとして説明する機能が、端末装置10側に実装されてもよい。具体的な一例として、実施形態に係る予測プログラムを端末装置10に導入することで、端末装置10を予測装置100として動作させる構成が採用されてもよい。つまり、端末装置10が、機械学習によるモデル生成を含めた一連の予測処理を行ってもよい。
〔3.予測処理の具体例ついて〕
続いて、図2を用いて、実施形態に係る予測処理の具体的な一例を示す。図2は、実施形態に係る予測処理の一例を示す図である。図2に示す予測処理には、学習データを用いた機械学習によりモデルが生成される処理(ステップS11~S13)と、利用者から取得した情報をこのモデルに適用することで実際に作業時間が予測される処理(ステップS21、S22)とが含まれる。
(モデル生成)
はじめに、予測処理の前段階として行われるモデル生成について説明する。図2の例では、予測装置100が、過去に行われた任意のプロジェクトPJnでの実績情報を学習データの元となる元データORDAnを収集し、収集した元データORDAnに基づく学習データ(教師データ)を用いて、予測モデルを生成する場面が示される。
また、元データORDAnには、プロジェクトPJnの属性に関する属性情報と、プロジェクトPJnに含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報とが含まれてよい。このようなことから、予測装置100は、プロジェクトPJnの属性に関する属性情報と、プロジェクトPJnに含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する。
ここで、プロジェクトPJnの属性に関する属性情報とは、プロジェクトPJnに含まれる各タスクを完了させるうえで必要となった作業時間と相関性があると考えられる情報であれば、いかなる情報であってよい。例えば、本発明の発明者らは、どのような属性情報が作業時間との間に相関性を有するかを見出しており、これにより高精度な予測処理を実現するに至った。
例えば、プロジェクトPJnの属性に関する属性情報とは、プロジェクトPJnの規模に関する情報であってよい。また、プロジェクトPJnの属性に関する属性情報とは、プロジェクトPJnに参画したチームに関する情報であってよい。また、プロジェクトPJnの属性に関する属性情報とは、プロジェクトPJnの特性に関する情報であってよい。また、プロジェクトPJnの属性に関する属性情報とは、プロジェクトPJnによる開発対象となったシステムに関する情報であってよい。これらの情報の詳細については後述する。
また、プロジェクトPJnに含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報には、タスクを完了させるうえで必要になると見積もられた作業時間である見積作業時間と、タスクを完了させるうえで実際に必要となった実績作業時間とが含まれてよい。
ここからは、プロジェクトPJnの具体的な一例を用いてモデル生成を説明する。例えば、図2の例では、プロジェクトPJnの一例として、プロジェクトPJ1が示されている。係る例では、予測装置100は、プロジェクトPJ1での実績情報として、プロジェクトPJ1の属性に関する属性情報と、プロジェクトPJ1に含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報との組を取得する。そして、予測装置100は、取得した組を元データORDA1として収集する(ステップS11)。
また、図2の例では、プロジェクトPJnの一例として、プロジェクトPJ2が示されている。係る例では、予測装置100は、プロジェクトPJ2での実績情報として、プロジェクトPJ2の属性に関する属性情報と、プロジェクトPJ2に含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報との組を取得する。そして、予測装置100は、取得した組を元データORDA2として収集する(ステップS11)。
また、図2の例では、プロジェクトPJnの一例として、プロジェクトPJ3が示されている。係る例では、予測装置100は、プロジェクトPJ3での実績情報として、プロジェクトPJ3の属性に関する属性情報と、プロジェクトPJ3に含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報との組を取得する。そして、予測装置100は、取得した組を元データORDA3として収集する(ステップS11)。
なお、予測装置100が、実績情報を取得する手法については限定されない。例えば、図2の例では、プロジェクトPJ1、PJ2およびPJ3に参画した人物によって登録された実績情報を予測装置100が取得するという手法が採用されてもよいし、実績情報が特定の装置に自動的に蓄積されるような場合には、予測装置100は、この装置から実績情報を取得してもよい。
続いて、予測装置100は、ステップS11で収集した元データORDAnからモデルの学習に用いる学習データを生成する(ステップS12)。例えば、予測装置100は、元データORDAnに対するクレンジング処理を行うことで、モデルの学習に用いる学習データを生成する。図2の例では、予測装置100が、元データORDAnから学習データLDnを生成した例が示される。
次に、予測装置100は、学習データLDnを用いた機械学習により、属性情報が入力される予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間に関する情報を出力するモデルを生成する(ステップS13)。例えば、予測装置100は、学習データLDnに含まれる属性情報と時間情報との関係性をモデルに学習させることで、予測対象のプロジェクトに対応する属性情報を入力として、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間の予測に用いられる情報を出力するという予測モデルMnを生成する。図2の例では、予測装置100が、学習データLDnの一例である学習データLD1から予測モデルM1を生成したものとする。
(予測処理)
続いて、予測モデルMnを用いた予測処理について説明する。図2の例によれば、システム開発に関する新規のプロジェクトPJxに参加するメンバーの1人である利用者U1が、自身の担当するタスクTS1にかかる所要時間を知りたいと考えている例が示されている。また、図2には、利用者U1は、タスクTS1を完了させるうえで必要になる作業時間として「6時間」(見積作業時間「6時間」)を見積もっている例が示される。
係る例では、端末装置10は、利用者U1による操作に応じて、予測モデルM1に入力される入力情報として、新規のプロジェクトPJxの属性に関する属性情報と、タスクTS1を完了させるうえで必要となる作業時間に関する時間情報とを予測装置100に送信する。なお、ここでいう時間情報とは、利用者U1によって見積もられた見積作業時間「6時間」を示す情報であってよい。また、端末装置10は、タスクTS1を識別する識別情報も入力情報として送信してよい。
予測装置100は、端末装置10から受け付けた入力情報を予測モデルM1に入力する(ステップS21)。予測モデルM1は、予測装置100により入力された入力情報に応じて、プロジェクトPJx(予測対象のプロジェクトの一例)を構成する1つのタスクTS1を完了させるうえで必要となる作業時間の予測に利用可能な情報を出力する。例えば、予測モデルM1は、タスクTS1を完了させるうえで必要となる作業時間の推定に用いられるスコアを出力してよい。
そして、予測装置100は、予測モデルM1によって出力された出力情報に基づいて、タスクTS1を完了させるうえで必要となる作業時間を予測し、また、予測結果を利用者U1に提供する(ステップS22)。例えば、予測装置100は、予測結果を端末装置10に通知する。
さて、これまで図1および図2で説明してきたように、予測システム1に含まれる予測装置100によれば、システム開発に関するプロジェクトでの実績情報から得られた学習データからモデルを生成し、生成したモデルと予測対象のプロジェクトに対応する属性情報とに基づいて、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間を予測する。このような予測装置100によれば、利用者は、プロジェクトを推進するうえでスケジュールを適切に組み立てることができるようになる。
〔4.予測装置の構成〕
ここからは、図3を用いて、実施形態に係る予測装置100について説明する。図3は、実施形態に係る予測装置100の構成例を示す図である。図3に示すように、予測装置100は、通信部110と、記憶部120と、制御部130とを有する。
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば、端末装置10との間で情報の送受信を行う。
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、元データ記憶部121と、学習データ記憶部122と、モデルデータ記憶部123と、予測結果記憶部124とを有する。
(元データ記憶部121について)
元データ記憶部121は、学習データの元となる元データに関する情報を記憶する。具体的には、元データ記憶部121は、元データに関する情報として、プロジェクトでの実績情報を記憶する。
ここで、図4に、実施形態に係る元データ記憶部121の一例を示す。図2で説明したように、プロジェクトでの実績情報には、プロジェクトの属性に関する属性情報が含まれる。そして、プロジェクトの属性に関する属性情報とは、プロジェクトの規模に関する情報、プロジェクトに参画したチームに関する情報、プロジェクトの特性に関する情報、あるいは、プロジェクトによる開発対象となったシステムに関する情報等であってよいが、図4に示す元データは、このうち、プロジェクトの特性に関する情報にフォーカスした内容となっている。
例えば、プロジェクトの参加者は、プロジェクトを推進するうえでプロジェクト計画を立案する。例えば、利用者は、プロジェクトを効率的に進めることができるようタスク管理を行う。例えば、利用者は、立ち上げプロセス、分析プロセス、設計プロセス、製造プロセス等といったように、プロジェクトをプロセスで分解する。また、利用者は、各プロセスについて、要件定義、基本設計、詳細設計、運用設計、製造、テスト等といったようにさらに細かく分類してゆくことでタスクを定義する。よって、図4に示す元データは、プロジェクトをプロセス(すなわち作業工程)で分類することに応じて定義されたタスクに関する情報に対応する。このような元データは、プロジェクト計画を立案する際に作成されるものであってよく、プロジェクトに含まれるタスクごとの分類情報であって、階層状に分類された分類情報に相当する。
図4の例では、元データは、「プロジェクト種別」、「プロジェクトID」といった項目を有する。また、図4の例では、元データには、「プロジェクトの特性に関する情報」の一例として、「タスク分類情報」、「定義情報」、「機能情報」、「担当者情報」、「時間情報」が含まれる例が示される。なお、「プロジェクト種別」、「プロジェクトID」も「プロジェクトの特性に関する情報」に含まれてよい。
また、図4の例によれば、「タスク分類情報」には、「大分類」、「中分類」、「第1小分類」、「第2小分類」といった項目が含まれる。「定義情報」には、「タスク内容」といった項目が含まれる。「機能情報」には、「機能内容」といった項目が含まれる。また、「担当者情報」には、「氏名」、「経歴」といった項目が含まれる。また、「時間情報」には、「見積作業時間」、「実績作業時間」といった項目が含まれる。
ここからは、元データについてより詳細に説明する。なお、図4に示す元データは、各種存在するプロセス(作業工程)のうち、設計プロセスにフォーカスしたものであるが、実際には、設計プロセス以外にも立ち上げプロセス、分析プロセス、製造プロセス等が含まれてよい。また、プロセスは、プロジェクトの内容によって異なるため、図4に示す元データは一例に過ぎない。すなわち、実施形態に係る情報処理は、図4に示すようなデータ構成でないと実現不可能な処理ではない。
まず、「プロジェクト種別」は、プロジェクトの種別に関する情報であり、図4に示すように、「新規開発」、「エンハンス」、「保守」といったものが一例として挙げられる。「新規開発」とは、例えば、所定のアプリケーションを動作させる新たなシステムを構築するプロジェクトである。「エンハンス」とは、例えば、所定のアプリケーションを動作させる既存のシステムを増強させるプロジェクトである。「保守」とは、例えば、所定のアプリケーションを動作させる既存のシステムのメンテナンスに関するプロジェクトである。
「プロジェクトID」は、プロジェクトを識別する識別情報を示す。図4には、プロジェクト種別「新規開発」と、プロジェクトID「PJ1」とが対応付けられる例が示される。係る例は、プロジェクトID「PJ1」で識別される過去のプロジェクト(プロジェクトPJ1)は、プロジェクト種別「新規開発」に属するプロジェクトであった例を示す。なお、以降の説明は、プロジェクトPJ1の例を用いて行うことにする。
「大分類」は、プロジェクトPJ1が作業工程(プロセス)が大きく分類された分類結果を示し、上記の通り、この分類結果には、立ち上げプロセス、分析プロセス、設計プロセス、製造プロセス等が存在する。プロジェクトPJ1もこの例の通り、立ち上げプロセス、分析プロセス、設計プロセス、製造プロセスという4つの種別に大きく分類されていてよいが、図4の例では、このうち設計プロセスの例のみ示される。
「中分類」は、「大分類」としての分類結果がさらに細かく分類された分類結果を示し、上記の通り、この分類結果には、要件定義、基本設計、詳細設計、運用設計、製造、テスト等が存在する。図4には、大分類「設計プロセス」が、中分類「基本設計」および「詳細設計」に分類されている例が示される。
「第1小分類」は、「中分類」としての分類結果がさらに細かく分類された分類結果を示し、図4には、中分類「基本設計」が、第1小分類「画面設計」および「プログラム設計」に分類されている例が示される。
「第2小分類」は、「第1小分類」としての分類結果がさらに細かく分類された分類結果を示し、図4には、第1小分類「画面設計」が、第2小分類「顧客管理画面設計」および「案件管理画面設計」に分類されている例が示される。
「タスク内容」は、「大分類」としての分類結果、「中分類」としての分類結果、「第1小分類」としての分類結果、「第2小分類」としての分類結果に基づき定義されたタスクの内容を示す情報である。図4には、第2小分類「顧客管理画面設計」と、タスク内容「画面レイアウトの検討」、「画面機能の検討」および「画面入力チェックの検討」とが対応付けられる例が示される。係る例は、第2小分類「顧客管理画面設計」に属するタスクとして、「画面レイアウトの検討」という内容のタスク、「画面機能の検討」という内容のタスク、「画面入力チェックの検討」という内容のタスクが定義された例を示す。
ここで、図4には、「第1小分類」としての分類結果、「第2小分類」としての分類結果、タスク内容のそれぞれには、カッコ内に特定の情報が記されている。この情報は、作業工程で得られる成果物を示す成果物情報である。例えば、図4の例では、第1小分類「画面設計」に対応するカッコ内には「画面設計書」が記されている。係る例は、作業工程「画面設計」では、「画面設計書」という成果物が得られることを意味する。また、図4の例では、第2小分類「顧客管理画面設計」に対応するカッコ内には「顧客管理画面の設計書」が記されている。係る例は、作業工程「顧客管理画面設計」では、「顧客管理画面の設計書」という成果物が得られることを意味する。また、図4の例では、タスク内容「画面レイアウトの検討」に対応するカッコ内には「画面レイアウト仕様書」が記されている。係る例は、係る例は、作業工程「画面レイアウトの検討」では、「画面レイアウト仕様書」という成果物が得られることを意味する。
ここで、例えば、プロジェクトPJ1が所定のアプリケーションに関するプロジェクトであるとする。係る場合、「機能内容」は、対応する作業工程がこのアプリケーションにおいてどのような機能を実現するための工程であるか、その機能の内容を示す情報である。図4には、タスク内容「画面レイアウトの検討」と、機能内容「機能A11」とが対応付けられる例が示される。係る例は、「画面レイアウトの検討」というタスクが、アプリケーションが有する機能のうち「機能A11」という機能に対応する作業である例を示す。
「担当者情報」は、「定義情報」で定義される各タスクを担当する担当者に関する情報を示す。このため、「氏名」は、担当者の氏名に関する情報である。また、「経歴」は、担当者の経歴に関する情報を示す。図4には、タスク内容「画面レイアウトの検討」と、氏名「NA11」とが対応付けられる例が示される。係る例は、「画面レイアウトの検討」というタスクを担当した担当者の氏名が「NA11」である例を示す。また、図4には、タスク内容「画面レイアウトの検討」と、経歴「PF11」とが対応付けられる例が示される。係る例は、「画面レイアウトの検討」というタスクを担当した担当者の経歴が「PF11」である例を示す。
ここで、「担当者情報」についてより詳細に説明する。例えば、タスクを完了させるうえで必要となった作業時間と相関性があると考えられる担当者情報としては、次のような情報が挙げられる。例えば、図4の例では、「担当者情報」は、担当者がプロジェクトPJ1に参画した時期を示す情報、プロジェクトPJ1の内容に関連する資格の保有状況を示す情報であってよい。また、「担当者情報」は、担当者がプロジェクトPJ1だけでなくこれまでにどのようなプロジェクトにおいてどのようなチームに所属した経歴があるかを示す情報、すなわちプロジェクトごとのチーム経歴情報であってよい。また、「担当者情報」は、プロジェクトPJ1で必要となるプログラミング言語での経歴を示す言語経歴情報や、担当者が得意とするプログラミング言語を示す言語情報であってよい。また、「担当者情報」は、担当者の勤怠傾向を示す勤怠情報であってよい。
また、プロジェクトでの実績情報には、プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する「時間情報」も含まれる。そして、図4に示すように、「時間情報」は、タスクを完了させるうえで必要になると見積もられた作業時間である「見積作業時間」と、タスクを完了させるうえで実際に必要となった作業時間である「実績作業時間」とを含んでよい。図4には、タスク内容「画面レイアウトの検討」と、見積作業時間「ETM11」とが対応付けられる例が示される。係る例は、「画面レイアウトの検討」というタスクを担当した担当者が、このタスクには「ETM11」程度の時間が必要であると見積もった例を示す。また、図4には、タスク内容「画面レイアウトの検討」と、実績作業時間「ATM11」とが対応付けられる例が示される。係る例は、「画面レイアウトの検討」というタスクを担当者が完了させるには、実際には、「ATM11」程度の時間が必要であった例を示す。
ここで、図4では不図示であるが、プロジェクトの特性に関する情報には、プロジェクトの難易度を示す情報がさらに含まれてもよい。プロジェクトの難易度は、Q(クオリティ:品質)、C(コスト:費用)、D(デリバリー:納期)のバランスによって算出されてよい。例えば、「新規開発」のプロジェクトでは、Qの重要度「Sランク」、Cの重要度「Sランク」、Dの重要度「Sランク」といったように、QCDの全てにおいて高い重要度が指定される傾向にある。よって、「新規開発」のプロジェクトでは高難易度を示す値が算出され得る。一方、「エンハンス」や「保守」のプロジェクトは、納期には柔軟性があるため、「新規開発」のプロジェクトと比較して低めの難易度を示す値が算出され得る。
さて、ここまで図4を用いて、プロジェクトの属性に関する属性情報として、特にプロジェクトの特性に関する情報の一例について説明してきた。以下では、プロジェクトの属性に関する属性情報として、プロジェクトの規模に関する情報、プロジェクトに参画したチームに関する情報、プロジェクトによる開発対象となったシステムに関する情報の一例についても説明する。
例えば、プロジェクトの規模に関する情報は、プロジェクトについて見積もられた見積工数であってよい。また、プロジェクトの規模に関する情報は、プロジェクトについて見積もられた見積金額であってもよい。
また、プロジェクトに参画したチームに関する情報は、チームごとの責任者を示す情報であってよい。責任者を示す情報とは、例えば、チームを構成する構成メンバーのうち、どのメンバーがプロジェクトマネージャー(PM)であり、どのメンバーがプロジェクトリーダー(PL)であるかを識別可能な情報であってよい。
また、プロジェクトに参画したチームに関する情報は、チームごとのメンバー構成を示す情報であってもよい。メンバー構成を示す情報とは、例えば、チーム名、所属メンバーの氏名、所属メンバーの役割(役職)であってよい。また、メンバー構成を示す情報には、メンバー間での相性を示す情報(例えば、メンバーごとにメンバーに相性の良い(あるいは悪い)メンバーは誰であったかを示す情報)が含まれてもよい。
なお、メンバー間での相性は、特定の人物によって判断されたものであってもよいし、予測装置100が判断してもよい。例えば、予測装置100は、共同作業が必要となった作業工程での履歴情報に基づき算出された作業効率と、この共同作業での平均的な作業効率とを比較した結果、作業効率が向上していたと判定できた場合には、この共同作業に参加したメンバー同士の相性は良いと判断してよい。一方、予測装置100は、作業効率が低下していたと判定できた場合には、この共同作業に参加したメンバー同士の相性は悪いと判断してよい。
また、プロジェクトによる開発対象となったシステムに関する情報は、開発対象となったシステムのシステム構成を示す情報であってよい。システム構成を示す情報とは、例えば、クラウドサーバで構成されるシステム、あるいは、サーバを有しないサーバレスシステムのうち、いずれのシステムであるかを示す情報であってよい。
また、プロジェクトによる開発対象となったシステムに関する情報は、開発対象となったシステムによってユーザに提供されるアプリケーションの種別を示す情報であってもよい。アプリケーションの種別を示す情報とは、例えば、ネイティブアプリ、あるいは、ウェブアプリのうち、いずれのアプリケーションであるかを示す情報であってよい。
(学習データ記憶部122について)
学習データ記憶部122は、学習データ記憶部122に記憶される元データに基づき生成された学習データに関する情報を記憶する。不図示であるが、学習データ記憶部122は、元データそのものを学習データとして記憶してよい。一方、学習データ記憶部122は、元データに対するクレンジング処理が行われた結果得られたデータを学習データとして記憶してもよい。また、学習データ記憶部122は、元データに対して所定の加工処理が施されたデータを学習データとして記憶してもよい。
加工処理について、例えば、予測装置100は、図4に示すような元データをベースとして、プロセスではなく成果物で分類したデータに加工することができる。また、予測装置100は、図4に示すような元データをベースとして、担当者ごとにデータをまとめるという加工を行うこともできる。また、図4を例に挙げると、タスク分類情報、定義情報、機能情報、担当者情報といった各種項目ごとにモデルに学習させる際の重要度が定められる場合がある。よって、予測装置100は、重要度に応じた学習が行われるよう重み付けを行うという加工を行ってもよい。
(モデルデータ記憶部123について)
モデルデータ記憶部123は、予測装置100が生成した予測モデルMnに関する情報を記憶する。ここで、図5に、実施形態に係るモデルデータ記憶部123の一例を示す。図5の例では、モデルデータ記憶部123は、「モデルID」、「予測対象」、「モデルデータ」といった項目を有する。
「モデルID」は、予測モデルMnを識別するための識別情報を示す。例えば、モデルID「M1」により識別される予測モデルMnは、図2の例に示した予測モデルM1に対応する。「予測対象」は、対応するモデルの予測対象を示す。また、「モデルデータ」は、対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
例えば、図5に示す例において、モデルID「M1」により識別されるモデル(予測モデルM1)は、予測対象が「作業時間」(予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間)であり、入力された属性情報に対応する作業時間の予測に用いられることを示す。また、予測モデルM1のモデルデータは、モデルデータMD1であることを示す。
予測モデルM1(モデルデータMD1)は、属性情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された属性情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、作業時間の予測に用いられるスコアを出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、予測モデルM1等が「y=a*x+a*x+・・・+a*x」で示す回帰モデルで実現されるとする。この場合、例えば、予測モデルM1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、予測モデルM1等がDNN等、1つまたは複数の中間層を有するニューラルネットワーク(neural network)で実現されるとする。この場合、例えば、予測モデルM1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
(予測結果記憶部124について)
予測結果記憶部124は、予測モデルMnを用いて予測された予測結果に関する情報を記憶する。不図示であるが、予測結果記憶部124は、例えば、予測対象のプロジェクトを構成するタスクごとに予測された作業時間であって、タスクの完了に必要となる作業時間を、このプロジェクトを識別するプロジェクトIDに対応付けた状態で記憶する。
(制御部130について)
図3に戻り、制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、予測装置100内部の記憶装置に記憶されている各種プログラム(例えば、実施形態に係る予測プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部130は、取得部131と、データ制御部132と、生成部133と、受付部134と、予測部135と、提供部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
(取得部131について)
取得部131は、システムの開発に関するプロジェクトでの実績情報として、プロジェクトの属性に関する属性情報を取得する。
取得部131は、属性情報として、プロジェクトの規模に関する情報を取得する。例えば、取得部131は、プロジェクトの規模に関する情報として、プロジェクトについて見積もられた見積工数、または、プロジェクトについて見積もられた見積金額を取得する。
また、取得部131は、属性情報として、プロジェクトに参画したチームに関する情報を取得する。例えば、取得部131は、プロジェクトに参画したチームに関する情報として、チームごとの責任者を示す情報、チームごとのメンバー構成を示す情報、または、チームごとのメンバー間での相性を示す情報を取得する。
また、取得部131は、属性情報として、プロジェクトの特性に関する情報を取得する。例えば、取得部131は、プロジェクトの特性に関する情報として、プロジェクトの種別を示す情報、または、プロジェクトの難易度を示す情報を取得する。
また、例えば、取得部131は、プロジェクトの特性に関する情報として、プロジェクトに含まれるタスクごとの分類情報であって、階層状に分類された分類情報を取得する。一例として、取得部131は、分類情報として、タスクが属する作業工程が階層上に分類されたタスク分類情報と、タスク分類情報に応じて定義されたタスクの内容を示す定義情報と、作業工程ごとに得られる成果物を示す成果物情報との組を取得する。
ここで、取得部131は、タスクごとに、プロジェクトの特性に関する情報として、タスクを担当した担当者に関する情報をさらに取得してよい。例えば、取得部131は、担当者に関する情報として、担当者がプロジェクトに参画した時期を示す情報、プロジェクトの内容に関連する資格の保有状況を示す情報、担当者がどのようなプロジェクトにおいてどのようなチームに所属した経歴があるかを示すチーム経歴情報、プロジェクトで必要となるプログラミング言語での経歴を示す言語経歴情報、担当者が得意とするプログラミング言語を示す言語情報、または、担当者の勤怠傾向を示す勤怠情報を取得する。
また、取得部131は、属性情報として、プロジェクトによる開発対象となったシステムに関する情報を取得する。例えば、取得部131は、システムに関する情報として、このシステムのシステム構成を示す情報、または、このシステムによってユーザに提供されるアプリケーションの種別を示す情報を取得する。
また、取得部131は、システムの開発に関するプロジェクトでの実績情報として、プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報も取得する。例えば、取得部131は、タスクごとに、時間情報として、タスクを完了させるうえで必要になると見積もられた作業時間である見積作業時間と、タスクを完了させるうえで実際に必要となった作業時間である実績作業時間を取得する。係る時間情報は、これまで説明してきた属性情報を説明変数とする目的変数に対応する。
図2の例では、取得部131は、プロジェクトPJ1での実績情報として、プロジェクトPJ1の属性に関する属性情報と、プロジェクトPJ1に含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報との組を取得している。そして、取得部131は、取得した組を元データORDA1として収集している。
また、図2の例では、取得部131は、プロジェクトPJ2での実績情報として、プロジェクトPJ2の属性に関する属性情報と、プロジェクトPJ2に含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報との組を取得している。そして、取得部131は、取得した組を元データORDA2として収集している。
また、図2の例では、取得部131は、プロジェクトPJ3での実績情報として、プロジェクトPJ3の属性に関する属性情報と、プロジェクトPJ3に含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報との組を取得している。そして、取得部131は、取得した組を元データORDA3として収集している。
また、取得部131は、取得した属性情報と時間情報とを対応付けて、元データ記憶部121に格納してよい。
(データ制御部132について)
データ制御部132は、取得部131により取得された実績情報、具体的には、属性情報と時間情報との組を元データとして、元データからモデルの学習に用いる学習データを生成する。例えば、データ制御部132は、元データに対するクレンジング処理を行うことで、モデルの学習に用いる学習データを生成してよい。
また、データ制御部132は、元データに対して所定の加工処理を施してもよい。例えば、データ制御部132は、プロセスで分類された元データを成果物で分類したデータに加工してよい。また、データ制御部132は、プロセスで分類された元データを担当者ごとに集約してもよい。また、タスク分類情報、定義情報、機能情報、担当者情報といった各種項目ごとにモデルに学習させる際の重要度が定められる場合には、データ制御部132は、重要度に応じた学習が行われるよう重要度に応じた重み付けを行ってもよい。
図2の例では、データ制御部132は、元データORDAn(ORDA1~ORDA3)から学習データLDn(LD1)を生成している。
(生成部133について)
生成部133は、属性情報と時間情報との組を学習データとして、属性情報と時間情報との関係性をモデルに学習させることで、属性情報が入力される予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間を出力するモデルを生成する。例えば、生成部133は、タスクの完了に必要となる作業時間の予測に用いられる情報(例えば、スコア)を出力する予測モデルMnを生成する。
生成部133は、いかなる学習アルゴリズムを用いて予測モデルMnを生成してもよい。例えば、生成部133は、ニューラルネットワーク、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いて予測モデルMnを生成する。一例として、生成部133がニューラルネットワークを用いて予測モデルMnを生成する場合、この予測モデルMnは、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
また、生成部133は、生成した予測モデルMnをモデルデータ記憶部123に格納する。具体的には、生成部133は、属性情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された属性情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、作業時間の予測に用いられるスコアを出力層から出力する予測モデルMnを生成する。そして、生成部133は、生成した予測モデルMnをモデルデータ記憶部123に格納する。
図2の例によれば、生成部133は、学習データORDA1~ORDA3等を学習データ(教師データ)として、学習を行うことにより、予測モデルM1を生成している。例えば、生成部133は、学習データORDA1~ORDA3等に含まれる属性情報に基づいて、予測モデルM1を生成する。例えば、生成部133は、学習データORDA1~ORDA3等に含まれるプロジェクトの規模に関する情報から特徴量を抽出し、抽出した特徴量を用いて、予測モデルM1を生成する。また、例えば、生成部133は、学習データORDA1~ORDA3等に含まれるプロジェクトに参画したチームに関する情報から特徴量を抽出し、抽出した特徴量を用いて、予測モデルM1を生成する。また、例えば、生成部133は、学習データORDA1~ORDA3等に含まれるプロジェクトの特性に関する情報から特徴量を抽出し、抽出した特徴量を用いて、予測モデルM1を生成する。また、例えば、生成部133は、学習データORDA1~ORDA3等に含まれるプロジェクトによる開発対象となったシステムに関する情報から特徴量を抽出し、抽出した特徴量を用いて、予測モデルM1を生成する。
具体的な一例を挙げると、例えば、生成部133は、正解情報が学習データORDA1に含まれる時間情報を示すスコア(スコア「SC1」とする)である場合、学習データORDA1に含まれる属性情報が入力された場合に、予測モデルM1が出力するスコアが「SC1」に近づくように、学習処理を行う。
また、例えば、生成部133は、正解情報が学習データORDA2に含まれる時間情報を示すスコア(スコア「SC2」とする)である場合、学習データORDA2に含まれる属性情報が入力された場合に、予測モデルM1が出力するスコアが「SC2」に近づくように、学習処理を行う。
また、例えば、生成部133は、正解情報が学習データORDA3に含まれる時間情報を示すスコア(スコア「SC3」とする)である場合、学習データORDA3に含まれる属性情報が入力された場合に、予測モデルM1が出力するスコアが「SC3」に近づくように、学習処理を行う。
(受付部134について)
受付部134は、生成部133により生成された予測モデルMnに入力される入力情報を利用者(端末装置10)から受け付ける。例えば、受付部134は、予測モデルMnに入力される入力情報として、予測対象のプロジェクトの属性に関する属性情報と、このプロジェクトを構成するタスクごとの作業時間であって、タスクを完了させるうえで必要となる作業時間に関する時間情報とを受け付ける。なお、時間時間とは、利用者によってタスクごとに見積もられた見積作業時間を示す情報であってよい。
図2の例では、受付部134は、入力情報として、新規のプロジェクトPJxの属性に関する属性情報と、タスクTS1について見積もられた見積作業時間を示す情報とを利用者U1から受け付けている。
(予測部135について)
予測部135は、過去に実施されたプロジェクトの属性に関する属性情報と、このプロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報との関係性を学習したモデル(生成部133により生成された予測モデルMn)と、予測対象のプロジェクトに対応する属性情報とに基づいて、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間を予測する。
例えば、予測部135は、受付部134により受け付けられた入力情報を予測モデルMnに入力する。より具体的には、予測部135は、予測対象のプロジェクトの属性に関する属性情報と、このプロジェクトを構成するタスクごとに見積もられた見積作業時間との組を予測モデルに入力する。予測モデルMnは、入力情報に応じて、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間の予測に用いられる情報を出力する。予測部135は、予測モデルMnが出力した出力情報に基づいて、予測対象のプロジェクトを構成するタスクごとにタスクの完了に必要となる作業時間を予測する。
(提供部136について)
提供部136は、予測部135による予測結果(タスクごとの作業時間)を、作業時間の予測を要求した利用者(入力情報を送信した利用者)に提供する。例えば、提供部136は、予測結果を係る利用者の端末装置10に送信する。
〔5.処理手順〕
次に、図6および図7を用いて、実施形態に係る予測処理の手順について説明する。図6では、予測処理の前段階として行われるモデル生成の手順を示す。図7では、生成されたモデルを用いた予測処理の手順について説明する。
〔5-1.処理手順(1)〕
まず、図6について説明する。図6は、実施形態に係るモデル生成処理手順を示すフローチャートである。
まず、取得部131は、プロジェクトPJnの属性に関する属性情報と、プロジェクトPJnに含まれる各タスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する(ステップS101)。例えば、取得部131は、属性情報として、プロジェクトPJnの規模に関する情報、プロジェクトPJnに参画したチームに関する情報、プロジェクトPJnの特性に関する情報、プロジェクトPJnによる開発対象となったシステムに関する情報を取得してよい。また、例えば、取得部131は、時間情報として、タスクを完了させるうえで必要になると見積もられた作業時間である見積作業時間と、タスクを完了させるうえで実際に必要となった実績作業時間とを、プロジェクトPJnに含まれるタスクごとに取得してよい。
次に、生成部133は、属性情報が示す属性と、時間情報が示す作業時間との関係性をモデルに学習させることで、予測対象のプロジェクトPJxに含まれる各タスクにかかる作業時間を予測する予測モデルMnを生成する(ステップS102)。例えば、生成部133は、属性情報と時間情報との組を学習データとして、予測対象のプロジェクトPJxを構成する各タスクにかかる作業時間の予測に用いられる情報を出力する予測モデルMnを生成する。
〔5-2.処理手順(2)〕
まず、図7について説明する。図7は、実施形態に係る予測処理手順を示すフローチャートである。
まず、受付部134は、予測対象のプロジェクトPJxの属性を示す属性情報と、プロジェクトPJxを構成するタスクごとの作業時間であって、タスクを完了させるうえで必要になると見積もられた見積作業時間を示す時間情報とを利用者から受け付けたか否かを判定する(ステップS201)。
受付部134は、属性情報および時間情報を受け付けていないと判定している間は(ステップS201;No)、属性情報および時間情報を受け付けたと判定できるまで待機する。
一方、予測部135は、属性情報および時間情報を受け付けたと判定された場合には(ステップS201;Yes)、受け付けられた属性情報および時間情報を予測モデルMnに入力する(ステップS202)。
また、予測部135は、入力情報に応じて予測モデルMnが出力した出力情報に基づいて、予測対象のプロジェクトPJxに含まれる各タスクにかかる作業時間を予測する(ステップS203)。
提供部136は、予測部135による予測結果(タスクごとの作業時間)を、作業時間の予測を要求した利用者(入力情報を送信した利用者)に提供する(ステップS204)。例えば、提供部136は、予測結果を係る利用者の端末装置10に送信する。
〔6.ハードウェア構成〕
次に、実施形態に係る予測装置100のハードウェア構成例について説明する。図8は、実施形態に係る予測装置100のハードウェア構成例を示すブロック図である。図8を参照すると、予測装置100は、例えば、プロセッサ801と、ROM802と、RAM803と、ホストバス804と、ブリッジ805と、外部バス806と、インターフェース807と、入力装置808と、出力装置809と、ストレージ810と、ドライブ811と、接続ポート812と、通信装置813と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
(プロセッサ801)
プロセッサ801は、例えば、演算処理装置または制御装置として機能し、ROM802、RAM803、ストレージ810、またはリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般またはその一部を制御する。
(ROM802、RAM803)
ROM802は、プロセッサ801に読み込まれるプログラムや演算に用いるデータなどを格納する手段である。RAM803には、例えば、プロセッサ801に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータなどが一時的または永続的に格納される。
(ホストバス804、ブリッジ805、外部バス806、インターフェース807)
プロセッサ801、ROM802、RAM803は、例えば、高速なデータ伝送が可能なホストバス804を介して相互に接続される。一方、ホストバス804は、例えば、ブリッジ805を介して比較的データ伝送速度が低速な外部バス806に接続される。また、外部バス806は、インターフェース807を介して種々の構成要素と接続される。
(入力装置808)
入力装置808には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、およびレバーなどが用いられる。さらに、入力装置808としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置808には、マイクロフォンなどの音声入力装置が含まれる。
(出力装置809)
出力装置809は、例えば、CRT(Cathode Ray Tube)、LCD、または有機ELなどのディスプレイ装置、スピーカ、ヘッドホンなどのオーディオ出力装置、プリンタ、携帯電話、またはファクシミリなど、取得した情報を利用者に対して視覚的または聴覚的に通知することが可能な装置である。また、本実施形態に係る出力装置809は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
(ストレージ810)
ストレージ810は、各種のデータを格納するための装置である。ストレージ810としては、例えば、ハードディスクドライブ(HDD)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどが用いられる。
(ドライブ811)
ドライブ811は、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体901に記録された情報を読み出し、またはリムーバブル記録媒体901に情報を書き込む装置である。
(接続ポート812)
接続ポート812は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、または光オーディオ端子などのような外部接続機器902を接続するためのポートである。
(通信装置813)
通信装置813は、ネットワークに接続するための通信デバイスであり、例えば、有線または無線LAN、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または各種通信用のモデムなどである。
(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディアなどである。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、または電子機器などであってもよい。
(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、またはICレコーダなどである。
なお、実施形態に係る記憶部120は、ROM802やRAM803、ストレージ810によって実現される。また、プロセッサ801によって実現される実施形態に係る制御部130が、取得部131と、データ制御部132と、生成部133と、受付部134と、予測部135と、提供部136を実現する各制御プログラム(例えば、実施形態に係る予測プログラム)を、ROM802やRAM803などから読み出し実行する。
〔7.その他〕
上記した各処理のうち、自動的に行われるものとして説明した処理の全部または一部は、手動的に行われてもよい。また、手動的に行われるものとして説明した処理の全部または一部は、公知の方法で自動的に行われてもよい。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られるものではない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されなくともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。また、各構成要素は、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成してもよい。また、上記してきた各処理は、矛盾しない範囲で適宜組み合わせて実行されてもよい。
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
1 予測システム
10 端末装置
100 予測装置
120 記憶部
121 元データ記憶部
122 学習データ記憶部
123 モデルデータ記憶部
124 予測結果記憶部
130 制御部
131 取得部
132 データ制御部
133 生成部
134 受付部
135 予測部
136 提供部

Claims (10)

  1. システムの開発に関するプロジェクトでの実績情報として、前記プロジェクトの属性に関する属性情報と、前記プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する取得部と、
    前記属性情報と前記時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する予測部と
    を有することを特徴とする予測装置。
  2. 前記属性情報と、前記時間情報との組を学習データとして、前記関係性を学習させることで、前記モデルとして、属性情報が入力される前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を出力するモデルを生成する生成部をさらに有し、
    前記予測部は、前記生成部により生成されたモデルと、前記予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する
    ことを特徴とする請求項1に記載の予測装置。
  3. 前記取得部は、前記属性情報として、前記プロジェクトの規模に関する情報、前記プロジェクトに参画したチームに関する情報、前記プロジェクトの特性に関する情報、前記プロジェクトによる開発対象となった前記システムに関する情報の少なくとも1つを取得する
    ことを特徴とする請求項1または2に記載の予測装置。
  4. 前記取得部は、前記属性情報のうち、前記プロジェクトの特性に関する情報を取得する場合には、前記プロジェクトの特性に関する情報として、前記プロジェクトの種別を示す情報、前記プロジェクトの難易度を示す情報、前記プロジェクトに含まれるタスクごとの分類情報であって、階層状に分類された分類情報、前記プロジェクトに含まれる各タスクを担当した担当者に関する情報の少なくとも1つを取得する
    ことを特徴とする請求項3に記載の予測装置。
  5. 前記取得部は、前記プロジェクトの特性に関する情報のうち、前記分類情報を取得する場合には、前記分類情報として、前記タスクが属する作業工程が階層上に分類されたタスク分類情報と、前記タスク分類情報に応じて定義されたタスクの内容を示す定義情報と、前記作業工程ごとに得られる成果物を示す成果物情報との組を取得する
    ことを特徴とする請求項4に記載の予測装置。
  6. 前記取得部は、前記プロジェクトの特性に関する情報のうち、前記担当者に関する情報を取得する場合には、前記担当者に関する情報として、前記担当者が前記プロジェクトに参画した時期を示す情報、前記プロジェクトの内容に関連する資格の保有状況を示す情報、前記担当者がどのようなプロジェクトにおいてどのようなチームに所属した経歴があるかを示すチーム経歴情報、前記プロジェクトで必要となるプログラミング言語での経歴を示す言語経歴情報、前記担当者が得意とするプログラミング言語を示す言語情報、前記担当者の勤怠傾向を示す勤怠情報の少なくとも1つを取得する
    ことを特徴とする請求項4または5に記載の予測装置。
  7. 前記取得部は、前記属性情報のうち、前記システムに関する情報を取得する場合には、前記システムに関する情報として、前記システムのシステム構成を示す情報、または、前記システムによってユーザに提供されるアプリケーションの種別を示す情報を取得する
    ことを特徴とする請求項3~6のいずれか1つに記載の予測装置。
  8. 前記取得部は、前記タスクごとに、前記時間情報として、前記タスクを完了させるうえで必要になると見積もられた作業時間である見積作業時間と、前記タスクを完了させるうえで実際に必要となった作業時間である実績作業時間とを取得する
    ことを特徴とする請求項1~7のいずれか1つに記載の予測装置。
  9. 予測装置が実行する予測方法であって、
    システムの開発に関するプロジェクトでの実績情報として、前記プロジェクトの属性に関する属性情報と、前記プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する取得工程と、
    前記属性情報と前記時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する予測工程と
    を含むことを特徴とする予測方法。
  10. システムの開発に関するプロジェクトでの実績情報として、前記プロジェクトの属性に関する属性情報と、前記プロジェクトに含まれるタスクを完了させるうえで必要となった作業時間に関する時間情報とを取得する取得手順と、
    前記属性情報と前記時間情報との関係性を学習したモデルと、予測対象のプロジェクトに対応する属性情報とに基づいて、前記予測対象のプロジェクトを構成するタスクごとに前記タスクの完了に必要となる作業時間を予測する予測手順と
    を予測装置に実行させるための予測プログラム。
JP2021153472A 2021-09-21 2021-09-21 予測装置、予測方法および予測プログラム Active JP7680317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021153472A JP7680317B2 (ja) 2021-09-21 2021-09-21 予測装置、予測方法および予測プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021153472A JP7680317B2 (ja) 2021-09-21 2021-09-21 予測装置、予測方法および予測プログラム

Publications (2)

Publication Number Publication Date
JP2023045203A JP2023045203A (ja) 2023-04-03
JP7680317B2 true JP7680317B2 (ja) 2025-05-20

Family

ID=85776694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021153472A Active JP7680317B2 (ja) 2021-09-21 2021-09-21 予測装置、予測方法および予測プログラム

Country Status (1)

Country Link
JP (1) JP7680317B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118095693A (zh) * 2023-12-28 2024-05-28 北京易点淘网络技术有限公司 一种任务分配方法、装置、电子设备和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055237A1 (en) 2007-08-23 2009-02-26 Henry Bruce P System and method for managing inherent project uncertainty
JP2013030036A (ja) 2011-07-29 2013-02-07 Hitachi Ltd 工程管理システム、工程管理方法、プログラム及び工程管理装置
US20130325763A1 (en) 2012-06-01 2013-12-05 International Business Machines Corporation Predicting likelihood of on-time product delivery, diagnosing issues that threaten delivery, and exploration of likely outcome of different solutions

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458009B1 (en) * 2005-10-14 2013-06-04 J. Scott Southworth Method and system for estimating costs for a complex project

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055237A1 (en) 2007-08-23 2009-02-26 Henry Bruce P System and method for managing inherent project uncertainty
JP2013030036A (ja) 2011-07-29 2013-02-07 Hitachi Ltd 工程管理システム、工程管理方法、プログラム及び工程管理装置
US20130325763A1 (en) 2012-06-01 2013-12-05 International Business Machines Corporation Predicting likelihood of on-time product delivery, diagnosing issues that threaten delivery, and exploration of likely outcome of different solutions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大島 丈史,プロジェクトマネジメントへのAI活用の知識分類モデル,国際P2M学会誌,2018年,Vol.13 No.1,pp.121-141

Also Published As

Publication number Publication date
JP2023045203A (ja) 2023-04-03

Similar Documents

Publication Publication Date Title
CN118093801B (zh) 基于大语言模型的信息交互方法、装置以及电子设备
CN113743615B (zh) 简化机器学习的特征移除框架
Kommisetty et al. Ai-driven enhancements in cloud computing: Exploring the synergies of machine learning and generative ai
US20190340579A1 (en) Intelligent scheduling of events
US20160162837A1 (en) Collaboration pattern creation by crowdsourcing participants
US10896034B2 (en) Methods and systems for automated screen display generation and configuration
US20230325944A1 (en) Adaptive wellness collaborative media system
JP7348230B2 (ja) 生成装置、生成方法、及び生成プログラム
WO2023028551A1 (en) Systems and methods for generating representative models
US20210365614A1 (en) Machine learning based design framework
CN115867928A (zh) 用于使用认证属性参数和操作调节标签向外壳通信提供认知交叉协作访问的基于数字云的平台和方法
JP7680317B2 (ja) 予測装置、予測方法および予測プログラム
TWI746063B (zh) 用於人機介導動作跟踪和管理的標籤方法和系統
WO2023042287A1 (ja) 採用支援装置、採用支援方法、及び採用支援プログラム
Munir et al. Developer recommendation and team formation in collaborative crowdsourcing platforms
CN120849062B (zh) 一种基于智能体协同的短视频全流程获客系统
US11314488B2 (en) Methods and systems for automated screen display generation and configuration
White Intelligent futures in task assistance
JP2019164738A (ja) 予測装置、予測方法、予測プログラム、生成装置、生成方法及び生成プログラム
CN115618989A (zh) 一种开发进程控制方法、装置、设备、介质
Sapkota Artificial Intelligence in property management automation: technologies, current applications, and challenges.
JP6985059B2 (ja) 生成装置、生成方法、及び生成プログラム
CN118885989A (zh) 一种软件授权方法、系统、设备和介质
WO2022064894A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7785415B1 (ja) 業務支援装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250404

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250508

R150 Certificate of patent or registration of utility model

Ref document number: 7680317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150