JP2020197939A - 開発者割当案生成装置および開発者割当案生成方法 - Google Patents
開発者割当案生成装置および開発者割当案生成方法 Download PDFInfo
- Publication number
- JP2020197939A JP2020197939A JP2019103911A JP2019103911A JP2020197939A JP 2020197939 A JP2020197939 A JP 2020197939A JP 2019103911 A JP2019103911 A JP 2019103911A JP 2019103911 A JP2019103911 A JP 2019103911A JP 2020197939 A JP2020197939 A JP 2020197939A
- Authority
- JP
- Japan
- Prior art keywords
- developer
- work
- task
- work content
- information
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】作業内容に応じて適切な開発者を割り当てることを可能にする。【解決手段】開発者情報記憶部120は、開発者にて実施された開発タスクである実施タスクの作業内容である実作業内容を含む開発者情報を開発者ごとに記憶する。開発タスク情報記憶部130は、実施タスクと実作業内容との対応関係を示す開発タスク情報を記憶する。未実施タスク作業内容推定部160は、開発タスク情報に基づいて、実施されていない開発タスクである未実施タスクの作業内容である未実施作業内容を推定する。開発者割当案生成部170は、未実施作業内容と開発者情報とに基づいて、未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する。【選択図】図1
Description
本開示は、開発者割当案生成装置および開発者割当案生成方法に関する。
計算機システムの開発などでは、通常、種々の開発タスクに対して、その開発タスクを実施する開発者を割り当てている。これに関して、特許文献1には、作業フェーズに対して、その作業フェーズに用いられる開発環境の使用能力の有無に基づいて、開発者を割り当てる技術が開示されている。
しかしながら、特許文献1に記載の技術では、作業フェーズにおける作業内容が考慮されていない。このため、高度な専門知識を要する開発作業などの場合、開発環境の使用能力の有無だけでは、開発タスクに対して開発者を適切に割り当てることが難しい。
本開示は、上記課題を鑑みてなされたものであり、作業内容に応じて適切な開発者を割り当てることが可能な開発者割当案生成装置および開発者割当案生成方法を提供することである。
本開示の一態様に従う開発者割当案生成装置は、開発者にて実施された開発タスクである実施タスクに応じて行われた作業内容である実作業内容を含む開発者情報を前記開発者ごとに記憶する開発者情報記憶部と、前記実施タスクと前記実作業内容との対応関係を示す開発タスク情報を記憶する開発タスク情報記憶部と、前記開発タスク情報に基づいて、実施されていない開発タスクである未実施タスクに応じて行われる作業内容である未実施作業内容を推定する推定部と、前記未実施作業内容と前記開発者情報とに基づいて、前記未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する生成部と、を有する。
本発明によれば、作業内容に応じて適切な開発者を割り当てることが可能になる。
以下、本開示の実施例について図面を参照して説明する。
<実施例1におけるシステム開発者割当案生成装置の構成>
図1は、本実施例におけるシステム開発者割当案生成装置100の構成図である。システム開発者割当案生成装置100は、システム開発に係る複数の開発者の中から、システム開発上の指示である開発タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する開発者割当案生成装置である。
図1は、本実施例におけるシステム開発者割当案生成装置100の構成図である。システム開発者割当案生成装置100は、システム開発に係る複数の開発者の中から、システム開発上の指示である開発タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する開発者割当案生成装置である。
システム開発者割当案生成装置100は、成果物版管理情報記憶部110と、開発者情報記憶部120と、開発タスク情報記憶部130と、開発者割当戦略記憶部140と、実施済タスク作業内容特定部150と、未実施タスク作業内容推定部160と、開発者割当案生成部170とを有する。また、システム開発者割当案生成装置100は、入力装置180および出力装置190と接続可能である。
成果物版管理情報記憶部110、開発者情報記憶部120、開発タスク情報記憶部130および開発者割当戦略記憶部140は、RAM(Random Access Memory)およびROM(Read Only Memory)などの揮発性記憶素子、および、HDD(Hard Disk Drive)およびSSD(Solid State Drive)などの不揮発性記憶素子などの記憶装置で構成される。
成果物版管理情報記憶部110は、システム開発により開発された成果物である開発成果物200(図2参照)と、開発成果物200の編集履歴である成果物編集記録300(図3参照)とを記憶する。開発成果物200は、複数あってもよい。成果物編集記録300は、システム開発における開発タスクに応じた、1つまたは複数の開発成果物を含む編集単位ごとに記憶される。
開発者情報記憶部120は、システム開発を行う開発者に関する開発者情報500(図5参照)を開発者ごとに記憶する。開発者情報500は、後述するように、開発者の属性情報である開発者属性510と、開発者が過去に行った作業の作業実績である実作業実績を示す開発者作業実績520とを含む。開発者作業実績520は、作業実績として、開発者が行った作業の作業内容である担当者作業内容と、担当者作業内容に関する開発者の能力の度合いである能力度とを含む。
開発タスク情報記憶部130は、開発タスクに関する開発タスク情報400(図4参照)を開発タスクごとに記憶する。開発タスク情報400は、開発タスクとその開発タスクに応じて行う作業の作業内容との対応関係を示す情報であり、具体的には、開発タスクの属性情報であるタスク属性410と、既に実施された開発タスクに応じて行われた作業内容である実作業内容420と、未だ実施されていない開発タスク応じて行われると推定された作業内容である推定作業内容430とを含む。
開発者割当戦略記憶部140は、開発者を開発タスクに割り当てる方針(戦略)を示す方針情報である開発者割当戦略情報600を記憶する方針記憶部である。
実施済タスク作業内容特定部150は、成果物版管理情報記憶部110に記憶された開発成果物200および成果物編集記録300に基づいて、開発タスク情報400および開発者情報500(具体的には、実作業内容420および開発者作業実績520)とを生成して開発者情報記憶部120および開発タスク情報記憶部130にそれぞれ記憶する機能を有する作業内容特定部である。実施済タスク作業内容特定部150は、当該機能を実現するためのプログラムを記憶する記憶装置と、そのプログラムを実行するCPU(Central Processing Unit)などの演算装置で実現される。
未実施タスク作業内容推定部160は、開発タスク情報記憶部130に記憶された開発タスク情報400内の実作業内容420に基づいて、未だ実施されていない開発タスクである未実施タスクに応じて行われる作業内容である未実施作業内容を推定し、その推定した未実施作業内容を、未実施タスクに対応する開発タスク情報400の推定作業内容430に反映する機能を有する。未実施タスク作業内容推定部160は、当該機能を実現するためのプログラムを記憶する記憶装置と、そのプログラムを実行するCPUなどの演算装置で実現される。
開発者割当案生成部170は、開発者情報記憶部120が記憶する開発者情報500と、開発タスク情報記憶部130が記憶する開発タスク情報400と、開発者割当戦略記憶部140が記憶する開発者割当戦略情報600とに基づいて、未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案である開発者割当案700(図7参照)を生成する機能を有する。開発者割当案生成部170は、当該機能を実現するためのプログラムを記憶する記憶装置と、そのプログラムを実行するCPUなどの演算装置で実現される。
なお、開発者割当案生成部170は、開発者割当案700を出力装置190から出力してもよい。出力装置190は、例えば、ディスプレイまたはプリンタなどであり、開発者割当案生成部170は、例えば、開発者割当案700をディスプレイ上に表示したり、開発者割当案700を印字した印字物をプリンタから出力したりする。また、開発者割当戦略情報600は、複数の方針を示してもよい。この場合、開発者割当案生成部170は、入力装置180からユーザの入力を受け付け、その入力に従って、開発者割当戦略情報600が示す複数の方針の中から、開発者割当案生成部170が用いる方針を選択してもよい。入力装置180は、例えば、キーボードまたはマウスなどである。
また、実施済タスク作業内容特定部150、未実施タスク作業内容推定部160および開発者割当案生成部170の記憶装置は、成果物版管理情報記憶部110、開発者情報記憶部120、開発タスク情報記憶部130および開発者割当戦略記憶部140の記憶装置と同一のものでもよい。
<開発成果物>
図2は、開発成果物200の一例を示す図である。開発成果物200は、システム開発の成果物であり、開発タスクに応じて編集(作成および更新)されるたびに、成果物版管理情報記憶部110に記憶される。
図2は、開発成果物200の一例を示す図である。開発成果物200は、システム開発の成果物であり、開発タスクに応じて編集(作成および更新)されるたびに、成果物版管理情報記憶部110に記憶される。
開発成果物200は、自身(開発成果物200)の識別子である成果物名210と、本体である成果物内容220とを含む。成果物名210は、例えば、「function_a.xls」のような文字列で表される。成果物名210の末尾などに、開発成果物200のファイル種別を示す拡張子(例えば、「xls」)が含まれてもよい。成果物内容220は、文字列、図表および動画像などの内容物で構成される。また、成果物内容220は、内容物間の配置および文字列のフォントのような各内容物のレイアウトを示すレイアウト属性などを含んでもよい。
開発成果物200には、自身の識別性の向上を図るために、開発成果物200が電子データとして格納されている格納場所を示す成果物格納パス230が含まれてもよい。成果物格納パス230は、例えば、「\\development\AAA\」のような文字列で表される。また、格納場所は、成果物格納パス230の代わりに、または、成果物格納パス230に加えて、例えば、「\\development\AAA\function_a.xls」のような形式を用いて、成果物名210に含まれてもよい。開発成果物200は、自身の属性情報として、ファイルサイズまたは文字数などの規模情報、初期作成日時または更新日時などの日時情報、および、最初に作成した初期作成者と最後に更新した最新更新者との少なくとも一方を示す編集者情報などを有してもよい。
<成果物編集記録>
図3は、成果物編集記録300の一例を示す図である。成果物編集記録300は、例えば、開発タスクに応じた、1つまたは複数の開発成果物を含む編集単位に対する作業である編集作業が終了するたびに、その作業を行った開発者によって作成されて成果物版管理情報記憶部110に記憶される。
図3は、成果物編集記録300の一例を示す図である。成果物編集記録300は、例えば、開発タスクに応じた、1つまたは複数の開発成果物を含む編集単位に対する作業である編集作業が終了するたびに、その作業を行った開発者によって作成されて成果物版管理情報記憶部110に記憶される。
成果物編集記録300は、編集作業の識別子である版管理ID310と、編集作業が終了した日時である編集時刻320と、成果物編集記録300を作成した作成者の識別子である編集者330と、編集作業に関する情報を文字列で示したテキストメッセージ340と、編集作業において編集された開発成果物200の一覧である編集ファイル一覧350とを含む。
版管理ID310は、例えば、「REVISION001」のような文字列で表される。編集時刻320は、例えば、「2019/03/01/14:25」ような時刻を示す文字列で表される。この例では、編集時刻320は、年月日時分の単位で表されるが、これよりも粗い単位が使用されてもよいし、これよりも細かい単位が使用されてもよい。編集者330は、例えば、「日立太郎」のような、人名またはハンドルネームなどを示す文字列で表される。テキストメッセージ340は、編集作業の作業内容および補足情報などを示す文字列で表される。テキストメッセージ340には、「TASK001」のような、版管理ID310の編集作業に対応する開発タスクを識別するタスクIDが含まれてもよい。なお、1つのタスクIDに複数の版管理ID310が対応付けられてもよい。
編集ファイル一覧350は、編集ファイル名351と、編集種別352と、編集規模353とを有する。編集ファイル名351は、編集作業が行われた開発成果物200を識別する識別子であり、図2の成果物名210、または、成果物名210と成果物格納パス230との組み合わせと対応する。
編集種別352は、開発成果物200に対する編集の種別を示す文字列で表される。編集の種別は、例えば、開発成果物200を新規に作成した「ファイル作成」、開発成果物200を削除した「ファイル削除」、開発成果物200の構成要素を追加した「要素追加」、開発成果物200の構成要素を変更した「要素変更」、および、開発成果物200の構成要素を削除した「要素削除」などを表す。なお、開発成果物200の構成要素は、文字および画像などである。編集規模353は、開発成果物200に対する編集の規模を示す数値で表される。編集規模353は、例えば、編集された文字数、行数またはファイルサイズ数などで表される。
<開発タスク情報>
図4は、開発タスク情報400の一例を示す図である。開発タスク情報400は、開発タスクの属性情報であるタスク属性410と、実施済タスク作業内容特定部150にて特定された作業内容である実作業内容420と、未実施タスク作業内容推定部160にて推定された作業内容を示す推定作業内容430とを含む。
図4は、開発タスク情報400の一例を示す図である。開発タスク情報400は、開発タスクの属性情報であるタスク属性410と、実施済タスク作業内容特定部150にて特定された作業内容である実作業内容420と、未実施タスク作業内容推定部160にて推定された作業内容を示す推定作業内容430とを含む。
タスク属性410は、開発タスクを識別する識別子であるタスクID411と、開発タスクの指示内容を文字列で表した作業指示412とを有する。また、タスク属性410は、開発タスクを実施する担当者として割り当てられた開発者の識別子である担当者413と、開発タスクが完了した日時である完了時刻414とを有してもよい。
実作業内容420および推定作業内容430は、開発タスクの作業内容を複数の分類方式のそれぞれで分類した複数の種別情報と、その種別情報で示される作業で開発成果物200に対して行われた編集の規模を示す規模情報とを有してもよい。図の例では、実作業内容420および推定作業内容430は、種別情報として、ファイル種別421、成果物種別422、ドメイン種別423および編集種別424を有し、規模情報として編集規模425を有している。
ファイル種別421は、開発タスクに応じた開発成果物200(開発タスクにより編集作業の作業対象となった開発成果物200)のファイル種別であり、例えば、「c」および「xls」などのファイルの拡張子で表される。
成果物種別422は、開発タスクに応じた開発成果物200のシステム開発上の分類であり、例えば、「プログラム」、「設計書」、「テスト」および「設定ファイル」などの文字列で表される。なお、「テスト」は、他のプログラムのような成果物の動作などをテストするためのテスト用ファイル(例えば、プログラムやマクロファイル)が開発成果物200であることを示す。
ドメイン種別423は、開発タスクに応じた開発成果物200が関わるドメインの種別であり、例えば、「融資」および「預金」のような業務ドメイン、または、「空調」および「エレベーター」のような製品ドメインを示す文字列で表される。ドメイン種別423は、例えば、業務ドメイン内の業務種別または製品ドメイン内の製品種別のような更に細かい種別を示してもよい。
編集種別424は、開発タスクに応じて開発成果物200に対して行われた編集の種別を示す文字列で表される。編集種別424は、成果物編集記録300における編集種別352と同じ種別を示してもよいが、編集種別352を調整したものを示してもよい。編集種別352の調整としては、例えば、「ファイル作成」と「要素追加」とを併せて「新要素追加」を作成すること、および、「ファイル削除」と「要素削除」を併せて「既存要素削除」を作成することなどが挙げられる。
編集規模425は、開発タスクに応じて開発成果物200に対して行われた編集の規模を示す数値で表される。編集規模425は、成果物編集記録300の編集規模353と同じデータ形式を用いても良い。
なお、タスク属性410のタスクID411および作業指示412は、開発タスクが発生した際に作成され、開発タスク情報400として記憶される。その後、未実施タスク作業内容推定部160にて未実施作業内容が推定されると、その未実施作業内容が推定作業内容430として開発タスク情報400に反映され、さらに、開発タスクが完了し、実施済タスク作業内容特定部150にて実作業内容が特定されると、その実作業内容が実作業内容420として開発タスク情報400に反映される。タスク属性410の担当者413および完了時刻414は、例えば、実作業内容420が開発タスク情報400に反映される際などに、実施済タスク作業内容特定部150にて追加される。
<開発者情報>
図5は、開発者情報500の一例を示す図である。開発者情報500は、開発者の属性情報である開発者属性510と、開発者が過去に行った作業の作業内容に関する開発者作業実績520とを有する。開発者属性510は、開発者の識別子である開発者名511を有する。また、開発者属性510は、開発者の年齢、経歴および資格などの情報を有してもよい。
図5は、開発者情報500の一例を示す図である。開発者情報500は、開発者の属性情報である開発者属性510と、開発者が過去に行った作業の作業内容に関する開発者作業実績520とを有する。開発者属性510は、開発者の識別子である開発者名511を有する。また、開発者属性510は、開発者の年齢、経歴および資格などの情報を有してもよい。
開発者作業実績520は、開発者が行った作業の作業内容である担当者作業内容と、担当者作業内容に関する開発者の能力度とを有してもよい。本実施例では、開発者作業実績520は、担当者作業内容として、種別情報である、ファイル種別521、成果物種別522、ドメイン種別523および編集種別524を有し、開発者の能力度として、最終編集日525、編集回数526、累計編集規模527および最大編集規模528を有する。
ファイル種別521は開発タスク情報400のファイル種別421と対応し、成果物種別522は開発タスク情報400の成果物種別422と対応し、ドメイン種別523は開発タスク情報400のドメイン種別423と対応し、編集種別524は開発タスク情報400の編集種別424と対応する。
最終編集日525は、当該作業(ファイル種別521、成果物種別522、ドメイン種別523および編集種別524で表される作業内容の作業)を最後に実施した日時であり、「2019/03/29」のような文字列で表される。編集回数526は、当該作業を実施した回数であり、「40」のような数値で表される。累計編集規模527は、当該作業で開発成果物200に対して行われた編集の規模である編集規模425の累計値であり、「12000」のような数値で表される。最大編集規模528は、当該作業で開発成果物200に対して行われた編集の編集規模425の最大値を示しており、「500」のような数値で表される。
<開発者割当戦略>
図6は、開発者割当戦略情報600の例を示す図である。図6では、開発者割当戦略情報600として、開発者割当戦略情報600aおよび600bの2つの例が示されているが、開発者割当戦略情報600aおよび600bを区別する必要がない場合、これらを単に開発者割当戦略情報600と記載する。
図6は、開発者割当戦略情報600の例を示す図である。図6では、開発者割当戦略情報600として、開発者割当戦略情報600aおよび600bの2つの例が示されているが、開発者割当戦略情報600aおよび600bを区別する必要がない場合、これらを単に開発者割当戦略情報600と記載する。
開発者割当戦略情報600は、開発者を開発タスクに割り当てる戦略(条件)を示す情報であり、具体的には、開発者を開発タスクに割り当てる際に、開発タスク情報400の推定作業内容430と開発者情報500の開発者作業実績520とに含まれる各要素情報(例えば、ファイル種別421およびファイル種別521など)をどのように使用するかを示す情報である。なお、図の例では、開発者割当戦略情報600aおよび600bのそれぞれが#1〜#3までの複数の方針を示している。
開発者割当戦略情報600は、ファイル種別条件値601と、成果物種別条件値602と、ドメイン種別条件値603と、編集種別条件値604と、最終編集日条件値605と、編集回数条件値606と、累計編集規模条件値607と、最大編集規模条件値608とを有してもよい。なお、図では、「条件値」という文言を省略している。
ファイル種別条件値601、成果物種別条件値602、ドメイン種別条件値603および編集種別条件値604は、推定作業内容430のファイル種別421、成果物種別422、ドメイン種別423および編集種別424とそれぞれ対応し、同様に、開発者作業実績520のファイル種別521、成果物種別522およびドメイン種別523、編集種別524ともそれぞれ対応している。
ファイル種別条件値601、成果物種別条件値602、ドメイン種別条件値603および編集種別条件値604は、開発タスクの担当者として割り当てる開発者の候補を選択するための制約条件であり、それぞれ対応する推定作業内容430および開発者作業実績520の種別情報を考慮する度合いを示す。開発者割当戦略情報600aは、制約条件として、各種別情報を考慮するか否か示し、開発者割当戦略情報600bでは、制約条件として、各種別情報を考慮する順位を表す数値を示している。図の例では、開発者割当戦略情報600aは、種別情報を考慮する場合、「valid」を示し、考慮しない場合、「invalid」を示す。
最終編集日条件値605、編集回数条件値606、累計編集規模条件値607および最大編集規模条件値608は、開発者作業実績520の最終編集日525、編集回数526、累計編集規模527および最大編集規模528とそれぞれ対応している。
最終編集日条件値605、編集回数条件値606、累計編集規模条件値607および最大編集規模条件値608は、上記の制約条件により選択された開発者の候補に対して、候補としての適正度に応じた順位付けを行うための指標を示す指標情報である。開発者割当戦略情報600aは、指標として、開発者の能力度に対する優先順位を示し、開発者割当戦略情報600bは、指標として、開発者の能力度に対する重み値を示している。
<開発者割当案>
図7は、開発者割当案700の一例を示す図である。開発者割当案700は、開発タスクごとに生成される。開発者割当案700は、開発タスクの識別子を示す割当タスクID701と、開発タスクに対して担当者として割り当てる開発者の候補である割当候補者の一覧である割当候補開発者リスト702と、を有する。
図7は、開発者割当案700の一例を示す図である。開発者割当案700は、開発タスクごとに生成される。開発者割当案700は、開発タスクの識別子を示す割当タスクID701と、開発タスクに対して担当者として割り当てる開発者の候補である割当候補者の一覧である割当候補開発者リスト702と、を有する。
割当タスクID701は、開発タスク情報400のタスクID411と対応している。割当候補開発者リスト702は、割当候補者の識別子を含む。各識別子は、開発者情報500の開発者名511と対応している。割当候補開発者リスト702は、例えば、適正度に応じた順序で割当候補者の識別子を並べた情報である。
なお、開発者割当案700は、順位を付けるために指標情報を用いて算出した値などを割当候補者の識別子ごとに示してもよい。また、開発者割当案700は、開発タスクの推定作業内容430をさらに示してもよいし、割当候補者の開発者作業実績520のうち推定作業内容430に対応する種別情報などをさらに示してもよい。
<実施済タスク作業内容特定部の動作>
図8は、実施済タスク作業内容特定部150の処理の一例を説明するためのフローチャートである。
図8は、実施済タスク作業内容特定部150の処理の一例を説明するためのフローチャートである。
ステップS801では、実施済タスク作業内容特定部150は、成果物版管理情報記憶部110から開発成果物200および成果物編集記録300を取得する。
ステップS802では、実施済タスク作業内容特定部150は、取得した開発成果物200および成果物編集記録300に基づいて、開発成果物200ごとに、実作業内容として開発成果物200を編集した際に行った作業の作業内容を特定する。このとき、実施済タスク作業内容特定部150は、開発タスク情報400の実作業内容420および推定作業内容430と同じ形式で作業内容を特定する。作業内容を特定する具体的な処理については、<作業内容の特定処理>にて後述する。
ステップS803では、実施済タスク作業内容特定部150は、開発者情報記憶部120から成果物編集記録300に含まれる編集者330に対応する開発者情報500を取得し、その開発者情報500の開発者作業実績520に、ステップS802で特定した作業内容を反映する。作業内容を開発者作業実績520に反映する処理については、<作業内容の開発者作業実績への反映処理>にて後述する。
ステップS804では、実施済タスク作業内容特定部150は、開発タスク情報記憶部130から成果物編集記録300に対応する開発タスク情報400を特定し、その開発タスク情報400の実作業内容420に、ステップS802で特定した作業内容を反映して、本処理を終了する。成果物編集記録300と開発タスク情報400との対応を特定する処理については、<成果物編集記録と開発タスク情報との対応付け処理>にて後述する。また、作業内容を実作業内容420に反映する処理については、<作業内容の実作業内容への反映処理>にて後述する。
<作業内容の特定処理>
本処理では、実施済タスク作業内容特定部150は、先ず、成果物編集記録300の編集ファイル一覧350に基づいて、成果物編集記録300(班管理ID310)ごとに、過去に編集された開発成果物200を特定する。例えば、実施済タスク作業内容特定部150は、編集ファイル一覧350に含まれる編集ファイル名351にて識別される開発成果物200の全てを、過去に編集された開発成果物200として特定する。
本処理では、実施済タスク作業内容特定部150は、先ず、成果物編集記録300の編集ファイル一覧350に基づいて、成果物編集記録300(班管理ID310)ごとに、過去に編集された開発成果物200を特定する。例えば、実施済タスク作業内容特定部150は、編集ファイル一覧350に含まれる編集ファイル名351にて識別される開発成果物200の全てを、過去に編集された開発成果物200として特定する。
続いて、実施済タスク作業内容特定部150は、特定した各開発成果物200の成果物名210に含まれる拡張子に基づいて、各開発成果物200のファイル種別421を特定する。
さらに、実施済タスク作業内容特定部150は、各開発成果物200の成果物種別422およびドメイン種別423を特定する。例えば、実施済タスク作業内容特定部150は、開発成果物200の成果物格納パス230に含まれるディレクトリ名から、成果物種別422およびドメイン種別423を特定する。この場合、ディレクトリ名と成果物種別422およびドメイン種別423との対応関係を予め定めておき、実施済タスク作業内容特定部150は、その対応関係を用いて、ディレクトリ名から成果物種別422およびドメイン種別423を特定することができる。例えば、実施済タスク作業内容特定部150は、「program」というディレクトリ名のディレクトリに開発成果物200が格納されている場合、成果物種別422を「プログラム」と特定する。
なお、実施済タスク作業内容特定部150は、全ての開発成果物200について、成果物名210および成果物内容220の類似度に基づくクラスタリングを行い、各クラスタにつけたラベルを、成果物種別422およびドメイン種別423として用いてもよい。類似度としては、例えば、成果物名210および成果物内容220の文字列情報および画像情報をベクトル化して算出するコサイン類似度などが挙げられる。
さらに、実施済タスク作業内容特定部150は、編集ファイル一覧350における各開発成果物200の編集ファイル名351に対応する編集種別352および編集規模353を、それぞれ開発成果物200の編集種別424および編集規模425として特定する。
そして、実施済タスク作業内容特定部150は、特定した作業内容(ファイル種別421、成果物種別422、ドメイン種別423および編集種別424)が全て同じ複数の開発成果物200が存在するか否かを確認する。作業内容が全て同じ複数の開発成果物200が存在する場合、実施済タスク作業内容特定部150は、それらの作業内容を1つの作業内容として併合し、作業内容が全て同じ複数の開発成果物200の編集規模425を合計した値を、併合した1つの作業内容に対応する編集規模425として生成する。
<作業内容の開発者作業実績への反映処理>
本処理では、実施済タスク作業内容特定部150は、先ず、成果物編集記録300ごとに、編集者330と同じ開発者名511を有する開発者情報500の開発者作業実績520において、ステップS802の作業内容の特定処理で特定した作業内容(ファイル種別421、成果物種別422、ドメイン種別423および編集種別424)に対応する実作業実績(レコード)が存在するか否かを確認する。
本処理では、実施済タスク作業内容特定部150は、先ず、成果物編集記録300ごとに、編集者330と同じ開発者名511を有する開発者情報500の開発者作業実績520において、ステップS802の作業内容の特定処理で特定した作業内容(ファイル種別421、成果物種別422、ドメイン種別423および編集種別424)に対応する実作業実績(レコード)が存在するか否かを確認する。
対応する実作業実績が存在しない場合、実施済タスク作業内容特定部150は、開発者作業実績520に新しい実作業実績を追加し、その実作業実績のファイル種別521、成果物種別522、ドメイン種別523および編集種別524のそれぞれに、特定した作業内容のファイル種別421、成果物種別422、ドメイン種別423および編集種別424を記録する。そして、実施済タスク作業内容特定部150は、追加した実作業実績の最終編集日525には、成果物編集記録300の編集時刻320を記録し、編集回数526には、「1」を記録し、累計編集規模527および最大編集規模528には、特定した編集規模425を記録する。
一方、対応する実作業実績が存在する場合、実施済タスク作業内容特定部150は、対応する実作業実績の最終編集日525を、成果物編集記録300の編集時刻320に更新し、編集回数526に1を加え、累計編集規模527に、特定した作業内容の編集規模425を加える。また、実施済タスク作業内容特定部150は、特定した作業内容の編集規模425が対応する実作業実績の最大編集規模528を超えている場合、その最大編集規模528を編集規模425に更新する。
<成果物編集記録と開発タスク情報との対応付け処理>
本処理では、実施済タスク作業内容特定部150は、例えば、成果物編集記録300のテキストメッセージ340内に含まれるタスクID411にて特定される開発タスクの開発タスク情報400を、成果物編集記録300に対応する開発タスク情報400として特定する。
本処理では、実施済タスク作業内容特定部150は、例えば、成果物編集記録300のテキストメッセージ340内に含まれるタスクID411にて特定される開発タスクの開発タスク情報400を、成果物編集記録300に対応する開発タスク情報400として特定する。
また、実施済タスク作業内容特定部150は、成果物編集記録300のテキストメッセージ340と、開発タスク情報400の作業指示412との類似度を算出し、成果物編集記録300のテキストメッセージ340との類似度が最も高い作業指示412を有する開発タスク情報400を、その成果物編集記録300に対応する開発タスク情報400として特定してもよい。
<作業内容の実作業内容への反映処理>
本処理では、実施済タスク作業内容特定部150は、ステップS802の作業内容の特定処理において、成果物編集記録300ごとに特定したファイル種別421、成果物種別422、ドメイン種別423、編集種別424および編集規模425のそれぞれを、成果物編集記録300に対応する開発タスク情報400における実作業内容420のファイル種別421、成果物種別422、ドメイン種別423および編集種別424に記録する。
本処理では、実施済タスク作業内容特定部150は、ステップS802の作業内容の特定処理において、成果物編集記録300ごとに特定したファイル種別421、成果物種別422、ドメイン種別423、編集種別424および編集規模425のそれぞれを、成果物編集記録300に対応する開発タスク情報400における実作業内容420のファイル種別421、成果物種別422、ドメイン種別423および編集種別424に記録する。
<未実施タスク作業内容推定部の動作>
図9は、未実施タスク作業内容推定部160の処理の一例を説明するためのフローチャートである。
図9は、未実施タスク作業内容推定部160の処理の一例を説明するためのフローチャートである。
ステップS901では、未実施タスク作業内容推定部160は、開発タスク情報記憶部130から、実施された開発タスクである実施タスクに関する情報として、実作業内容420が空でない開発タスク情報400を取得する。
ステップS902では、未実施タスク作業内容推定部160は、ステップS901で取得した開発タスク情報400のタスク属性410と実作業内容420との関係性を特定する。関係性を特定する処理については、<タスク属性と実作業内容の関係性の特定処理>にて後述する。
ステップS903では、未実施タスク作業内容推定部160は、開発タスク情報記憶部130から、まだ実施していない開発タスクである未実施タスクに関する情報として、実作業内容420が空である開発タスク情報400を取得する。
ステップS904では、未実施タスク作業内容推定部160は、ステップS902で特定した関係性に基づいて、ステップS903で取得した開発タスク情報400のタスク属性410を入力として推定した作業内容を、推定作業内容430に反映し、本処理を終了する。作業内容を推定する処理については、<作業内容の推定処理>にて後述する。
<タスク属性と実作業内容の関係性の特定処理>
未実施タスク作業内容推定部160は、開発タスク情報400ごとに、タスク属性410と実作業内容420の関係性を特定する。
未実施タスク作業内容推定部160は、開発タスク情報400ごとに、タスク属性410と実作業内容420の関係性を特定する。
先ず、未実施タスク作業内容推定部160は、開発タスク情報400のタスク属性410と、実作業内容420の各要素との関係性を分析する。例えば、未実施タスク作業内容推定部160は、ファイル種別421の値が同じ複数の開発タスク情報400において、タスク属性410の作業指示412にて頻出するキーワードである頻出キーワードが存在する場合、そのファイル種別421と頻出キーワードとに関係性がある判定する。同様に未実施タスク作業内容推定部160は、成果物種別422、ドメイン種別423、編集種別424および編集規模425の少なくとも1つと作業指示412内のキーワードとの関係性を特定してもよい。
具体例を用いて説明すると、未実施タスク作業内容推定部160は、成果物種別422として「プログラム」を有する複数の開発タスク情報400において、作業指示412に「実装」というキーワードが頻出する場合、成果物種別422「プログラム」と頻出キーワード「実装」とに関係性があると判定してもよい。なお、未実施タスク作業内容推定部160は、キーワードが出現する回数または割合が閾値以上の場合、キーワードが頻出すると判断してもよい。キーワードが出現する割合は、具体的には、キーワードが出現する回数を開発タスク情報400の数で除算した値である。
また、未実施タスク作業内容推定部160は、実作業内容420が空でない開発タスク情報400に基づいて、作業指示412からファイル種別421を算出する分類モデルを、タスク属性410と実作業内容420の関係性として特定してもよい。分類モデルは、例えば、作業指示412を入力、ファイル種別421を出力とするペアを教師データとして用いた機械学習によって生成されてもよい。また、未実施タスク作業内容推定部160は、同様にして、作業指示412から成果物種別422、ドメイン種別423、編集種別424および編集規模425のそれぞれを算出する分類モデルを、タスク属性410と実作業内容420の関係性として特定してもよい。なお、機械学習のアルゴリズムとしては、例えば、ナイーブベイズ分類器、ランダムフォレストまたはニューラルネットワークなどを用いることができる。
<作業内容の推定処理>
未実施タスク作業内容推定部160は、タスク属性410と実作業内容420との関係性に基づいて、未実施タスクのタスク属性410から、未実施タスクの作業内容である未実施作業内容を推定する。
未実施タスク作業内容推定部160は、タスク属性410と実作業内容420との関係性に基づいて、未実施タスクのタスク属性410から、未実施タスクの作業内容である未実施作業内容を推定する。
例えば、タスク属性410と実作業内容420との関係性がファイル種別421などの種別情報の値と頻出キーワードとの関係性の場合、未実施タスク作業内容推定部160は、未実施タスクの作業指示412において、頻出キーワードのうち最も多く出現するキーワードと関連性がある種別情報の値を、未実施作業内容の種別情報の値として推定してもよい。
具体例を用いて説明すると、未実施タスク作業内容推定部160は、成果物種別422「プログラム」とキーワード「実装」とに関係性があると特定された場合、未実施タスク作業内容推定部160は、未実施タスクの作業指示412において、「実装」というキーワードが最も多く出現する場合、その未実施タスクの成果物種別422の値を「プログラム」としてもよい。
また、特定した関係性が分類モデルの場合、未実施タスク作業内容推定部160は、例えば、未実施タスクの作業指示412を分類モデルに入力し、その分類モデルの出力を未実施作業内容としてもよい。例えば、分類モデルが成果物種別422「プログラム」を出力した場合、未実施タスク作業内容推定部160は、未実施タスクの成果物種別422の値を「プログラム」としてもよい。
<開発者割当案生成部の動作>
図10は、開発者割当案生成部170の処理の一例を説明するためのフローチャートである。
図10は、開発者割当案生成部170の処理の一例を説明するためのフローチャートである。
ステップS1001では、開発者割当案生成部170は、開発タスク情報記憶部130から、未実施タスクに関する情報として、実作業内容420が空である開発タスク情報400を取得する。
ステップS1002では、開発者割当案生成部170は、開発者情報記憶部120から、開発者情報500を取得する。
ステップS1003では、開発者割当案生成部170は、開発者割当戦略記憶部140から、開発者割当戦略情報600を取得する。
ステップS1004では、開発者割当案生成部170は、開発者割当戦略情報600に基づいて、取得した開発者情報500の中から、取得した開発タスク情報400の推定作業内容430に対応する開発者作業実績520を有する開発者情報500を特定し、その開発者情報500に含まれる開発者名511を割当候補者として特定する。また、割当候補者が複数存在する場合、開発者割当案生成部170は、開発者割当戦略情報600に基づいて、割当候補者を順位付けする。そして、開発者割当案生成部170は、開発タスク情報400のタスクID411を割当タスクID701とし、割当候補者の一覧を割当候補開発者リスト702とした開発者割当案700を生成する。開発者割当案700の生成方法については、<開発者割当案の生成処理>にて後述する。
ステップS1005では、開発者割当案生成部170は、ステップS1004で生成した開発者割当案700を出力装置から出力し、本処理を終了する。
<開発者割当案の生成処理>
先ず、割当候補者を選択する処理について説明する。
先ず、割当候補者を選択する処理について説明する。
開発者割当戦略情報600が図6で示した開発者割当戦略情報600aの場合、開発者割当案生成部170は、値が「valid」である制約条件(ファイル種別条件値601、成果物種別条件値602、ドメイン種別条件値603および編集種別条件値604)に対応する種別情報が開発タスク情報400の推定作業内容430と一致する開発者作業実績520を有する開発者情報500の開発者名511の開発者を割当候補者として選択する
例えば、方針#1の場合、全ての制約条件が「valid」であるため、開発者割当案生成部170は、推定作業内容430のファイル種別421、成果物種別422、ドメイン種別423および編集種別424がそれぞれファイル種別521、成果物種別522、ドメイン種別523および編集種別524と一致する開発者作業実績520を選択し、その開発者作業実績520を有する開発者情報500の開発者名511の開発者を割当候補者として選択する。
また、方針#3の場合、ファイル種別条件値601のみが「valid」であるため、開発者割当案生成部170は、推定作業内容430のファイル種別421がファイル種別521と一致する開発者作業実績520を選択し、その開発者作業実績520を有する開発者情報500の開発者名511の開発者を割当候補者として選択する。
方針#1の例では、割当候補者として選択される条件が厳しいため、適切な開発者を割当候補者として選択することができる。また、方針#3では、割当候補者として選択される条件が方針#1よりも緩和されているため、割当候補者として選択される人数が増え、開発者の柔軟な割り当てが可能となる。
また、開発者割当戦略情報600が図6で示した開発者割当戦略情報600bの場合、開発者割当案生成部170は、制約条件が示す値(種別情報を考慮する度合いを表す数値)に応じて、開発者作業実績520を選択する。
方針#1の例では、各種別情報を考慮する順位が全て同じ値であるため、開発者割当案生成部170は、各種別情報を同等に扱う。例えば、開発者割当案生成部170は、推定作業内容430のファイル種別421、成果物種別422、ドメイン種別423および編集種別424の少なくともいずれか1つがファイル種別521、成果物種別522、ドメイン種別523および編集種別524と一致する開発者作業実績520を選択する。
また、方針#3の例では、ドメイン種別条件値603の値が最大値であるため、開発者割当案生成部170は、ドメイン種別423がドメイン種別523と一致する開発者作業実績520を優先的に選択し、ドメイン種別423がドメイン種別523と一致する開発者作業実績520が存在しない場合に、次に値が大きいファイル種別421および成果物種別422の少なくとも一方がファイル種別521および成果物種別522と一致する開発者作業実績520を選択する。
次に、割当候補者の順位付けを行う処理について説明する。
開発者割当戦略情報600が図6で示した開発者割当戦略情報600aの場合、開発者割当案生成部170は、開発者割当戦略情報600aが示す優先順位の高い能力度に応じて、割当候補者の順位付けを行う。
例えば、方針#1の場合、累計編集規模条件値607が「1」、編集回数条件値606が「2」、最終編集日条件値605が「3」、最大編集規模条件値608が「4」であるため、開発者割当案生成部170は、先ず、最も優先順位の高い累計編集規模527が高い順に、割当候補者に順位付けを行う。その際、同じ順位の割当候補者(累計編集規模527が同じ割当候補者)が複数存在した場合、開発者割当案生成部170は、その複数の割当候補者に対して、次に優先順位が高い編集回数526が高い順に順位付けを行う。それでも同じ順位の割当候補者が複数いる場合、以降同様に、開発者割当案生成部170は、最終編集日525および最大編集規模528を用いる。
開発者割当戦略情報600が図6で示した開発者割当戦略情報600bの場合、開発者割当案生成部170は、開発者割当戦略情報600bが示す重み値に基づいて、割当候補者の順位付けを行う。
例えば、方針#2の場合、開発者割当案生成部170は、最終編集日525から現時点までの日数に「0.8」を、編集回数526の値に「0.1」を、累積編集規模527の値に「0.1」をそれぞれ乗算した値の総和が大きい方から順に、割当候補者の順位付けを行う。この場合、各能力度(最終編集日525と、編集回数526、累計編集規模527および最大編集規模528)の尺度を合せるために、各能力度に対して正規化が行われてもよい。
以上の説明では、開発タスクに対して実績の豊富な開発者を優先的に割り当てる観点で説明したが、実績のない、または、実績の乏しい開発者を割り当てるようにしてもよい。この場合、開発者のスキル向上などを図ることが可能になる。また、これらを切り替えるために、開発者割当戦略情報600は、以下で説明する昇順降順フラグおよび候補者反転フラグの少なくとも一方などを有してもよい。
昇順降順フラグは、割当候補者の順位付けの方針を示すフラグであり、「降順」および「昇順」の2値で示される。例えば、昇順降順フラグが「降順」の場合、開発者割当案生成部170は、上述の例の通り、割当候補者の能力度が高いほど(編集回数526、累計編集規模527および最大編集規模528が大きいほど、最終編集日525が現時点に近いほど)、その割当候補者の順位を高くする。一方、昇順降順フラグが「昇順」の場合、開発者割当案生成部170は、上述の例とは逆に、割当候補者の能力度が低いほど、割当候補者の順位を高くする。
また、候補者反転フラグは、制約条件(ファイル種別条件値601、成果物種別条件値602、ドメイン種別条件値603および編集種別条件値604)に応じた割当候補者を選択するか否かを示すフラグであり、「無効」および「有効」の2値で示される。候補者反転フラグが「無効」の場合、開発者割当案生成部170は、上述の例の通り、制約条件に応じた開発者を割当候補者として選択し、候補者反転フラグが「有効」の場合、制約条件に応じた開発者以外の開発者を割当候補者として選択する。
本実施例は、特に作業実績が少ない開発者などに対して、開発者が行ったとみなせる作業実績であるみなし作業実績(みなし作業内容およびみなし能力度)を推定することを目的とする。以下では、実施例1からの変更点および追加点を主に説明する。
<実施例2におけるシステム開発者割当案生成装置の構成>
図11は、本実施例におけるシステム開発者割当案生成装置1100の構成図である。システム開発者割当案生成装置1100は、図1に示した実施例1におけるシステム開発者割当案生成装置100の構成に加えて、みなし作業実績を推定する作業実績推定部1110をさらに有する。
図11は、本実施例におけるシステム開発者割当案生成装置1100の構成図である。システム開発者割当案生成装置1100は、図1に示した実施例1におけるシステム開発者割当案生成装置100の構成に加えて、みなし作業実績を推定する作業実績推定部1110をさらに有する。
また、システム開発者割当案生成装置1100の開発者情報記憶部120が記憶する開発者情報500の開発者作業実績520は、実施例1における実作業実績に加えて、作業実績推定部1110にて推定されたみなし作業実績を有する。みなし作業実績は、実作業実績と同じ形式であり、開発者割当案生成部170は、みなし作業実績と実作業実績とを区別せずに用いることができる。
作業実績推定部1110は、開発者情報記憶部120が記憶する開発者情報500の開発者作業実績520に基づいてみなし作業実績を推定し、そのみなし作業実績を、開発者情報500の開発者作業実績520に反映するの機能を有する。作業実績推定部1110は、当該機能を実現するためのプログラムを記憶する記憶装置と、そのプログラムを実行するCPUなどの演算装置で実現される。
<みなし作業実績の推定処理>
作業実績推定部1110は、先ず、開発者情報記憶部120から、開発者作業実績520が空でない開発者情報500を取得し、その開発者作業実績520に基づいて、実作業実績間の共起関係を特定する。
作業実績推定部1110は、先ず、開発者情報記憶部120から、開発者作業実績520が空でない開発者情報500を取得し、その開発者作業実績520に基づいて、実作業実績間の共起関係を特定する。
例えば、作業実績推定部1110は、開発者情報500ごとに、開発者作業実績520内で同時に出現する2つの実作業実績である同時実績を特定し、その同時実績の各実作業実績に共起関係があるか否かを判定する。
同時実績を特定する処理では、作業実績推定部1110は、実作業実績の要素(ファイル種別521および最終編集日525など)ごとに同時実績を特定してもよいし、実作業実績の要素の組合せについて同時実績を特定してもよい。また、作業実績推定部1110は、所定の要素または所定の要素の組合せについてのみ同時実績を特定してもよい。
図の5の例では、開発者作業実績520における実作業実績#1および#3の種別情報に着目すると、開発者作業実績520は、ファイル種別521が「c」、成果物種別522が「プログラム」、ドメイン種別523が「融資」、編集種別524が「ファイル作成」である実作業実績と、ファイル種別521が「xls」、成果物種別522が「設定ファイル」、ドメイン種別523が「融資」、編集種別524が「要素変更」である実作業実績を有している。
上記の例において、要素ごとに同時実績を特定する場合、作業実績推定部1110は、ファイル種別521の「c」と「xls」、成果物種別522の「プログラム」と「設定ファイル」、編集種別524の「ファイル作成」と「要素変更」をそれぞれ同時実績として特定する。また、要素の組合せについて同時実績を特定する場合、作業実績推定部1110は、ファイル種別521が「c」、成果物種別522が「プログラム」、ドメイン種別523が「融資」、編集種別524が「ファイル作成」である実作業実績と、ファイル種別521が「xls」、成果物種別522が「設定ファイル」、ドメイン種別523が「融資」、編集種別524が「要素変更」である実作業実績とを同時実績として特定する。
また、同時実績を特定する処理では、作業実績推定部1110は、各要素の値が完全に一致していなくても、値の差が所定の範囲内に収まる2つの作業実績を同時実績として特定してもよい。所定の範囲は、例えば、最終編集日525の場合、1カ月または1年などであり、編集回数526の場合、10回などであり、累計編集規模527の場合、1000などである。
同時実績の各実作業実績が共起関係か否かを判定する処理では、作業実績推定部1110は、例えば、全ての開発者情報500において、同じ同時実績が出現する回数または割合が所定値以上の場合、その同時実績の各作業実績に共起関係があるとする。また、作業実績推定部1110は、同時実績の各実作業実績に関する信頼度または支持度のような指標値を算出し、その指標値が閾値を超えた場合、その同時実績の各実作業実績に共起関係があるとしてもよい。
続いて、作業実績推定部1110は、特定した実作業実績の共起関係に基づいて、開発者ごとに、みなし作業実績を推定する。例えば、作業実績推定部1110は、共起関係にある2つの実作業実績の一方の実作業実績を開発者作業実績520に有する開発者が存在した場合、その開発者に対して、他方の実作業実績をみなし作業実績として推定する。このとき、所定の要素または所定の要素の組合せについてのみ同時実績を特定した場合、残りの要素については、空のままでもよいし、所定の値を記録してもよい。所定の値は、例えば、平均値などの統計値である。
具体例を用いて説明すると図5に示した「日立太郎」の開発者作業実績520における作業実績#1および#3に共起関係がある場合、作業実績推定部1110は、他の開発者である「日立二郎」の開発者作業実績520が作業実績#1と同じ作業実績を有していると、作業実績#3を「日立二郎」のみなし作業実績として推定する。
そして、作業実績推定部1110は、推定したみなし作業実績を、開発者情報500の開発者作業実績520に反映する。
なお、作業実績推定部1110は、各開発者の開発者作業実績520における実作業実績の組合せを教師データとして教師あり機械学習を行い、1つ以上の作業実績を入力とし、1つ以上の作業実績を出力とする実績推定モデルを構築してもよい。この場合、作業実績推定部1110は、実績推定デルに対象となる開発者作業実績520を入力した際に出力として得られる作業実績を、みなし作業実績とする。
本実施例は、実施例2における未実施タスク作業内容推定部160および作業実績推定部1110の推定精度を補正することを目的とする。以下では、実施例2からの変更点および追加点を主に説明する。
<実施例3におけるシステム開発者割当案生成装置の構成>
図12は、本実施例におけるシステム開発者割当案生成装置1200の構成図である。システム開発者割当案生成装置1200は、図11に示した実施例2のシステム開発者割当案生成装置1100の構成に加えて、推定精度補正部1210をさらに有する。なお、図12においては、視認性の向上を図るため、成果物版管理情報記憶部110、開発者割当戦略記憶部140、実施済タスク作業内容特定部150、開発者割当案生成部170、入力装置180および出力装置190の図示を省略している。
図12は、本実施例におけるシステム開発者割当案生成装置1200の構成図である。システム開発者割当案生成装置1200は、図11に示した実施例2のシステム開発者割当案生成装置1100の構成に加えて、推定精度補正部1210をさらに有する。なお、図12においては、視認性の向上を図るため、成果物版管理情報記憶部110、開発者割当戦略記憶部140、実施済タスク作業内容特定部150、開発者割当案生成部170、入力装置180および出力装置190の図示を省略している。
推定精度補正部1210は、開発者情報記憶部120が記憶する開発者情報500における開発者作業実績520と、作業実績推定部1110が推定したみなし作業実績とに基づいて、作業実績推定部1110がみなし作業実績を推定するためのパラメータを補正して、作業実績推定部1110がみなし作業実績を推定する推定精度を補正する機能を有する。
また、推定精度補正部1210は、開発タスク情報記憶部130が記憶する開発タスク情報400における実作業内容420と推定作業内容430とに基づいて、未実施タスク作業内容推定部160が推定作業内容430として記録される未実施作業内容を推定するためのパラメータを補正して、未実施タスク作業内容推定部160が未実施作業内容を推定する推定精度を補正する機能を有する。
推定精度補正部1210は、これらの機能を実現するためのプログラムを記憶する記憶装置と、そのプログラムを実行するCPUなどの演算装置で実現される。
<作業実績推定部1110の推定精度の補正処理>
推定精度補正部1210は、開発者作業実績520の実作業実績とみなし作業実績の差異を特定し、その差異に基づいて、作業実績推定部1110のパラメータを補正して、作業実績推定部1110の推定精度を補正する。
推定精度補正部1210は、開発者作業実績520の実作業実績とみなし作業実績の差異を特定し、その差異に基づいて、作業実績推定部1110のパラメータを補正して、作業実績推定部1110の推定精度を補正する。
具体的には、先ず、作業実績推定部1110がみなし作業実績を推定してから所定期間が経過した場合、推定精度補正部1210は、その所定期間において実施済タスク作業内容特定部150により更新された開発者作業実績520である実作業実績と、みなし作業実績とを比較して、それらの差異を特定する。推定精度補正部1210は、それらの差異に基づいて、作業実績推定部1110がみなし作業実績を推定するために使用したパラメータを補正する。所定期間は、限定されないが、例えば、1カ月間、半年間または1年間などである。
例えば、推定精度補正部1210は、差異のないみなし作業実績を、正しい推定が行われた作業実績と判断して、そのみなし作業実績を推定するために使用したパラメータにボーナスを与え、差異のあるみなし作業実績を、正しい推定が行われていない作業実績と判断して、そのみなし作業実績を推定するために使用したパラメータにペナルティを与える。なお、ボーナスとは、当該みなし作業実績が推定されやすくなるように補正することであり、ペナルティは、当該みなし作業実績が推定されにくくなるように補正することである。
具体例を用いて説明すると、例えば、推定精度補正部1210は、正しい推定が行われたみなし作業実績の共起関係に関する指標値を1.5倍にし、正しい推定が行われていないみなし作業実績の共起関係に関する指標値を0.5倍にする。また、推定精度補正部1210は、同時実績の各作業実績が共起関係か否かを判定するための所定値または閾値などを補正してもよい。
<未実施タスク作業内容推定部160の推定精度の補正処理>
推定精度補正部1210は、開発タスク情報400における実作業内容420と推定作業内容430の差異を特定し、その差異に基づいて、未実施タスク作業内容推定部160のパラメータを補正して、未実施タスク作業内容推定部160の推定精度を補正する。
推定精度補正部1210は、開発タスク情報400における実作業内容420と推定作業内容430の差異を特定し、その差異に基づいて、未実施タスク作業内容推定部160のパラメータを補正して、未実施タスク作業内容推定部160の推定精度を補正する。
具体的には、先ず、未実施タスク作業内容推定部160が推定作業内容430を推定した後で、推定作業内容430に対応する未実施タスクに担当者が割り当てられ、その未実施タスクが新規実施タスクとして実施されて成果物版管理情報記憶部110が更新された場合、推定精度補正部1210は、実施済タスク作業内容特定部150により特定された新規実施タスクの実作業内容420と推定作業内容430を比較し、それらの差異を特定する。推定精度補正部1210は、それらの差異に基づいて、未実施タスク作業内容推定部160が推定作業内容430として記録される未実施作業内容を推定するために使用したパラメータを補正する。
例えば、推定精度補正部1210は、差異のない未実施作業内容を、正しい推定が行われた未実施作業内容と判断して、その未実施作業内容を推定するために使用したパラメータにボーナスを与え、差異のある未実施作業内容を、正しい推定が行われていない未実施作業内容と判断して、その未実施作業内容を推定するために使用したパラメータにペナルティを与える。なお、ボーナスとは、未実施作業内容が推定されやすくなるように補正することであり、ペナルティは、未実施作業内容が推定されにくくなるように補正することである。
具体例を用いて説明すると、例えば、推定精度補正部1210は、正しい推定が行われた未実施作業内容に対応する、タスク属性410と実作業内容420との関係性にボーナスを与え、正しい推定が行われていない未実施作業内容に対応する、タスク属性410と実作業内容420との関係性にペナルティを与える。例えば、ボーナスとしては、頻出キーワードが出現する回数または割合を1.5倍にすること、ペナルティとしては、頻出キーワードがする回数または割合を0.5倍にすることなどが挙げられる。
なお、推定精度補正部1210は、みなし作業実績および未実施作業内容を出力装置190から出力し、ユーザから入力装置180を介してみなし作業実績および未実施作業内容に対する正誤を示す正誤情報を受け付け、その正誤情報に基づいて、パラメータを補正してもよい。
また、実施例1で説明したシステム開発者割当案生成装置1100の構成に推定精度補正部1210を加えて、未実施タスク作業内容推定部160の推定精度を補正してもよい。
以上説明したように、本開示は以下の事項を含む。
本開示の一態様に係る開発者割当案生成装置は、開発者が行った作業の作業内容である担当者作業内容を含む開発者情報(500)を開発者ごとに記憶する開発者情報記憶部(120)と、既に実施された開発タスクである実施タスクと実施タスクに応じて行われた作業の作業内容である実作業内容との対応関係を示す開発タスク情報(400)を記憶する開発タスク情報記憶部(130)と、開発タスク情報に基づいて、未だ実施されていない開発タスクである未実施タスクに応じて行う作業の作業内容である未実施作業内容を推定する推定部(160)と、未実施作業内容と開発者情報とに基づいて、未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する生成部(170)と、を有する。
上記構成を有することにより、開発者が行った作業の作業内容である担当者作業内容を含む開発者情報と、未実施タスクに応じて行う作業の作業内容である未実施作業内容とに基づいて、未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案が生成される。このため、作業内容に応じて適切な開発者を割り当てることが可能になる。
また、開発者情報は、担当者作業内容に関する開発者の能力の度合いをさらに含む。このため、作業内容だけでなく、その作業内容に関する開発者の能力の度合いに基づいて割当案を生成することができるため、開発者の能力の度合いに応じて適切な開発者を割り当てることが可能になる。
また、開発者割当案生成装置は、担当者を割り当てる方針を示す方針情報(600)を記憶する方針記憶部(140)をさらに有し、生成部は、未実施作業内容、開発者情報および方針情報に基づいて、割当案を生成する。このため、開発者の割り当てを柔軟に決定することが可能になる。
開発者割当案生成装置は、実施タスクに応じた開発成果物(200)と、当該開発成果物の編集履歴を示す管理情報(300)と、を記憶する管理情報記憶部(110)と、開発成果物および管理情報に基づいて、開発者情報および開発タスク情報を生成する作業内容特定部(150)と、をさらに有する。このため、システム開発などにおいて通常使用される開発成果物および管理情報から開発者情報および開発タスク情報を生成することが可能になるため、容易に適切な開発者を割り当てることが可能になる。
開発者割当案生成装置は、未実施タスクが新規実施タスクとして実施された場合、当該新規実施タスクに応じて行われた作業内容と、当該新規実施タスクにおける未実施作業内容とに基づいて、推定部が未実施作業内容を推定するためのパラメータを補正する補正部(1210)をさらに有する。このため、未実施作業内容の推定精度を向上させることが可能になるため、開発タスクに対して開発者をより適切に割り当てることが可能になる。
開発者割当案生成装置は、開発者情報に基づいて、開発者が行ったとみなせる作業内容であるみなし作業内容を推定し、当該みなし作業内容を開発者情報に加える作業実績推定部(1110)をさらに有する。このため、新しく加わった開発者のような作業実績が少ない開発者に対しても適切に開発タスクを割り当てることが可能になる。
また、開発者割当案生成装置は、みなし作業内容を推定してから所定の期間が経過した場合、開発者情報に含まれる実作業内容とみなし作業内容とに基づいて、作業実績推定部がみなし作業内容を推定するためのパラメータを補正する補正部(1210)をさらに有する。このため、みなし作業内容の推定精度を向上させることが可能になるため、開発タスクに対して開発者をより適切に割り当てることが可能になる。
上述した本開示の実施形態は、本開示の説明のための例示であり、本開示の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
100:システム開発者割当案生成装置、110:成果物版管理情報記憶部、120:開発者情報記憶部、130:開発タスク情報記憶部、140:開発者割当戦略記憶部、記憶部
150:実施済タスク作業内容特定部、160:未実施タスク作業内容推定部、170:開発者割当案生成部、180:入力装置、190:出力装置、1100:システム開発者割当案生成装置、1110:作業実績推定部、1200:システム開発者割当案生成装置、1210:推定精度補正部
150:実施済タスク作業内容特定部、160:未実施タスク作業内容推定部、170:開発者割当案生成部、180:入力装置、190:出力装置、1100:システム開発者割当案生成装置、1110:作業実績推定部、1200:システム開発者割当案生成装置、1210:推定精度補正部
Claims (8)
- 開発者が行った作業の作業内容である担当者作業内容を含む開発者情報を前記開発者ごとに記憶する開発者情報記憶部と、
既に実施された開発タスクである実施タスクと前記実施タスクに応じて行われた作業の作業内容である実作業内容との対応関係を示す開発タスク情報を記憶する開発タスク情報記憶部と、
前記開発タスク情報に基づいて、未だ実施されていない開発タスクである未実施タスクに応じて行う作業の作業内容である未実施作業内容を推定する推定部と、
前記未実施作業内容と前記開発者情報とに基づいて、前記未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する生成部と、を有する開発者割当案生成装置。 - 前記開発者情報は、前記担当者作業内容に関する前記開発者の能力の度合いをさらに含む、請求項1に記載の開発者割当案生成装置。
- 前記担当者を割り当てる方針を示す方針情報を記憶する方針記憶部をさらに有し、
前記生成部は、前記未実施作業内容、前記開発者情報および前記方針情報に基づいて、前記割当案を生成する、請求項1に記載の開発者割当案生成装置。 - 前記実施タスクに応じた開発成果物と、当該開発成果物の編集履歴を示す管理情報と、を記憶する管理情報記憶部と、
前記開発成果物および前記管理情報に基づいて、前記開発者情報および前記開発タスク情報を生成する作業内容特定部と、をさらに有する請求項1に記載の開発者割当案生成装置。 - 前記未実施タスクが新規実施タスクとして実施された場合、当該新規実施タスクに応じて行われた作業内容と、当該新規実施タスクにおける前記未実施作業内容とに基づいて、前記推定部が前記未実施作業内容を推定するためのパラメータを補正する補正部をさらに有する請求項1に記載の開発者割当案生成装置。
- 前記開発者情報に基づいて、前記開発者が行ったとみなせる作業内容であるみなし作業内容を推定し、当該みなし作業内容を前記開発者情報に加える作業実績推定部をさらに有する請求項1に記載の開発者割当案生成装置。
- 前記みなし作業内容を推定してから所定期間が経過した場合、前記開発者情報に含まれる実作業内容と前記みなし作業内容とに基づいて、前記作業実績推定部が前記みなし作業内容を推定するためのパラメータを補正する補正部をさらに有する請求項6に記載の開発者割当案生成装置。
- 開発者割当案生成装置が行う開発者割当案生成方法であって、
開発者が行った作業の作業内容である担当者作業内容を含む開発者情報を前記開発者ごとに記憶し、
既に実施された開発タスクである実施タスクと前記実施タスクに応じて行われた作業の作業内容である実作業内容との対応関係を示す開発タスク情報を記憶し、
前記開発タスク情報に基づいて、未だ実施されていない開発タスクである未実施タスクに応じて行う作業の作業内容である未実施作業内容を推定し、
前記未実施作業内容と前記開発者情報とに基づいて、前記未実施タスクを実施する担当者として割り当てる開発者の候補を示す割当案を生成する、開発者割当案生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019103911A JP2020197939A (ja) | 2019-06-03 | 2019-06-03 | 開発者割当案生成装置および開発者割当案生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019103911A JP2020197939A (ja) | 2019-06-03 | 2019-06-03 | 開発者割当案生成装置および開発者割当案生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020197939A true JP2020197939A (ja) | 2020-12-10 |
Family
ID=73648074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019103911A Pending JP2020197939A (ja) | 2019-06-03 | 2019-06-03 | 開発者割当案生成装置および開発者割当案生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020197939A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102273219B1 (ko) * | 2020-03-06 | 2021-07-06 | 주식회사 코딩로봇연구소 | 소프트웨어 개발자 직군 추천 시스템 및 방법 |
WO2023021578A1 (ja) * | 2021-08-17 | 2023-02-23 | 日本電信電話株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
-
2019
- 2019-06-03 JP JP2019103911A patent/JP2020197939A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102273219B1 (ko) * | 2020-03-06 | 2021-07-06 | 주식회사 코딩로봇연구소 | 소프트웨어 개발자 직군 추천 시스템 및 방법 |
WO2023021578A1 (ja) * | 2021-08-17 | 2023-02-23 | 日本電信電話株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7122713B2 (ja) | 機械学習又は推論のための計算機システム及び方法 | |
US20170061356A1 (en) | Hierarchical review structure for crowd worker tasks | |
JP2021518024A (ja) | 機械学習アルゴリズムのためのデータを生成する方法、システム | |
US9032360B1 (en) | Selecting a test scenario template based on similarity of testing profiles belonging to different organizations | |
US11526696B2 (en) | Model maintenance device, pattern recognition system, model maintenance method, and computer program product | |
JP5112085B2 (ja) | 事務フロー生成装置およびその方法 | |
US11416302B2 (en) | Computer system and method for determining of resource allocation | |
JP2020197939A (ja) | 開発者割当案生成装置および開発者割当案生成方法 | |
KR101975272B1 (ko) | 협업 의존성 기반 컴포넌트 재사용 추천 시스템 및 방법 | |
JP7287699B2 (ja) | 機械学習を通じての学習モデルを使った情報提供方法および装置 | |
US20140207712A1 (en) | Classifying Based on Extracted Information | |
US20220180290A1 (en) | Using machine learning to assign developers to software defects | |
US8576430B2 (en) | Job schedule generation using historical decision database | |
CN114090516B (zh) | 推理应用中模型文件的管理方法及装置 | |
US20200395004A1 (en) | Computer System, Model Generation Method, and Computer Readable Recording Medium | |
JP7275591B2 (ja) | 評価支援プログラム、評価支援方法および情報処理装置 | |
CN108009735B (zh) | 一种简历评估方法及装置 | |
JPWO2013042182A1 (ja) | リスク判定方法及びリスク判定サーバ | |
US20210233007A1 (en) | Adaptive grouping of work items | |
CN108182513B (zh) | 一种简历评估方法及装置 | |
CN108153829B (zh) | 一种简历评估方法及装置 | |
US11074518B2 (en) | Computer system, generation method of plan, and non-transitory computer readable storage medium | |
JP7356065B2 (ja) | 文書評価プログラム、文書評価方法および文書評価装置 | |
JPWO2020240820A1 (ja) | ファイル管理装置、ファイル管理方法、及びプログラム | |
JP2020004057A (ja) | 選定プログラム、選定方法および選定装置 |