(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162153
(43)【公開日】2024-11-21
(54)【発明の名称】開発プロセス作成システム
(51)【国際特許分類】
G06Q 10/0631 20230101AFI20241114BHJP
【FI】
G06Q10/0631
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023077432
(22)【出願日】2023-05-09
(71)【出願人】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】中沢 隆紀
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA09
5L049AA09
(57)【要約】
【課題】開発プロセスを構築するに際して、開発プロセスに参加する参加者の属性に応じて適切なアクティビティを割り当てることができる技術を提供する。
【解決手段】本発明に係る開発プロセス作成システムは、開発プロセスを構成するアクティビティにおいてロールが実施する可能性があるロールアクティビティを、前記アクティビティにおける前記ロールの評価の結果を表す評価パラメータとともに定義するロールアクティビティデータベースを備え、前記評価パラメータにしたがって、前記アクティビティにおいて前記ロールが実施すべき前記ロールアクティビティを、前記開発プロセスの構成要素として提示する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ソフトウェアを開発するプロセスを作成する開発プロセス作成システムであって、
前記プロセスにおける工程とその順序を構成するプロセス構成部、
前記工程において実施するアクティビティのリストを取得するアクティビティ取得部、
前記アクティビティにおいて開発者が有するロールを定義するロールアクティビティデータベース、
前記アクティビティに対応する前記ロールのリストを前記ロールアクティビティデータベースから取得するロールアクティビティ取得部、
前記ロールが貢献した程度を評価するロールアクティビティ評価部、
を備え、
前記ロールアクティビティデータベースは、前記アクティビティにおいて前記ロールが実施する可能性があるロールアクティビティを、前記ロールアクティビティにおける前記ロールの前記評価の結果を表す評価パラメータとともに定義しており、
前記ロールアクティビティ取得部は、前記評価パラメータにしたがって、前記アクティビティにおいて前記ロールが実施すべき前記ロールアクティビティを、前記プロセスの構成要素として提示する
ことを特徴とする開発プロセス作成システム。
【請求項2】
前記ロールアクティビティ取得部は、前記アクティビティに関与する前記ロールのリストを取得し、
前記ロールアクティビティ取得部は、前記取得した前記アクティビティと前記ロールのリストを用いて、前記ロールアクティビティデータベースを照会することにより、前記アクティビティにおいて実施すべき前記ロールアクティビティとその実施者である前記ロールとの組み合わせを、前記アクティビティの構成要素として提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項3】
前記ロールアクティビティ取得部は、前記アクティビティにおいて問題が発生した旨の通知とともに、前記アクティビティに関与する前記ロールのリストを取得し、
前記ロールアクティビティ取得部は、前記通知に対する応答として、前記アクティビティにおいて実施すべき前記ロールアクティビティとその実施者である前記ロールとの組み合わせを提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項4】
前記ロールアクティビティ評価部は、前記ロールアクティビティ取得部が前記プロセスの構成要素として提示した前記ロールアクティビティが前記プロセスにおいて貢献した程度についての評価フィードバックを受け取り、
前記ロールアクティビティ評価部は、前記ロールアクティビティデータベースが定義している前記評価パラメータのうち、前記評価フィードバックが指定する前記ロールアクティビティとその実施者である前記ロールに対応するものを、前記評価フィードバックにしたがって更新する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項5】
前記ロールアクティビティ取得部は、前記アクティビティにおいて問題が発生した旨の通知を受け取ると、前記アクティビティにおいて前記ロールが実施すべき前記ロールアクティビティを提示し、
前記ロールアクティビティ評価部は、前記ロールアクティビティ取得部が提示した前記ロールアクティビティが前記プロセスにおいて貢献した程度についての評価フィードバックを受け取り、
前記ロールアクティビティ評価部は、前記ロールアクティビティデータベースが定義している前記評価パラメータを、前記評価フィードバックにしたがって更新する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項6】
前記ロールアクティビティ取得部は、前記ロールアクティビティデータベースが定義している前記評価パラメータを、前記ロールごとに提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項7】
前記ロールアクティビティ取得部は、前記ロールアクティビティデータベースが定義している前記ロールアクティビティと前記評価パラメータのセットを、前記ロールアクティビティと前記評価パラメータの組み合わせごとに提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項8】
前記ロールアクティビティ取得部は、前記アクティビティにおいて前記ロールが実施する前記ロールアクティビティの前記評価パラメータの合計が最大となるように、前記ロールアクティビティと前記ロールの組み合わせを選択し、その結果を前記プロセスの構成要素として提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項9】
前記ロールアクティビティ取得部は、前記アクティビティにおいて前記ロールが実施すべき前記ロールアクティビティと前記ロールの組み合わせを、前記評価パラメータにしたがって複数提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項10】
前記ロールアクティビティデータベースは、前記ロールが保有するスキルセットを定義しており、
前記ロールアクティビティ取得部は、前記アクティビティにおいて前記ロールが実施すべき前記ロールアクティビティを、前記スキルセットとともに提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【請求項11】
前記プロセス構成部は、前記プロセスの特性を受け取るとともに、前記特性に基づき前記プロセスにおける構成とその順序を構成し、
前記アクティビティ取得部は、前記プロセス構成部が前記特性に基づき構成した前記工程において実施する前記アクティビティを取得し、
前記ロールアクティビティ取得部は、前記アクティビティ取得部が取得した前記アクティビティに対応する前記ロールのリストを提示することにより、前記特性を有する前記プロセスにおいて必要となる前記ロールを提示する
ことを特徴とする請求項1記載の開発プロセス作成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアを開発するプロセスを作成する技術に関する。
【背景技術】
【0002】
アジャイル開発手法は、小規模の開発サイクルを繰り返し実施する開発プロセスの総称である。例えば、要件定義→設計→実装→テストのような開発サイクルを1つの単位として、これを繰り返し実施することにより、最終的な成果物を得る。アジャイル開発手法の例としては、スクラムなどの手法がある。スクラムにおける反復単位は、スプリントと呼ばれている。
【0003】
下記特許文献1は、『様々な開発プロセスに対応できる、プロジェクト特性評価による開発プロセス作成システム及びそれを用いた開発プロセス作成方法を提供する。』ことを課題として、『プロセス構成部11は入力としてプロジェクト特性を受け取り、プロセスアーキテクチャデータベース12から受け取ったプロセスアーキテクチャとアクティビティ取得部21から受け取ったアクティビティとを合成して、要求のあったプロジェクト向けの開発プロセスを返却する。アクティビティ取得部は、プロセス構成部からのアクティビティ取得要求を受けて、アクティビティデータベース22から複数のアクティビティを取得する。この時、プロセス構成部から渡されたプロジェクト特性と、過去のアクティビティ選択履歴情報とに基づき、適切と思われるアクティビティのみに絞り込んで取得する。取得されたアクティビティは、プロセス構成部へ返却される。』という技術を記載している(要約参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の手法は、開発プロジェクトの特性に基づき、生産性を上げることができるアクティビティを選択するものである。同文献の手法においては、開発者に関する属人的な情報を取り扱わないので、開発チーム内のスキルセットが均質である場合には、有効な手法であると考えられる。
【0006】
他方で、デジタルソリューション開発においては、様々な背景(デザイナー、システムエンジニア、など)を持つメンバが関与しており、プロジェクト特性だけに基づいてアクティビティを選択すると、適切なアクティビティを設定できない場合があり得る。開発プロセスを効率化するためには、メンバの背景を考慮した役割分担とアクティビティの割り当てが必要になると考えられる。特許文献1の手法は、このように開発プロセスに参加する者の個人的属性を考慮することは困難である。
【0007】
本発明は、上記のような課題に鑑みてなされたものであり、開発プロセスを構築するに際して、開発プロセスに参加する参加者の属性に応じて適切なアクティビティを割り当てることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る開発プロセス作成システムは、開発プロセスを構成するアクティビティにおいてロールが実施する可能性があるロールアクティビティを、前記アクティビティにおける前記ロールの評価の結果を表す評価パラメータとともに定義するロールアクティビティデータベースを備え、前記評価パラメータにしたがって、前記アクティビティにおいて前記ロールが実施すべき前記ロールアクティビティを、前記開発プロセスの構成要素として提示する。
【発明の効果】
【0009】
本発明に係る開発プロセス作成システムによれば、開発プロセスを構築するに際して、開発プロセスに参加する参加者の属性に応じて適切なアクティビティを割り当てることができる。本発明のその他の課題、構成、利点、などについては、以下の実施形態を参照することによって明らかになる。
【図面の簡単な説明】
【0010】
【
図1】開発プロセス作成システム1の構成図である。
【
図2】プロセスアーキテクチャデータベース12の構成とデータ例を示す図である。
【
図3】アクティビティデータベース14の構成とデータ例を示す図である。
【
図4】アクティビティデータベース14にしたがって要件定義工程のアクティビティを構成した例を示す。
【
図5】
図4のデータモデル定義アクティビティに参加する参加者のロールを例示する模式図である。
【
図6】ロールアクティビティデータベース16の構成とデータ例を示す図である。
【
図7】ロールアクティビティ取得部15が取得したロールアクティビティにしたがって、データモデル定義アクティビティを構成した例を示す模式図である。
【
図8】ロールアクティビティ取得部15が構成した要件定義工程のアクティビティ例を示す。
【
図9】ロールアクティビティ評価部17による評価結果を例示する図である。
【発明を実施するための形態】
【0011】
<実施の形態1>
図1は、本発明の実施形態1に係る開発プロセス作成システム1の構成図である。開発プロセス作成システム1は、ソフトウェアの開発プロセスを作成するシステムである。ここでいう開発プロセスは、要件定義→設計→実装→テストのような工程によって構成される。各工程は1つ以上のアクティビティによって構成される。開発プロセス作成システム1は、開発プロジェクトに適した工程とその順番、各工程において実施すべきアクティビティとその順序、などを作成するシステムである。
【0012】
開発プロセス作成システム1は、プロセス構成部11、プロセスアーキテクチャデータベース12、アクティビティ取得部13、アクティビティデータベース14、ロールアクティビティ取得部15、ロールアクティビティデータベース16、ロールアクティビティ評価部17、を備える。
【0013】
プロセスアーキテクチャデータベース12は、工程の構造を定義したデータベースである。例えば工程の前後関係を定義するレコードによって、プロセスアーキテクチャデータベース12を構成することができる。1例として、要件定義→設計→実装→テストの4つの工程からなる開発プロセスは、これらの工程の前後関係を定義するレコードによって定義することができる。2つ以上の工程を並列実施する場合は、1つの前工程に対して2つ以上の後工程が関連付けられる。
【0014】
プロセス構成部11は、開発プロジェクトの特性を入力として受け取り、その特性に合致する工程構造を、プロセスアーキテクチャデータベース12から取得する。プロセス構成部11は、取得した工程構造を、各工程において実施するアクティビティと併せて、当該プロジェクト向けの開発プロセスの構成として出力する。
【0015】
アクティビティデータベース14は、各工程において実施する可能性があるアクティビティを定義している。アクティビティデータベース14はさらに、プロジェクト特性の項目ごとに、アクティビティの適合度を定義している。この適合度の具体例については後述する。
【0016】
アクティビティ取得部13は、指定された(プロセス構成部11が受け取った)プロジェクト特性に基づき、そのプロジェクト特性に適合するアクティビティを、アクティビティデータベース14から取得する。
【0017】
ロールアクティビティデータベース16は、各アクティビティにおいて参加者が有するロールと、そのアクティビティにおいてロールが実施する可能性があるロールアクティビティ(アクティビティをさらに細分化したもの)とを定義している。ロールアクティビティデータベース16はさらに、ロールアクティビティにおけるロールの貢献度を評価した結果を表す評価パラメータを記述している。具体例については後述する。
【0018】
ロールアクティビティ取得部15は、アクティビティにおいて実施すべきロールアクティビティを、ロール属性およびロールの評価パラメータにしたがって、ロールアクティビティデータベース16から取得する。ロールアクティビティ取得部15は、取得したロールアクティビティを、開発プロセスの構成要素として(あるいはアクティビティの構成要素として)提示する。
【0019】
ロールアクティビティ評価部17は、ロールアクティビティ取得部15が提示したロールアクティビティに対する評価フィードバックを受け取り、その評価フィードバックを、ロールアクティビティデータベース16の評価パラメータとして反映する。
【0020】
図2は、プロセスアーキテクチャデータベース12の構成とデータ例を示す図である。プロセスアーキテクチャデータベース12は、工程フィールド121、前工程フィールド122、を有する。工程フィールド121は、開発プロセスを構成する工程を記述している。前工程フィールド122は、工程フィールド121が指定する工程の1つ前に実施すべき工程を記述している。
【0021】
図2のデータ例は、要件定義→設計→実装→テストの4つの工程がこの順番に実施される開発プロセスを定義している。これに加えて、プロジェクトの特性ごとに同様の工程構造を定義してもよい。あるいはユーザが最初の工程を選択し、プロセス構成部11はその後に続く工程を、プロセスアーキテクチャデータベース12のレコードにしたがって取得してもよい。
【0022】
図3は、アクティビティデータベース14の構成とデータ例を示す図である。アクティビティデータベース14は、アクティビティフィールド141、所属工程フィールド142、プロジェクト特性フィールド143、を有する。アクティビティフィールド141は、工程において実施する可能性があるアクティビティを記述している。所属工程フィールド142は、アクティビティフィールド141が指定するアクティビティが所属する工程を記述している。プロジェクト特性フィールド143は、プロジェクト特性の項目ごとに、アクティビティがそのプロジェクト特性と適合する程度を表す適合度を記述している。プロジェクト特性フィールド143は、プロジェクト特性の項目ごとに設けられている。プロジェクト特性は例えば、『アプリケーション開発経験』『ネットワークアーキテクチャ』などである。この例においてはプロジェクト特性の項目数を2つとしたが、1つでもよいし3つ以上でもよい。
【0023】
プロセス構成部11は、プロジェクト特性として例えば、『アプリケーション開発経験=あり』『ネットワークアーキテクチャ=Webアプリケーション』などを受け取る。プロジェクト特性フィールド143は、プロジェクト特性の項目ごとに、その特性のプロジェクトにおいて各アクティビティが適合する程度を表す適合度を記述している。例えばプロジェクト特性『ネットワークアーキテクチャ』においては、『ネットワークアーキテクチャ=Webアプリケーション』であるとき、アクティビティ『Web構成定義』の適合度が高く設定されている。アクティビティ取得部13は、プロジェクト特性の項目ごとの指定値にしたがって、その指定値と適合するアクティビティを選択する。
【0024】
図4は、アクティビティデータベース14にしたがって要件定義工程のアクティビティを構成した例を示す。ここでは
図3のデータ例において、要件定義工程内で実施するアクティビティとして、『アーキテクチャ定義』『データモデル定義』『Web構成定義』の3つを選択した。このように、アクティビティデータベース14にしたがって各工程において実施するアクティビティを定義することにより、開発プロセスを構成することは、一応可能である。しかし後述するような課題が生じる可能性がある。
【0025】
図5は、
図4のデータモデル定義アクティビティに参加する参加者のロールを例示する模式図である。参加者はそれぞれのロールを有する。ここでいうロールは、その参加者が保有しているスキルセットと概ね同義である。ここではデータモデル定義アクティビティにおいて、ロールAとロールBが参加し、ロールAが作成したデータモデル設計書をロールBが受け取る例を示した。
【0026】
図3~
図4で説明したプロジェクト特性は、『アプリケーション開発経験=あり』が指定されているので、データモデル定義アクティビティにおいて、アプリケーション開発経験があるロールが参加する可能性がある。ただし
図3~
図4で説明した例においては、開発プロセスに参加するロールの属性(スキルセット)を考慮していない。したがって、アクティビティデータベース14にしたがってアクティビティを構成すると、アクティビティにおいて実施すべき作業と、各ロールが保有しているスキルセットとが、整合しない可能性がある。
【0027】
例えばロールAはアプリケーション開発経験がなく、ロールBはアプリケーション開発経験があるものとする。ロールAはアプリケーション開発経験がないので、アプリケーションを実装するために必要なテーブル定義項目を十分理解しないまま、データモデル設計書を作成する。ロールBはそのデータモデル設計書にしたがってアプリケーションを開発する。これにより、そのアプリケーションにおいて、例えばデータモデルの不整合に起因するバグが発生する可能性がある。
【0028】
特にアジャイル開発においては、アクティビティとロールとの間の関係は比較的自由に設定できるので、このような不整合が生じやすいことが、本発明者による検討の結果判明した。これは、アジャイル開発における参加者が多能工(複数の異なるスキルセットを有する者)を想定していることが、一因になっているのではないかと考えられる。
【0029】
本発明においては、このようなロールのスキルセットの不整合を解消するために、アクティビティにおいてロールが実施すべき作業をロールアクティビティとして定義し、ロールアクティビティとロールとの間の適合性を評価することとした。これは以下に説明するロールアクティビティデータベース16とロールアクティビティ取得部15とロールアクティビティ評価部17によって実現される。
【0030】
図6は、ロールアクティビティデータベース16の構成とデータ例を示す図である。ロールアクティビティデータベース16は、ロールアクティビティフィールド161、所属アクティビティフィールド162、ロール属性フィールド163、を有する。ロールアクティビティフィールド161は、アクティビティにおいてロールが実施する可能性がある作業を、ロールアクティビティとして定義している。所属アクティビティフィールド162は、ロールアクティビティフィールド161が指定するロールアクティビティが属するアクティビティを記述している。ロール属性フィールド163は、ロールの属性(そのロールが保有するスキルセット)ごとに、そのロール属性がロールアクティビティに対して貢献した程度を評価した結果(評価パラメータ)を記述している。
【0031】
図6のデータ例によれば、データモデル定義アクティビティにおいては、ロールアクティビティとして、『アルゴリズムI/O定義』『テーブル定義』の2つを実施する可能性がある。さらにロール属性フィールド163は、(a)アプリケーション開発経験ありのロールがテーブル定義を実施することによる貢献度が大きいこと、(b)アプリケーション開発経験なしのロールがアルゴリズムI/O定義を実施することによる貢献度が大きいこと、を記述している。記載の便宜上、その他のロール属性は省略した。
【0032】
ロールアクティビティ取得部15は、アクティビティにおいて実施すべきロールアクティビティと、そのロールアクティビティを実施するロールを、ロールアクティビティデータベース16から取得する。
図6のデータ例においては、データモデル定義アクティビティ内で『アルゴリズムI/O定義』『テーブル定義』の2つを実施し、前者はアプリケーション開発経験なしのロールが実施し、後者はアプリケーション開発経験ありのロールが実施することになる。
【0033】
図7は、ロールアクティビティ取得部15が取得したロールアクティビティにしたがって、データモデル定義アクティビティを構成した例を示す模式図である。ロールAとBは
図5と同様である。ロールAはアプリケーション開発経験がないので『アルゴリズムI/O定義』を実施し、アルゴリズムI/O定義書を作成する。ここでいうI/Oは、プログラム上の関数引数などのことではなく、人間が理解できる自然言語で定義した入出力のことを想定している。したがって開発経験なしであっても定義可能であることを付言しておく。ロールBはアプリケーション開発経験があるので、このようなI/O定義に基づき、必要なデータセットを把握し、その結果に基づき『テーブル定義』を実施し、データモデル設計書を作成する。
【0034】
図8は、ロールアクティビティ取得部15が構成した要件定義工程のアクティビティ例を示す。
図4におけるデータモデル定義アクティビティは、2つのロールアクティビティ『アルゴリズムI/O定義』『テーブル定義』によって置き換えられている。
【0035】
図9は、ロールアクティビティ評価部17による評価結果を例示する図である。ロールアクティビティ取得部15は、
図7~
図8で説明したアクティビティの構成を、ユーザに対して提示する。ユーザはこれに対する評価フィードバックをロールアクティビティ評価部17に対して入力する。ロールアクティビティ評価部17は、その評価フィードバックをロールアクティビティデータベース16に対して反映する。この例においては、
図7~
図8のアクティビティ構成が有用であったので、ロール属性フィールド163の対応する評価パラメータが、
図6のデータ例からそれぞれ1つずつ増加している。
【0036】
以上の説明においては、アクティビティデータベース14にしたがってアクティビティを構成したときロール不整合が生じた例を示したが、ロールアクティビティを構成するのは必ずしも不整合が生じたときに限るものではなく、初めからロールアクティビティを用いて開発プロセスを構成してもよい。この場合は、プロセス構成部11がプロジェクト特性を受け取るとともに、ロールアクティビティ取得部15が開発プロセス参加者のロール属性(スキルセット)をあらかじめ受け取っておき、これらを用いて、以上説明した手順にしたがって開発プロセスを構成する。
【0037】
以上の説明においては、
図5のアクティビティ構成を
図7のロールアクティビティ構成に改善することにともなって、ロールアクティビティの評価パラメータを加算した例を示したが、この評価パラメータは必ずしも開発プロセスが改善したときに限り加算する必要はない。例えば初めからロールアクティビティを用いて開発プロセスを構成した場合であっても、その開発プロセスが有用であった旨の評価フィードバックを受け取り、それにしたがって評価パラメータを加算してもよい。
【0038】
<実施の形態1:まとめ>
本実施形態に係る開発プロセス作成システム1において、ロールアクティビティデータベース16は、アクティビティにおいてロールが実施する可能性があるロールアクティビティを、そのロールアクティビティにおけるロールの貢献度評価の結果を表す評価パラメータ(ロール属性フィールド163)とともに定義している。ロールアクティビティ取得部15は、その評価パラメータにしたがって、アクティビティにおいてロールが実施すべきロールアクティビティを、開発プロセス(またはアクティビティ)の構成要素として提示する。これにより、ロール属性に応じたロールアクティビティを用いて、アクティビティを構成することができる。すなわち、ロール属性とアクティビティとの間の不整合を抑制することができる。
【0039】
<実施の形態2>
実施形態1においては、開発プロセス作成システム1がロール属性とアクティビティとの間の不整合を抑制する構成例について説明した。開発プロセス作成システム1が提供するこの機能は、関連する周辺用途においても用いることができる。本発明の実施形態2では、開発プロセス作成システム1のこれら周辺用途について説明する。開発プロセス作成システム1の構成は実施形態1と同様である。
【0040】
アジャイル開発において、各ロールが自分に合うと思ったアクティビティを選択していたとしても、実際にはその選択が適切ではない可能性がある。そこで開発プロセス作成システム1は、ロールが選択したアクティビティが自身に合っていないことを可視化することにより、そのことに気が付かせ、成長支援することができる。具体的には、ロールアクティビティデータベース16が記述しているロール属性の評価パラメータを開発プロセスの参加者に対して提示することにより、自身のスキルセットがロール属性と一致しているか否かを、ロール本人が確認することができる。ユーザインターフェースは例えば
図6のようなテーブル構成とデータ値に類する画面構成とすればよい。
【0041】
アジャイル開発プロセスにおける反復単位(例:スクラム開発におけるスプリント)を振り返る際、アクティビティ選択が適切であったかどうか、あるいはより適したアクティビティが他になかったか、開発プロセス作成システム1がフィードバックできれば望ましい。具体的には、ロールアクティビティデータベース16が記述しているロールアクティビティ一覧とロール属性の評価パラメータを同時に提示することにより、開発プロセス参加者自身のスキルセットに適したアクティビティが他になかったか否かを、参加者本人が確認することができる。ユーザインターフェースは例えば
図6のようなテーブル構成とデータ値に類する画面構成とすればよい。
【0042】
ある1つのロールの情報だけでなく、関連するロールの属性も考慮した上で、推奨するロールアクティビティを選択することが考えられる。あるロールアクティビティを実施するのに適したロールが複数存在する場合があり、開発プロセス全体の効率を最適化するためには、必ずしも個々のロールアクティビティに最も適したロールを割り当てることが望ましくない場合もあるからである。具体的には、ロールアクティビティ取得部15がロールアクティビティを選択する際に、あらかじめ複数の参加者のロール属性をそれぞれ取得しておき、各ロールに対してロールアクティビティを割り当てたときの評価パラメータの総計が最大となるように、ロールアクティビティとロールの組み合わせを選択する。これにより、そのアクティビティ内で実施するロールアクティビティ全体の効率を最適化することができる。あるいはロールアクティビティ取得部15はロールアクティビティとロールの組み合わせのみを提示し、ユーザがその組み合わせのなかからいずれかを選択してもよい。
【0043】
ロール属性は開発プロジェクトごとに異なるので、開発プロセスを作成する者(すなわち開発プロセス作成システム1のユーザ、例えばスクラム開発におけるスクラムマスターがこれに相当する)が知らないロールが、プロセスに参加する場合もある。このような場合であっても、開発プロセス作成システム1は、開発プロセスを作成することを支援できる。具体的には、ロールが保有するスキルセットをロール属性としてロールアクティビティ取得部15に対して入力すれば、そのロール属性に適したロールアクティビティを選択することができる。換言すると、開発プロセス作成システム1のユーザがロールそのものについて知らない場合であっても、そのロールの属性を知れば、適切なロールアクティビティを構成することができる。
【0044】
開発プロセスを作成する者は、開発プロセスにおいて必要となるスキルセット(またはロール属性)を特定する必要があるが、どのようなスキルセットが必要になるのか必ずしも容易に把握できない場合が考えられる。開発プロセス作成システム1は、このような場合において、必要なスキルセットを提案することができる。例えば開発プロジェクトの特性を開発プロセス作成システム1に対して入力すると、プロセス構成部11がプロセスアーキテクチャデータベース12を参照して工程を構成するとともに、アクティビティ取得部13がアクティビティデータベース14を参照してアクティビティを構成し、さらにロールアクティビティ取得部15がロールアクティビティデータベース16を参照して各アクティビティを実施するために必要なロール属性(スキルセット)を特定する。特定したロール属性を提示することにより、その開発プロセスにおいて必要なスキルセットを把握することができる。
【0045】
<本発明の変形例について>
以上の実施形態において、プロセス構成部11、アクティビティ取得部13、ロールアクティビティ取得部15、ロールアクティビティ評価部17は、これらの機能を実装した回路デバイスなどのハードウェアによって構成することもできるし、これらの機能を実装したソフトウェアをCPU(Central Processing Unit)などの演算装置が実行することによって構成することもできる。
【0046】
以上の実施形態において、プロセスアーキテクチャデータベース12、アクティビティデータベース14、ロールアクティビティデータベース16は、これらのレコードを記述したデータを記憶装置に格納することによって構成することができる。
【0047】
以上の実施形態において、開発プロセス作成システム1が提供するユーザインターフェースは、例えばディスプレイ上に表示する画面インターフェースとして構成することができる。あるいはWebアプリケーションのようにユーザが開発プロセス作成システム1に対してリモートアクセスすることによってユーザインターフェースを提供することもできる。その他任意の形式のユーザインターフェースであってもよい。
【符号の説明】
【0048】
1:開発プロセス作成システム
11:プロセス構成部
12:プロセスアーキテクチャデータベース
13:アクティビティ取得部
14:アクティビティデータベース
15:ロールアクティビティ取得部
16:ロールアクティビティデータベース
17:ロールアクティビティ評価部