JP2019185132A - 推定プログラム、推定装置、及び推定方法 - Google Patents

推定プログラム、推定装置、及び推定方法 Download PDF

Info

Publication number
JP2019185132A
JP2019185132A JP2018071110A JP2018071110A JP2019185132A JP 2019185132 A JP2019185132 A JP 2019185132A JP 2018071110 A JP2018071110 A JP 2018071110A JP 2018071110 A JP2018071110 A JP 2018071110A JP 2019185132 A JP2019185132 A JP 2019185132A
Authority
JP
Japan
Prior art keywords
task
productivity
charge
estimated
persons
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.)
Pending
Application number
JP2018071110A
Other languages
English (en)
Inventor
光樹 蓬田
Mitsuki Yomogida
光樹 蓬田
凌 清水
Ryo Shimizu
凌 清水
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018071110A priority Critical patent/JP2019185132A/ja
Publication of JP2019185132A publication Critical patent/JP2019185132A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】タスクに掛かる時間を精度よく見積もる。【解決手段】タスク情報入力部が、タスクの指定と、当該タスクについて見積もられた予定の指定とを受け付ける。生産性推定部が、担当者の各々に対応づけられた、タスクの実施履歴と、タスクの生産性に関する情報とを参照して、当該タスクの実施履歴と、タスクの生産性に関する情報とに基づいて、担当者の各々について、当該タスクにおける、タスクの実施履歴とタスクの生産性との相関関係を特定し、担当者の各々について、担当者の当該タスクの相関関係に基づいて、指定された当該タスクについての生産性を推定し、担当者の各々について推定した生産性と、見積もられた予定とに基づいて、当該タスクの実施スケジュールを生成する。【選択図】図1

Description

本発明は、推定プログラム、推定装置、及び推定方法に関する。
従来より、ソフトウェア開発の工数を見積もり、作業のスケジュールを作成する技術が提案されている。
例えば、実際に行われた開発過程と先に作成したソフトウェア開発計画とを比較・評価し、必要に応じて、見積パラメータデータに修正を加え、実際の開発内容を次回の開発計画にフィードバックする技術がある。
また、過去にリリースした案件の開発工数、開発期間の実績値を見積要素として含み、見積要素に基づいて、新規開発案件の見積値を算出する技術がある。
また、スキルレベルに応じたスキルレベル補正値を用いた計算により、標準作業時間を補正した見積もり作業時間を計算する技術がある。
特開2006−39603号公報 特開2012−208664号公報 特開2009−48580号公報
もっとも、従来の技術は、ウォーターフォール型開発のように、上流工程から下流工程までの一貫した長期間の開発工程に対応するものであった。しかし、アジャイル型開発のようなサイクルで区切られ、短期間でリリースが行われる開発工程では、より精度の高い工数の見積もりが必要となる。また、従来の技術では、作業者のタスクに対する習熟状況を考慮してスケジュールを作成することはしていなかった。
本発明は、一つの側面として、タスクに掛かる時間を精度よく見積もることを目的とする。
一つの態様として、タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付ける。担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴を特定する。前記担当者の各々について、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定する。前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定する。前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する。
一つの側面として、タスクに掛かる時間を精度よく見積もることができる、という効果を有する。
本発明の第1実施形態に係る推定装置の概略構成を示すブロック図である。 タスク情報記憶DBに格納される情報の一例を示す図である。 タスク分類記憶DBに格納される情報の一例を示す図である。 生産性情報記憶DBに格納される情報の一例を示す図である。 生産性の実績、実施間隔、及び経験回数から求めた重回帰分析の一例を示す図である。 第1実施形態の推定装置として機能するコンピュータの概略構成を示すブロック図である。 第1実施形態の推定装置の開発計画時の処理の一例を示すフローチャートである。 タスク性質判断部の処理の詳細の一例を示すフローチャートである。 生産性推定部の生産性を推定する処理の詳細の一例を示すフローチャートである。 生産性推定部の最低所要時間の有無を判断する処理の詳細の一例を示すフローチャートである。 推定装置のタスク完了時の処理の一例を示すフローチャートである。 タスク実績情報記録部の予定時間を補正する処理の詳細の一例を示すフローチャートである。 本発明の第2実施形態に係る推定装置の概略構成を示すブロック図である。 作業工数記憶DBに格納される情報の一例を示す図である。 各担当者の推定所要時間、及び割り当て可能な工数の一例を示す図である。 第2実施形態の推定装置として機能するコンピュータの概略構成を示すブロック図である。 第2実施形態の推定装置の開発計画時の処理の一例を示すフローチャートである。
以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。
まず、本発明の実施形態に係る手法の前提となる背景について説明する。
ソフトウェア開発において開発工数の見積もり精度を向上させることは重要である。見積もり精度が低い場合、納期までに開発を完了させることができず、ビジネスチャンスを逃すことになりうる。仮に、見積もりを誤り想定以上の工数が掛かるにも関わらず納期に間に合わせようとする場合には、人員の追加や担当者の作業時間の増大が起き、想定以上のコストを費やすことになる。
近年、科学技術の急速な進化に伴い、顧客の要望も多様化し、変化しやすい状況にあり、ウォーターフォール型開発のように長期にわたって多大な工数を費やして長期間を掛けて開発した製品又はサービスがすぐに時代遅れとなってしまう場合がある。
そこで注目されているのが、顧客からのフィードバックを受けつつ、短い開発工程を繰り返し、リリースしていくアジャイル開発である。
アジャイル型開発の代表的な手法であるスクラムでは、スプリントとよばれる1〜4週間の短い開発期間に対し、スプリントごとに開発計画を行い、最終的な開発計画では具体的なタスクレベルまで落とし込み、かつ、タスクの時間を見積もる。なお、タスクとは、単体テストやユニットテストなどの工程と、工程のコンポーネント(プログラムの修正など)とによって分類される項目である。また、タスクごとに小単位の作業があり、タスクに含まれる作業に掛かった時間を合計した時間が、タスクに掛かった時間である。
このように、アジャイル型開発では、細かい粒度でタスクに掛かる時間を見積もる必要がある。そのため、長期的な開発期間の見積もりでよいウォーターフォール型開発よりも、アジャイル型開発では、正確な見積もりが要求される。
また、ウォーターフォール型開発は機能の開発ごとに担当者が割り当てられることが多いため、次回の機能開発における時間の間隔の変化が少なく、時間間隔の考慮が不要であった。しかし、アジャイル型開発、特にスクラムの手法では、各タスクの担当者が未定であり、次回、同一分類のタスクに着手する時間間隔が不定である。例えば、2日、1週間、3か月ぶりなど時間間隔は変化する。従って、時間間隔の考慮が必要になる。
これまでも開発規模の大小に関わらず、ソフトウェア開発の工数見積もりの精度を上げるための様々な手法が考えられている。
例えば、様々な要因や過去の実績から見積もり精度を向上する手法がある。この手法では、プロジェクトごとの特性項目(開発言語や開発対象の新規開発規模など)と、生産性に関する特性項目(品質管理部門などの組織サポートの有無や複雑さなど)とを各プロジェクトで数値化し、グルーピングする。そして特性項目に基づいて、見積もり対象のプロジェクトがどのグループに対応するか判断し、対象グループの過去の実績をもとに、見積もりが適切か否かを判断する手法である。
また、各担当者の過去の予定と実績からタスクの見積もり時間を統計的に計算する手法がある。この手法では、計算時に使うパラメータは蓄積された実績をもとに更新していく。
また、過去の予定と実績、個人のスキル差を考慮し、工数を見積もる手法がある。見積もりの際に、個人の生産性を正しく補正するために、タスクの難易度や、上位工程のバグなどの影響を考慮している。
上記を整理すると、従来の手法においても、過去の実績や担当者、チームやタスクの特性をもとに見積もり精度を高める手法が考案されている。しかし、これらでは、チームメンバの成長や、前回の開発時からの時間間隔を考慮していないため、次回の見積もりの際に、同一のタスクに着手する際の見積もり精度が低くなる。
また、アジャイル型開発では、担当者が固定されていないため、ウォーターフォール型開発を想定した従来の手法では、アジャイル型開発については精度良く見積もることができないことが想定される。
また、ウォーターフォール型開発では、開発サイクルが長く、工数や見積もり粒度が大きいが、アジャイル型開発では、開発サイクルが短く、工数や見積もりの粒度が小さいことが特徴である。そのため、従来の手法では、数ヶ月先の予定や、細かい作業まで見積もることが困難だった。
また、ウォーターフォール型開発では、納期調整が人員追加や残業等のコストを掛けることで可能になるため、見積もり精度が多少低くても問題が生じなかった。しかし、アジャイル型開発では、機能の単位でコストと納期を調整するため、見積もり精度が低いと問題が顕在化しやすいという問題がある。
本発明の実施形態では、これらの問題に対処するため、以下の観点に基づいて、タスクの時間間隔や、タスク時間の補正を考慮してタスクの見積もりをする場合について説明する。
まず、第1に、担当者やタスクごとに生産性を分類する。担当者はベテランや新人など、担当者のレベルによってタスクに対するスキルの格差が存在する。また、得意不得意も存在する。例えば、プログラミングスキルは高いが、ドキュメント作成スキルは低いなどである。
これらを考慮するために、タスクを分類し、分類されたタスクと担当者の組み合わせごとに生産性を導入する。
タスクの分類では、一例としてコンポーネントや工程などの組み合わせをタスクの単位とする。また、タスク名を形態素解析した用語の組み合わせをタスクの単位としてもよい。
第2に、担当者の成長や時間経過によるスキルの低下などを考慮する。分類されたタスクについて、それぞれ担当者と見積もった予定時間、実績時間、そしてタスクの完了日を記録する。
過去の生産性の実績から、担当者が次回に取り組む際の生産性を推定することで、個人の成長力や記憶力を加味した推定が可能になる。また、生産性を推定する際に、過去の実績の時間間隔を考慮することで、各担当者の成長力、及び記憶力を考慮した見積もりができる。例えば、(1)半年ぶりに同じ分類のタスクを実施する場合と、(2)先週実施したタスクを実施する場合とを比べると、本来であれば(2)のほうが早くタスクが完了するはずである。したがって、過去の実績の時間間隔を考慮しない場合は、どちらも見積もり時間が同じになり、精度が低くなってしまう。そのため、成長、及び時間経過を反映することで正確な見積もりができるようになる。
第3に、タスクの性質を考慮する。上記第2の観点で成長性を考慮した見積もりをすることができるが、タスクの中には成長しないタスク、あるいはこれ以上成長が見込めないタスクもある。そのため、(1)個人のスキルに依存しないタスク、例えば、申請など1度経験すれば2回目以降は時間をかけずに終わるようなタスクを考慮する。このようなスキルに依存しないタスクを考慮することで、成長、及び時間経過が反映されるタスクと区別することができる。このようなタスクは、どの担当者も同等の生産性を示し、かつ、見積もり時間が毎回同じタスクが該当する。(2)また、タスクの最低所要時間を考慮する。タスクの最低所要時間を考慮することで、生産性を推定した場合に、極端に低い値で見積もられることを防ぐことができる。
第4に、タスクの作業内容の乖離を考慮する。タスクには予定外の作業が必要であったり、実は不要であった作業が存在する場合がある。その場合、予定作業から見積もられたタスクの予定時間は、作業内容に応じて異なってくる。そこで、各タスク内で実施した作業内容の詳細を記録する。見積もった予定作業の予定時間と、実際に行った作業の時間との乖離を考慮して予定時間を補正した上で生産性を計算することで、生産性の精度を高める。
以下、上記背景に基づく各実施形態を説明する。
[第1実施形態]
第1実施形態では、作業者がタスクに取り組む際の時間間隔を考慮し、タスクの生産性について重回帰分析を行って推定し、推定した生産性を用いてタスクの時間を見積もる場合について説明する。なお、本実施形態の生産性とは、タスクについて見積もられた予定時間に対する実際に掛かった実績時間の比とする。例えば、予定時間が2.0であり、実績時間が1.0であれば生産性は0.5となる。生産性の値は小さければ生産性が高く、値が大きければ生産性が低いことを表す。
図1に示すように、本実施形態に係る推定装置10は、タスク情報入力部22と、タスク性質判断部24と、生産性推定部26と、出力部28とを含む。また、推定装置10は、タスク情報記憶DB30と、タスク分類記憶DB32と、生産性情報記憶DB34と、タスク実績情報記録部40と、生産性計算部42とを含む。なお、タスク情報入力部22が入力部の一例であり、生産性推定部26が推定部の一例である。
推定装置10の処理は、大別してタスクに掛かる時間を見積もる開発計画時の処理と、タスク完了時の処理とに分かれる。開発計画時は、タスク情報入力部22、タスク性質判断部24、生産性推定部26、及び出力部28において処理を行う。タスク完了時は、タスク実績情報記録部40、及び生産性計算部42において処理を行う。
まず、開発計画時の各処理部の機能について説明する。なお、処理フローの詳細については後述する。
タスク情報入力部22は、タスクの分類、タスクの予定時間、及びタスクに含まれる予定作業を受け付け、タスク情報記憶DB30、及びタスク分類記憶DB32を更新する。なお、タスクの分類がタスクの指定の一例である。また、タスクの予定時間、及びタスクに含まれる予定作業が、タスクについて見積もられた予定の指定の一例である。
タスクの分類には、タスク自体の分類番号と、コンポーネントの種類と、工程の種類とが含まれる。タスク自体の分類番号は、進捗管理用のツールにより自動的に割り当てられた番号を用いればよい。コンポーネントの種類は、工程に必要なプログラムなどの種類である。工程の種類は、単体テストやユニットテストなどの開発における工程の種類である。タスクの予定時間は、例えば複数の担当者の各々が当該タスクを行う場合の作業時間を見積もった時間の平均時間や、特定の担当者が当該タスクを行う場合の作業時間を見積もった時間などでよい。
タスク情報記憶DB30の一例を図2に示す。開発計画時にタスク情報入力部22で受け付けた情報により、点線で囲った項目、タスク番号、タスク分類、予定時間、及び予定作業を更新する。タスク情報記憶DB30のタスク情報テーブル30Aには、タスク番号、タスク分類、担当者、実績時間、予定時間、完了日、予定作業、及び作業乖離時間の各情報が格納される。図2の1レコード目の例では、タスク番号にDB内の通し番号の1、タスク分類に分類番号の1、担当者に担当者名のAと格納される。また、実績時間に1.5、予定時間に1.5、完了日に2016/02/01、予定作業に「作業1(1.5)/作業2(0.5)/作業3(0.5)」、実績作業に「作業1(1.5)/作業2(0.5)」、作業乖離時間に-0.5と格納される。予定作業の括弧内の時間の合計が予定時間に対応する。なお、枠線で囲っていない項目についてはタスク完了時に更新される。
タスク分類記憶DB32の一例を図3に示す。タスク分類記憶DB32のタスク分類テーブル32Aには、タスク分類、コンポーネント、及び工程が格納される。図3の1レコード目の例では、タスク分類に分類番号の1、コンポーネントにコンポA、工程に単体テストと格納される。
次に、タスク性質判断部24、及び生産性推定部26が参照する生産性情報記憶DB34について説明する。
生産性情報記憶DB34の一例を図4に示す。生産性情報記憶DB34の生産性情報テーブル34Aには、タスク分類、担当者、生産性、予定時間、完了日、及び経験回数が格納される。図4の1レコード目の例では、タスク分類に分類番号の1、担当者に担当者名のA、生産性に2.0、予定時間に2.0、完了日に2016/02/01、経験回数に1が格納される。
タスク性質判断部24は、生産性情報記憶DB34から担当者ごとの当該タスクの生産性に関する情報を取得し、当該タスクの作業時間が担当者のスキルに依存するか否かを判断する。例えば、タスク性質判断部24は、担当者間でタスクの生産性に0.5以上の差異があるか否かを判定する。また、タスク性質判断部24は、生産性に差異がない場合に、当該タスクの生産性に関する情報の履歴から予定時間に変化がないタスクであるかを判定する。予定時間に変化がないかは、例えば、履歴の予定時間の分散が予め定めたしきい値以上であるかなどにより判定すればよい。タスク性質判断部24は、予定時間に変化がないと判定された場合には、当該タスクは担当者のスキルに依存しないタスクであると判断する。一方、予定時間に変化があると判定された場合には、当該タスクは担当者のスキルに依存するスキルであると判断する。
生産性推定部26は、担当者の各々について、生産性情報記憶DB34に格納されている生産性に関する情報に基づいて、当該タスクの見積もり時間を計算する。
生産性推定部26の処理は、タスク性質判断部24で当該タスクは担当者のスキルに依存しないタスクであると判断された場合と、担当者のスキルに依存しないタスクであると判断されなかった場合とに分けられる。担当者のスキルに依存しないタスクであると判断されなった場合、つまり担当者のスキルに依存する場合には、生産性推定部26は、担当者の各々について、当該担当者の当該タスクの生産性の推定を行う。
生産性推定部26は、タスク性質判断部24で当該タスクは担当者のスキルに依存しないタスクであると判断された場合に、生産性情報記憶DB34を参照し、担当者の各々について、当該担当者の当該タスクの直近の生産性を取得する。そして、担当者の各々について、直近の生産性に予定時間を掛け、当該タスクの見積もり時間を計算する。例えば、生産性が0.5、予定時間が2.0であれば当該担当者の当該タスクの見積もり時間は1.0となる。
生産性推定部26は、タスク性質判断部24で当該タスクは担当者のスキルに依存しないタスクであると判断されなかった場合に、生産性情報記憶DB34を参照し、担当者の各々について、当該担当者の当該タスクの実施履歴と生産性とを取得する。実施履歴とは、例えば、生産性情報記憶DB34の完了日や経験回数である。完了日からは、当該タスクの前回実施からの実施間隔を把握できる。生産性推定部26は、取得した当該タスクの実施履歴と、生産性とに基づいて、重回帰分析を行って、実施履歴と生産性との相関関係を特定する。
生産性推定部26は、例えば、図5に示すように、担当者の過去の生産性の実績、実施間隔、及び経験回数から求めた多項式の重回帰関数によってグラフ上にプロット可能な値を求めて、実施履歴と生産性との相関関係を特定する。
相関関係からは担当者のタスクについての傾向が把握できるようになる。傾向とは、例えば、nヶ月以上の実施間隔が空くと生産性の値が1.1倍になり生産性が下がる、1ヶ月以内であれば生産性の値が0.8倍になり生産性が上がる、半年間隔が空いた場合でも5回以上経験したタスクであれば生産性の値は等倍となる、といったものである。
担当者によって実施間隔と、タスクのノウハウに対する記憶力が異なるため、担当者ごとに異なる傾向が生じるが、実施履歴と生産性との相関関係を特定することにより担当者ごとに異なる傾向を把握することが可能となる。
生産性推定部26は、担当者の各々について、特定した相関関係と、当該担当者の実施履歴とに基づいて、当該タスクの生産性を推定する。図5に示すように、重回帰分析による相関関係の推定結果と、当該担当者の前回実施からの実施間隔と、今回の当該タスクを含めた経験回数とから、当該タスクの実施時点における生産性を推定することが可能である。
生産性推定部26は、担当者の各々について、担当者の各々について推定した当該タスクの生産性に、当該タスクの予定時間を掛けてタスクの見積もり時間を計算し、担当者の各々の当該タスクの見積もり時間を出力部28に出力する。また、タスクに最低所要時間がある場合には、最低所要時間以上となるようにタスクの見積もり時間を計算する。例えば、推定された生産性と予定時間とから計算される見積もり時間2.0であるのに、最低所要時間2.5である場合には、当該タスクの見積もり時間を2.5以上となるようにする。なお、担当者の各々について計算された当該タスクの見積もり時間が、タスクの実施スケジュールの一例である。
出力部28は、担当者の各々の当該タスクの見積もり時間を一覧で出力する。なお、生産性推定部26で複数のタスクについて担当者の各々の見積もり時間を計算し、最も効率の良いタスクと担当者との組み合わせを出力するようにしてもよい。また、担当者ごとの生産性の履歴の一覧を生産性情報記憶DB34から取得して、出力するようにしてもよい。
次に、タスク完了時の各処理部の機能について説明する。なお、処理フローの詳細については後述する。
タスク実績情報記録部40は、完了したタスクの完了時のタスクの担当者、タスクの実績時間、タスクの完了日、タスクの実績作業などのタスク情報を受け付け、タスク情報記憶DB30を更新する。また、タスク実績情報記録部40は、予定作業と実績作業とに乖離があるかを判定し、乖離がある場合には、予定作業と実績作業とを比較して増減した実績作業分の作業乖離時間により予定時間を補正する。実績作業が増加した場合は予定時間に増加した分の作業乖離時間を加算し、実績作業が減った場合は予定時間から作業解離時間だけ差し引くようにする。このように実際の実績作業の所要時間に基づいて予定時間を補正することで、補正した予定時間を、タスク情報記憶DB30に反映する。また、上記図2のタスク情報記憶DB30では補正前の予定時間と補正後の予定時間とを分けていないが、分けて管理するようにしてもよい。このように予定時間を補正することで、本来想定されていた予定作業に対する予定時間となるため、正確にタスクの生産性を計算することができる。
生産性計算部42は、受け付けたタスクについて、更新されたタスク情報記憶DB30のタスク分類、担当者、予定時間、実績時間を用いて、生産性情報記憶DB34を更新する。生産性情報記憶DB34の更新は、生産性情報テーブル34Aに、タスクについて記録されたレコードを追加する。タスク分類、担当者、予定時間、及び完了日は、タスク情報記憶DB30の情報をそのまま用いる。生産性は更新された予定時間、及び実績時間に基づいて計算する。経験回数は、担当者と、当該担当者の経験回数の履歴とを参照して、直近の経験回数からカウントアップした経験回数とする。なお、生産性情報記憶DB34には、タスク分類記憶DB32を参照して、コンポーネントや工程の項目を追加するようにしてもよい。
推定装置10は、例えば図6に示すコンピュータ50で実現することができる。コンピュータ50は、Central Processing Unit(CPU)51と、一時記憶領域としてのメモリ52と、不揮発性の記憶部53とを備える。また、コンピュータ50は、入出力装置54と、記憶媒体59に対するデータの読み込み及び書き込みを制御するRead/Write(R/W)部55と、インターネット等のネットワークに接続される通信インターフェース(I/F)56とを備える。CPU51、メモリ52、記憶部53、入出力装置54、R/W部55、及び通信I/F56は、バス57を介して互いに接続される。
記憶部53は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部53には、コンピュータ50を推定装置10として機能させるための推定プログラム60が記憶される。推定プログラム60は、タスク情報入力プロセス62と、タスク性質判断プロセス63と、生産性推定プロセス64と、タスク実績情報記録プロセス65と、生産性計算プロセス66とを有する。また、記憶部53は、タスク情報記憶領域67と、タスク分類記憶領域68と、生産性情報記憶領域69とを有する。
CPU51は、推定プログラム60を記憶部53から読み出してメモリ52に展開し、推定プログラム60が有するプロセスを順次実行する。CPU51は、タスク情報入力プロセス62を実行することで、図1に示すタスク情報入力部22として動作する。また、CPU51は、タスク性質判断プロセス63を実行することで、図1に示すタスク性質判断部24として動作する。また、CPU51は、生産性推定プロセス64を実行することで、図1に示す生産性推定部26として動作する。また、CPU51は、タスク実績情報記録プロセス65を実行することで、図1に示すタスク実績情報記録部40として動作する。また、CPU51は、生産性計算プロセス66を実行することで、図1に示す生産性計算部42として動作する。また、CPU51は、タスク情報記憶領域67と、タスク分類記憶領域68と、生産性情報記憶領域69とから情報を読み出して、メモリ52に展開する。これにより、推定プログラム60を実行したコンピュータ50が、推定装置10として機能することになる。なお、プログラムを実行するCPU51はハードウェアである。
なお、推定プログラム60により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、本実施形態に係る推定装置10の作用について説明する。
まず、開発計画時の処理について図7のフローチャートを参照して説明する。
ステップS100で、タスク情報入力部22は、タスクの分類、タスクの予定時間、及びタスクに含まれる予定作業を受け付け、タスク情報記憶DB30、及びタスク分類記憶DB32を更新する。
ステップS102で、タスク性質判断部24は、生産性情報記憶DB34から担当者ごとの当該タスクの生産性に関する情報を取得し、担当者のスキルに依存するか否かを判断する。
ステップS104で、タスク性質判断部24は、上記ステップS102の判断結果が、タスクの性質が担当者のスキルに依存しないタスクであることを示す判断結果であるか否かを判定する。スキルに依存しないタスクであればステップS106へ移行し、スキルに依存するタスクであればステップS108へ移行する。
ステップS106で、生産性推定部26は、生産性情報記憶DB34を参照し、担当者の各々について、当該担当者の当該タスクの直近の生産性を取得する。そして、担当者の各々について、直近の生産性に予定時間を掛け、当該タスクの見積もり時間を計算する。
ステップS108で、生産性推定部26は、生産性情報記憶DB34を参照し、当該担当者の当該タスクの実施履歴を取得する。そして、取得した実施履歴と生産性との相関関係を特定し、生産性を推定する。処理の詳細については後述する。
ステップS109で、生産性推定部26は、当該タスクの最低所要時間の有無を判断する。処理の詳細については後述する。
ステップS110で、生産性推定部26は、上記ステップ109の判断結果が、タスクの最低所要時間があることを示す判断結果であるか否かを判定する。最低所要時間がある場合には、ステップS112へ移行し、最低所要時間がない場合にはステップS114へ移行する。
ステップS112で、生産性推定部26は、ステップS109の判断結果の最低所要時間以上となるように、担当者の各々について推定した当該タスクの生産性に、当該タスクの予定時間を掛けてタスクの見積もり時間を計算する。
ステップS114で、生産性推定部26は、担当者の各々について推定した当該タスクの生産性に、当該タスクの予定時間を掛けてタスクの見積もり時間を計算する。
ステップS116で、生産性推定部26は、担当者の各々の当該タスクの見積もり時間を出力部28に出力する。そして、出力部28は、担当者の各々の当該タスクの見積もり時間を一覧で出力して処理を終了する。
次に、上記ステップS102のタスク性質判断部24の処理の詳細について図8のフローチャートを参照して説明する。
ステップS1000で、当該タスクの分類番号をタスク分類記憶DB32から取得する。
ステップS1002で、ステップS1000で分類番号を取得した当該タスクについて、当該タスクの生産性に関する情報を担当者ごとに生産性情報記憶DB34から取得する。
ステップS1004で、ステップS1002で担当者ごとに取得した当該タスクの生産性に関する情報に基づいて、担当者間で生産性に差異がないか否かを判定する。差異がない場合にはステップS1006へ移行し、差異がある場合にはステップS1010へ移行する。
ステップS1006で、ステップS1002で担当者ごとに取得した当該タスクの生産性に関する情報に基づいて、予定時間に変化がないタスクであるか否かを判定する。変化がないタスクである場合にはステップS1008へ移行し、変化があるタスクである場合にはステップS1010へ移行する。
ステップS1008で、担当者のスキルに依存しないタスクであると判断して処理を終了する。
ステップS1010で、担当者のスキルに依存するタスクであると判断して処理を終了する。
次に、上記ステップS108の生産性推定部26の処理の詳細について図9のフローチャートを参照して説明する。
ステップS1100で、生産性情報記憶DB34を参照し、担当者の各々の当該タスクの実施履歴と生産性とを取得する。
ステップS1102で、担当者の各々について、取得した当該タスクの実施履歴と、生産性とに基づいて、重回帰分析を行って、実施履歴と生産性との相関関係を特定する。
ステップS1104で、担当者の各々について、特定した相関関係に基づいて、当該タスクの生産性を推定して処理を終了する。
次に、上記ステップS109の生産性推定部26の処理の詳細について図10のフローチャートを参照して説明する。
ステップS1200で、当該タスクの分類番号をタスク分類記憶DB32から取得する。
ステップS1202で、ステップS1200で分類番号を取得した当該タスクについて、当該タスクの生産性に関する情報を担当者ごとに生産性情報記憶DB34から取得する。
ステップS1204で、ステップS1202で取得した担当者ごとの生産性に関する情報に基づいて、担当者の中で生産性が最も良い(生産性が最も高い)担当者の生産性の履歴を取得する。
ステップS1206で、ステップS1204で取得した生産性が最も良い担当者の生産性に変化がないか否かを判定する。変化の有無は、例えば、直近の数回の生産性が0.2以上変化している場合に変化があるものとし、0.2未満の変化であれば変化がないものとする。変化がない場合にはステップS1208へ移行し、変化がある場合にはステップS1210へ移行する。
ステップS1208で、当該タスクの最低所要時間があると判断して処理を終了する。
ステップS1210で、当該タスクの最低所要時間がないと判断して処理を終了する。
次に、タスク完了時の処理について図11のフローチャートを参照して説明する。
ステップS200で、タスク実績情報記録部40は、完了したタスクの完了時のタスクの担当者、タスクの実績時間、タスクの完了日、タスクの実績作業などのタスク情報を受け付ける。
ステップS202で、タスク実績情報記録部40は、ステップS200で受け付けたタスク情報に基づいて、タスク情報記憶DB30の実績に係る項目を更新する。
ステップS204で、タスク実績情報記録部40は、予定作業と実績作業とに乖離があるか否かを判定する。乖離がある場合にはステップS206へ移行し、乖離がない場合にはステップS208へ移行する。
ステップS206で、タスク実績情報記録部40は、予定作業と実績作業とを比較して増減した実績作業分の作業乖離時間により予定時間を補正する。処理の詳細は後述する。
ステップS208で、生産性計算部42は、当該タスクについて、更新された予定時間、及び実績時間に基づいて生産性を計算する。
ステップS210で、生産性計算部42は、ステップS202で更新した内容と、ステップS208で計算した生産性とに基づいて、生産性情報記憶DB34を更新して処理を終了する。
次に、上記ステップS206のタスク実績情報記録部40の処理の詳細について図12のフローチャートを参照して説明する。
ステップS2000で、実績作業が予定作業より増えているか否かを判定する。増えている場合にはステップS2002へ移行する。増えていない場合には減少しているものとしてステップS2004へ移行する。
ステップS2002で、増加分の実績作業の実績時間を、予定時間に加算して補正する。
ステップS2004で、減少分の実績作業の実績時間を、予定時間から差し引いて補正する。
以上説明したように、本実施形態に係る推定装置10によれば、タスクの指定と、当該タスクについて見積もられた予定の指定とを受け付ける。担当者の各々に対応づけられた、タスクの実施履歴と、タスクの生産性に関する情報とを参照する。参照した、当該タスクの実施履歴と、タスクの生産性に関する情報とに基づいて、担当者の各々について、当該タスクにおける、タスクの実施履歴とタスクの生産性との相関関係を特定する。担当者の各々について、担当者の当該タスクの相関関係に基づいて、指定された当該タスクについての生産性を推定する。担当者の各々について推定した生産性と、見積もられた予定とに基づいて、当該タスクの実施スケジュールを生成する。このため、タスクに掛かる時間を精度よく見積もることができる。
以上の本実施形態の手法により、開発チームの担当者各々の成長を考慮することで、タスクで実施する作業内容とそれにかかる時間の見積もり精度が向上する。その結果、製品及びサービスのリリースがスケジュール通りに進み、顧客の信頼を得ることができ、かつ、市場変化の対応も容易になることが想定される。
また、過去の実績を分析することにより、開発計画にかかる工数を削減することができる。また、担当者ごとのタスクの生産性を算出したものを出力すれば、開発チームの成長状況を見える化することも可能である。例えば、担当者ごとのタスクの生産性を比較することでチーム間の格差があるのか、チーム内でスキルが平準化しているかなどを確認できる。タスクの分類ごとに生産性を算出しているため、チームに足りていないスキルは何か等も判断することができる。つまり、チームの改善点を見える化することもできる。
[第2実施形態]
次に第2実施形態について説明する。第2実施形態では、複数の担当者でタスクを分担する場合について説明する。なお第1実施形態と同様となる箇所については同一符号を付して説明を省略する。
スキルに依存しないタスクであれば担当者が定まっていなかったとしてもタスクの見積もりは容易である。しかし、開発計画時にはタスクの担当者が定まっていないことがあり、担当者の生産性をそのままタスクの見積もり時間に利用することができないことがある。そこで、全員で見積もったタスクの予定時間の平均に、各担当者の生産性を掛けて、各メンバの開発期間内の工数の割合で補正をかける。これにより、例えば、能力が高い人が休暇や病欠で不在になる場合にも対応することができる。
図13に示すように、本実施形態に係る推定装置210は、タスク情報入力部22と、作業工数入力部224と、推定部226と、出力部28とを含む。また、推定装置210は、タスク情報記憶DB30と、タスク分類記憶DB32と、生産性情報記憶DB34と、作業工数記憶DB236と、タスク実績情報記録部40と、生産性計算部42とを含む。
作業工数入力部224は、担当者の各々の開発における開発期間内に割り当てられる工数の合計を受け付けて、作業工数記憶DB236を更新する。作業工数記憶DB236の一例を図14に示す。作業工数記憶DB236の作業工数テーブル236Aには、担当者、及び工数が格納される。図14の1レコード目の例では、担当者に担当者名のA、開発期間内の工数に40h(時間)と格納される。また、作業工数入力部224は、推定対象のタスクについて、複数の担当者の各々について見積もられた予定時間を受け付ける。また、作業工数入力部224は、担当者の各々の当該タスク以外のタスクに割り当てられている工数を受け付ける。
推定部226は、生産性情報記憶部34を参照して、複数の担当者の各々の当該タスクに関する生産性を特定する。
推定部226は、受け付けた複数の担当者の各々について見積もられた予定時間と、特定した複数の担当者の各々の当該タスクに関する生産性とに基づいて、複数の担当者の各々のタスクに要する時間の期待値を推定所要時間として算出する。時間の期待値は、複数の担当者の各々について見積もられた予定時間の平均時間と、担当者の生産性の比とを掛け合わせた時間とする。例えば、見積もられた予定時間が、担当者Aについては1.5、担当者Bについては2.5、担当者Cについては2.0であれば、予定時間の平均時間は2.0となる。予定時間の平均時間に対して担当者の生産性を掛けた時間が、当該担当者の推定所要時間となる。図15の計算例に示すように、担当者Aの生産性が0.5であれば推定所要時間は1.0になる。
推定部226は、複数の担当者の各々について算出した時間の期待値と、複数の担当者の各々に当該タスクを割り当て可能な工数の割合とに基づいて、複数の担当者による当該タスクの推定所要時間を算出する。割り当て可能な工数は、例えば、図15に示すように計算する。割り当て可能な工数は、担当者の開発期間内の工数から他のタスクに割り当て済みのタスクの合計時間を差し引いて計算する。例えば、担当者Bであれば32h-8h=24hとなり、日数換算で3日が割り当て可能な工数となる。図15の場合、担当者の合計工数は10であるので、複数の担当者によるタスクの推定所要時間は、1.0*5/10+2.0*3/10+3.0*2/10=1.7と算出される。
推定装置210は、例えば図16に示すコンピュータ250で実現することができる。コンピュータ250は、CPU51と、一時記憶領域としてのメモリ52と、不揮発性の記憶部253とを備える。また、コンピュータ250は、入出力装置54と、記憶媒体59に対するデータの読み込み及び書き込みを制御するR/W部55と、インターネット等のネットワークに接続される通信I/F56とを備える。CPU51、メモリ52、記憶部253、入出力装置54、R/W部55、及び通信I/F56は、バス57を介して互いに接続される。
記憶部253は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部253には、コンピュータ250を推定装置210として機能させるための推定プログラム260が記憶される。推定プログラム260は、タスク情報入力プロセス62と、作業工数入力プロセス263と、推定プロセス264と、タスク実績情報記録プロセス65と、生産性計算プロセス66とを有する。また、記憶部253は、タスク情報記憶領域67と、タスク分類記憶領域68と、生産性情報記憶領域69と、作業工数記憶領域270とを有する。
CPU51は、推定プログラム260を記憶部253から読み出してメモリ52に展開し、推定プログラム260が有するプロセスを順次実行する。CPU51は、タスク情報入力プロセス62を実行することで、図13に示すタスク情報入力部22として動作する。また、CPU51は、作業工数入力プロセス263を実行することで、図13に示す作業工数入力部224として動作する。また、CPU51は、推定プロセス264を実行することで、図13に示す推定部226として動作する。また、CPU51は、タスク実績情報記録プロセス65を実行することで、図13に示すタスク実績情報記録部40として動作する。また、CPU51は、生産性計算プロセス66を実行することで、図13に示す生産性計算部42として動作する。また、CPU51は、タスク情報記憶領域67と、タスク分類記憶領域68と、生産性情報記憶領域69と、作業工数記憶領域270とから情報を読み出して、メモリ52に展開する。これにより、推定プログラム260を実行したコンピュータ250が、推定装置210として機能することになる。なお、プログラムを実行するCPU51はハードウェアである。
なお、推定プログラム260により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、本実施形態に係る推定装置210の作用について説明する。開発計画時の処理について図17のフローチャートを参照して説明する。
ステップS300で、作業工数入力部224は、担当者の各々の開発における開発期間内に割り当てられる工数の合計を受け付け、作業工数記憶DB236を更新する。また、作業工数入力部224は、推定対象のタスクについて、複数の担当者の各々について見積もられた予定時間を受け付ける。また、作業工数入力部224は、担当者の各々の当該タスク以外のタスクに割り当てられている工数を受け付ける。
ステップS302で、複数の担当者の各々について、見積もられた予定時間の平均時間と、担当者の生産性の比とを掛け合わせた時間の期待値として担当者ごとの推定所要時間を算出する。
ステップS304で、複数の担当者の各々について、開発期間内に割り当てられる工数の合計から当該タスク以外のタスクに割り当てられている工数を差し引いて、当該タスクを割り当て可能な工数の割合を求める。
ステップS306で、ステップS302で複数の担当者の各々について算出した時間の期待値と、ステップS304で求めた複数の担当者の各々に当該タスクを割り当て可能な工数の割合とに基づいて、複数の担当者による当該タスクの推定所要時間を算出する。
なお、第2実施形態の他の構成及び作用については第1実施形態と同様であるため説明を省略する。
以上説明したように、本実施形態に係る推定装置210によれば、複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられた当該タスクの予定時間を受け付ける。担当者の各々に対応付けられた、当該タスクの生産性を参照して、複数の担当者の各々の当該タスクに関する生産性を特定する。受け付けた複数の担当者の各々について見積もられた予定時間と、特定した複数の担当者の各々の当該タスクに関する生産性とに基づいて、複数の担当者の各々の当該タスクに要する時間の期待値を算出する。算出した期待値と、複数の担当者の各々に当該タスクを割り当て可能な工数の割合とに基づいて、複数の担当者による当該タスクの推定所要時間を算出する。このため、タスクに掛かる時間を精度よく見積もることができる。
以上の各実施形態に関し、更に以下の付記を開示する。
(付記1)
タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付け、
担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、
前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、
前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する、
処理をコンピュータに実行させることを特徴とする推定プログラム。
(付記2)
前記予定は、予定時間を含み、
前記タスクの生産性に関する情報は、前記タスクについて見積もられた予定時間に対する実績の所要時間の比とし、
前記タスクの実施履歴は、前回のタスクからの実施間隔と、タスクの経験回数とを含み、
前記タスクについて、前記タスクの実施履歴に含まれる前記前回のタスクからの実施間隔、及び前記タスクの経験回数と、前記タスクの生産性に関する情報とに基づいて、重回帰分析を行って前記相関関係を特定する付記1に記載の推定プログラム。
(付記3)
前記タスクの生産性に関する情報は、過去のタスクの生産性を含み、
前記タスクについて、前記記憶部に記憶されている、前記タスクの実施履歴、及び前記タスクの生産性に関する情報に基づいて、前記タスクの生産性が担当者のスキルに依存するか否かを判定し、
前記スキルに依存する場合に、推定した前記生産性に基づいて、前記実施スケジュールを生成し、
前記スキルに依存しない場合に、予め定められた担当者の前記タスクの生産性に関する情報に含まれる過去のタスクの生産性に基づいて、前記実施スケジュールを生成する付記1又は付記2に記載の推定プログラム。
(付記4)
前記タスクの最低所要時間が存在するか否かを判定し、
前記最低所要時間が存在する場合に、推定された前記生産性に基づいて、前記最低所要時間以上となるように、前記タスクの実施スケジュールを生成する付記1〜付記3の何れかに記載の推定プログラム。
(付記5)
前記実施スケジュールが生成され、実施された前記タスクについて、
実際のタスクの実績と予定との作業内容の差分についての実績の所要時間に基づいて、見積もられた前記予定の予定時間を補正し、
前記実績の所要時間と、補正された前記予定の時間とに基づいて、前記タスクの生産性を算出し、前記タスクの生産性に関する情報として記録する付記1〜付記4の何れかに記載の推定プログラム。
(付記6)
複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられたタスクの予定時間を受け付け、
担当者の各々に対応付けられた、前記タスクの生産性に関する情報を記憶する記憶部を参照して、前記複数の担当者の各々の前記タスクに関する生産性を特定し、
受け付けた前記複数の担当者の各々について見積もられた前記予定時間と、特定した前記複数の担当者の各々の前記タスクに関する生産性とに基づいて、前記複数の担当者の各々の前記タスクに要する時間の期待値を算出し、
算出した前記期待値と、前記複数の担当者の各々に前記タスクを割り当て可能な工数の割合とに基づいて、前記複数の担当者による前記タスクの推定所要時間を算出する、
処理をコンピュータに実行させることを特徴とする推定プログラム。
(付記7)
前記タスクの生産性に関する情報は、前記タスクについて見積もられた予定時間に対する実績の所要時間の比とし、
前記複数の担当者の各々についての前記期待値は、前記複数の担当者の各々について見積もられた予定時間の平均時間と、前記担当者の前記生産性の比とを掛け合わせた時間とする付記6に記載の推定プログラム。

前記割り当て可能な工数は、前記タスクを実施する期間において前記担当者が予定している工数から、前記担当者に既に割り当てられた他のタスクの工数を差し引いた工数とする付記6又は付記7に記載の推定プログラム。
(付記9)
タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付ける入力部と、
担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する推定部と、
を含む推定装置。
(付記10)
前記予定は、予定時間を含み、
前記タスクの生産性に関する情報は、前記タスクについて見積もられた予定時間に対する実績の所要時間の比とし、
前記タスクの実施履歴は、前回のタスクからの実施間隔と、タスクの経験回数とを含み、
前記タスクについて、前記タスクの実施履歴に含まれる前記前回のタスクからの実施間隔、及び前記タスクの経験回数と、前記タスクの生産性に関する情報とに基づいて、重回帰分析を行って前記相関関係を特定する付記9に記載の推定装置。
(付記11)
前記タスクの生産性に関する情報は、過去のタスクの生産性を含み、
前記タスクについて、前記記憶部に記憶されている、前記タスクの実施履歴、及び前記タスクの生産性に関する情報に基づいて、前記タスクの生産性が担当者のスキルに依存するか否かを判定し、
前記スキルに依存する場合に、推定した前記生産性に基づいて、前記実施スケジュールを生成し、
前記スキルに依存しない場合に、予め定められた担当者の前記タスクの生産性に関する情報に含まれる過去のタスクの生産性に基づいて、前記実施スケジュールを生成する付記9又は付記10に記載の推定装置。
(付記12)
前記タスクの最低所要時間が存在するか否かを判定し、
前記最低所要時間が存在する場合に、推定された前記生産性に基づいて、前記最低所要時間以上となるように、前記タスクの実施スケジュールを生成する請求項9〜請求項11の何れかに記載の推定装置。
(付記13)
前記実施スケジュールが生成され、実施された前記タスクについて、
実際のタスクの実績と予定との作業内容の差分についての実績の所要時間に基づいて、見積もられた前記予定の予定時間を補正し、
前記実績の所要時間と、補正された前記予定の時間とに基づいて、前記タスクの生産性を算出し、前記タスクの生産性に関する情報として記録する付記9〜付記12の何れかに記載の推定装置。
(付記14)
複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられたタスクの予定時間を受け付ける入力部と、
担当者の各々に対応付けられた、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記複数の担当者の各々の前記タスクに関する生産性を特定し、受け付けた前記複数の担当者の各々について見積もられた予定時間と、特定した前記複数の担当者の各々の前記タスクに関する生産性とに基づいて、前記複数の担当者の各々の前記タスクに要する時間の期待値を算出し、算出した前記期待値と、前記複数の担当者の各々に前記タスクを割り当て可能な工数の割合とに基づいて、前記複数の担当者による前記タスクの推定所要時間を算出する推定部と、
を含む推定装置。
(付記15)
タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付け、
担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、
前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、
前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する、
ことを含む処理をコンピュータが実行することを特徴とする推定方法。
(付記16)
前記予定は、予定時間を含み、
前記タスクの生産性に関する情報は、前記タスクについて見積もられた予定時間に対する実績の所要時間の比とし、
前記タスクの実施履歴は、前回のタスクからの実施間隔と、タスクの経験回数とを含み、
前記タスクについて、前記タスクの実施履歴に含まれる前記前回のタスクからの実施間隔、及び前記タスクの経験回数と、前記タスクの生産性に関する情報とに基づいて、重回帰分析を行って前記相関関係を特定する付記15に記載の推定方法。
(付記17)
前記タスクの生産性に関する情報は、過去のタスクの生産性を含み、
前記タスクについて、前記記憶部に記憶されている、前記タスクの実施履歴、及び前記タスクの生産性に関する情報に基づいて、前記タスクの生産性が担当者のスキルに依存するか否かを判定し、
前記スキルに依存する場合に、推定した前記生産性に基づいて、前記実施スケジュールを生成し、
前記スキルに依存しない場合に、予め定められた担当者の前記タスクの生産性に関する情報に含まれる過去のタスクの生産性に基づいて、前記実施スケジュールを生成する付記15又は付記16に記載の推定方法。
(付記18)
前記タスクの最低所要時間が存在するか否かを判定し、
前記最低所要時間が存在する場合に、推定された前記生産性に基づいて、前記最低所要時間以上となるように、前記タスクの実施スケジュールを生成する付記15〜付記17の何れかに記載の推定方法。
(付記19)
前記実施スケジュールが生成され、実施された前記タスクについて、
実際のタスクの実績と予定との作業内容の差分についての実績の所要時間に基づいて、見積もられた前記予定の予定時間を補正し、
前記実績の所要時間と、補正された前記予定の時間とに基づいて、前記タスクの生産性を算出し、前記タスクの生産性に関する情報として記録する付記15〜付記18の何れかに記載の推定方法。
(付記20)
複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられたタスクの予定時間を受け付け、
担当者の各々に対応付けられた、前記タスクの生産性に関する情報を記憶する記憶部を参照して、前記複数の担当者の各々の前記タスクに関する生産性を特定し、
受け付けた前記複数の担当者の各々について見積もられた前記予定時間と、特定した前記複数の担当者の各々の前記タスクに関する生産性とに基づいて、前記複数の担当者の各々の前記タスクに要する時間の期待値を算出し、
算出した前記期待値と、前記複数の担当者の各々に前記タスクを割り当て可能な工数の割合とに基づいて、前記複数の担当者による前記タスクの推定所要時間を算出する、
ことを含む処理をコンピュータが実行することを特徴とする推定方法。
22 タスク情報入力部
24 タスク性質判断部
26 生産性推定部
28 出力部
30 タスク情報記憶DB
32 タスク分類記憶DB
34 生産性情報記憶DB
40 タスク実績情報記録部
42 生産性計算部
50、250 コンピュータ
51 CPU
52 メモリ
53、253 記憶部
59 記録媒体
60、260 推定プログラム
224 作業工数入力部
226 推定部
236 作業工数記憶DB

Claims (12)

  1. タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付け、
    担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、
    前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、
    前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する、
    処理をコンピュータに実行させることを特徴とする推定プログラム。
  2. 前記予定は、予定時間を含み、
    前記タスクの生産性に関する情報は、前記タスクについて見積もられた予定時間に対する実績の所要時間の比とし、
    前記タスクの実施履歴は、前回のタスクからの実施間隔と、タスクの経験回数とを含み、
    前記タスクについて、前記タスクの実施履歴に含まれる前記前回のタスクからの実施間隔、及び前記タスクの経験回数と、前記タスクの生産性に関する情報とに基づいて、重回帰分析を行って前記相関関係を特定する請求項1に記載の推定プログラム。
  3. 前記タスクの生産性に関する情報は、過去のタスクの生産性を含み、
    前記タスクについて、前記記憶部に記憶されている、前記タスクの実施履歴、及び前記タスクの生産性に関する情報に基づいて、前記タスクの生産性が担当者のスキルに依存するか否かを判定し、
    前記スキルに依存する場合に、推定した前記生産性に基づいて、前記実施スケジュールを生成し、
    前記スキルに依存しない場合に、予め定められた担当者の前記タスクの生産性に関する情報に含まれる過去のタスクの生産性に基づいて、前記実施スケジュールを生成する請求項1又は請求項2に記載の推定プログラム。
  4. 前記タスクの最低所要時間が存在するか否かを判定し、
    前記最低所要時間が存在する場合に、推定された前記生産性に基づいて、前記最低所要時間以上となるように、前記タスクの実施スケジュールを生成する請求項1〜請求項3の何れか1項に記載の推定プログラム。
  5. 前記実施スケジュールが生成され、実施された前記タスクについて、
    実際のタスクの実績と予定との作業内容の差分についての実績の所要時間に基づいて、見積もられた前記予定の予定時間を補正し、
    前記実績の所要時間と、補正された前記予定の時間とに基づいて、前記タスクの生産性を算出し、前記タスクの生産性に関する情報として記録する請求項1〜請求項4の何れか1項に記載の推定プログラム。
  6. 複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられたタスクの予定時間を受け付け、
    担当者の各々に対応付けられた、前記タスクの生産性に関する情報を記憶する記憶部を参照して、前記複数の担当者の各々の前記タスクに関する生産性を特定し、
    受け付けた前記複数の担当者の各々について見積もられた前記予定時間と、特定した前記複数の担当者の各々の前記タスクに関する生産性とに基づいて、前記複数の担当者の各々の前記タスクに要する時間の期待値を算出し、
    算出した前記期待値と、前記複数の担当者の各々に前記タスクを割り当て可能な工数の割合とに基づいて、前記複数の担当者による前記タスクの推定所要時間を算出する、
    処理をコンピュータに実行させることを特徴とする推定プログラム。
  7. 前記タスクの生産性に関する情報は、前記タスクについて見積もられた予定時間に対する実績の所要時間の比とし、
    前記複数の担当者の各々についての前記期待値は、前記複数の担当者の各々について見積もられた予定時間の平均時間と、前記担当者の前記生産性の比とを掛け合わせた時間とする請求項6に記載の推定プログラム。
  8. 前記割り当て可能な工数は、前記タスクを実施する期間において前記担当者が予定している工数から、前記担当者に既に割り当てられた他のタスクの工数を差し引いた工数とする請求項6又は請求項7に記載の推定プログラム。
  9. タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付ける入力部と、
    担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する推定部と、
    を含む推定装置。
  10. 複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられたタスクの予定時間を受け付ける入力部と、
    担当者の各々に対応付けられた、前記タスクの生産性に関する情報を記憶する記憶部を参照して、前記複数の担当者の各々の前記タスクに関する生産性を特定し、
    受け付けた前記複数の担当者の各々について見積もられた前記予定時間と、特定した前記複数の担当者の各々の前記タスクに関する生産性とに基づいて、前記複数の担当者の各々の前記タスクに要する時間の期待値を算出し、
    算出した前記期待値と、前記複数の担当者の各々に前記タスクを割り当て可能な工数の割合とに基づいて、前記複数の担当者による前記タスクの推定所要時間を算出する推定部と、
    を含む推定装置。
  11. タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付け、
    担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、
    前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、
    前記担当者の各々について推定した前記生産性と、見積もられた前記予定とに基づいて、前記タスクの実施スケジュールを生成する、
    ことを含む処理をコンピュータが実行することを特徴とする推定方法。
  12. 複数の担当者によって分担されるタスクに関して、複数の担当者の各々について見積もられたタスクの予定時間を受け付け、
    担当者の各々に対応付けられた、前記タスクの生産性に関する情報を記憶する記憶部を参照して、前記複数の担当者の各々の前記タスクに関する生産性を特定し、
    受け付けた前記複数の担当者の各々について見積もられた前記予定時間と、特定した前記複数の担当者の各々の前記タスクに関する生産性とに基づいて、前記複数の担当者の各々の前記タスクに要する時間の期待値を算出し、
    算出した前記期待値と、前記複数の担当者の各々に前記タスクを割り当て可能な工数の割合とに基づいて、前記複数の担当者による前記タスクの推定所要時間を算出する、
    ことを含む処理をコンピュータが実行することを特徴とする推定方法。
JP2018071110A 2018-04-02 2018-04-02 推定プログラム、推定装置、及び推定方法 Pending JP2019185132A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018071110A JP2019185132A (ja) 2018-04-02 2018-04-02 推定プログラム、推定装置、及び推定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018071110A JP2019185132A (ja) 2018-04-02 2018-04-02 推定プログラム、推定装置、及び推定方法

Publications (1)

Publication Number Publication Date
JP2019185132A true JP2019185132A (ja) 2019-10-24

Family

ID=68341162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018071110A Pending JP2019185132A (ja) 2018-04-02 2018-04-02 推定プログラム、推定装置、及び推定方法

Country Status (1)

Country Link
JP (1) JP2019185132A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021117775A (ja) * 2020-01-27 2021-08-10 Tis株式会社 サーバ装置、プログラム、および情報処理方法
CN113657850A (zh) * 2021-07-29 2021-11-16 东风柳州汽车有限公司 汽车子系统设计工时的确定方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021117775A (ja) * 2020-01-27 2021-08-10 Tis株式会社 サーバ装置、プログラム、および情報処理方法
JP7257979B2 (ja) 2020-01-27 2023-04-14 Tis株式会社 サーバ装置、プログラム、および情報処理方法
CN113657850A (zh) * 2021-07-29 2021-11-16 东风柳州汽车有限公司 汽车子系统设计工时的确定方法、装置、设备及存储介质
CN113657850B (zh) * 2021-07-29 2024-03-29 东风柳州汽车有限公司 汽车子系统设计工时的确定方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10372593B2 (en) System and method for resource modeling and simulation in test planning
US20080010543A1 (en) Test planning assistance apparatus, test planning assistance method, and recording medium having test planning assistance program recorded therein
US8631384B2 (en) Creating a test progression plan
US7562338B2 (en) System development planning tool
US8484060B2 (en) Project estimating system and method
US20090055142A1 (en) Method and apparatus for estimating man-hours
US10853746B2 (en) Systems and methods for scheduling work items
JP2005301894A (ja) 作業進捗管理方法、作業進捗管理装置およびプログラム
US10504045B2 (en) Audit schedule determination
JPWO2018105104A1 (ja) 故障リスク指標推定装置および故障リスク指標推定方法
JP2019185132A (ja) 推定プログラム、推定装置、及び推定方法
JP2007025823A (ja) シミュレーションプログラム、シミュレーション方法
US8046252B2 (en) Sales plan evaluation support system
EP3291151A1 (en) Data analysis apparatus and data analysis method
JP2009048580A (ja) プロジェクト計画方法、プロジェクト計画プログラム、および、プロジェクト計画システム
WO2001016838A9 (en) Project management, scheduling system and method
JP2000039904A (ja) プロジェクト管理システム
WO1994016397A2 (en) Method of enterprise-wide to do list scheduling
JP2008299496A (ja) 業務シミュレータおよびそのプログラム
Oberle et al. DDPS: A Project Methodology for Data-Driven Process Simulation.
JP3727832B2 (ja) 生産スケジュール作成装置及び生産スケジュール作成装置における生産スケジュール作成プログラムを記録した記録媒体
US8620704B1 (en) Full-kit management in projects: determining the full-kit date
JP2010198249A (ja) 商品開発プロジェクト管理システム
Pourbafrani et al. Steady State Estimation for Business Process Simulations
US20240013111A1 (en) Automation support device and automation support method