JP2014052956A - ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム - Google Patents

ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム Download PDF

Info

Publication number
JP2014052956A
JP2014052956A JP2012198452A JP2012198452A JP2014052956A JP 2014052956 A JP2014052956 A JP 2014052956A JP 2012198452 A JP2012198452 A JP 2012198452A JP 2012198452 A JP2012198452 A JP 2012198452A JP 2014052956 A JP2014052956 A JP 2014052956A
Authority
JP
Japan
Prior art keywords
development
base
software
bases
time
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
JP2012198452A
Other languages
English (en)
Inventor
Michitaka Tokuno
通孝 得能
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012198452A priority Critical patent/JP2014052956A/ja
Publication of JP2014052956A publication Critical patent/JP2014052956A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェアファクトリを利用したシステムにおいて、開発期間を短縮することが可能なソフトウェア開発管理システムを提供する。
【解決手段】本発明に係るソフトウェア開発管理システム1は、複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理するリソースプール11と、複数の開発拠点に開発リソースを割り当てるプロビジョニング機能部12と、複数の開発拠点において、割り当てられた開発リソースにより開発工程処理を実行する複数のエンジニアリング機能部13と、第1の開発拠点の開発工程処理が終了した場合、第1の開発拠点と第2の開発拠点との時差に応じたタイミングで、次の開発工程処理を実行する前記第2の開発拠点への引き継ぎ処理を実行するプロジェクト管理部14と、を備えるものである。
【選択図】図1

Description

本発明は、ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムに関し、特に、複数の開発拠点でソフトウェア開発を行うソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムに関する。
近年、市場において、高品質なソフトウェア開発を高スピード(短納期)で開発する事が求められている。一方、生産性の向上、低価格化、コモディティ化、クラウド化が進んでおり、ソフトウェア開発におけるスピードの重要性はますます高まっている。
ソフトウェア開発に関連する文献として、例えば、特許文献1や2が知られている。特許文献1には、ソフトウェアファクトリに関する技術が開示されている。ソフトウェアファクトリとは、組織的ソフトウェア開発アプローチの1つであり、ソフトウェア開発に関する手順、手法、ツールを標準化してノウハウや知識、成果物の蓄積と再利用を促進し、厳格な工程管理・品質管理を適用することで、ソフトウェア開発の生産性と品質を向上することを目指すコンセプトである。また、ソフトウェアファクトリには、このようなコンセプトによるソフトウェア開発を実現するシステムを含むものとする。
特表2011−501297号公報 特開2001−250021号公報
また、ソフトウェア開発では、開発業務を海外企業へ委託するオフショア開発が行われており、世界中の複数の開発拠点でソフトウェア開発を行うことが一般的となっている。このようなオフショア開発や日本単独でのソフトウェア開発など複数の開発拠点で分担し一連の作業を行う場合、拠点間で作業の引き継ぎを行う必要がある。しかしながら、プログラミング開発の引き継ぎがビジネスアワー時間に限定されるため、翌日・翌々日・週明け後と時間がかかる事が多かった。
例えば、日本で使用するプログラムについて、中国で開発を実施し、1日毎に開発したプログラムコードを日本側でレビューする場合を考える。この作業には、図12に示すように、3人日分の作業が掛かるとする。具体的には、ステップ1の開発及びレビューに1人日、ステップ2の開発及びレビューに1人日、ステップ3の開発及びレビューに1人日必要とする。
この作業を中国と日本で行うと、実際には中国と日本の時差はほとんどない為、プログラミングが完成するのは、図13に示すように6日後になる。すなわち、第1日に中国でステップ1の開発を行い、その引き継ぎの後、第2日に日本でステップ1のレビューを行う。さらに引き継ぎの後、第3日に中国でステップ2の開発を行い、その引き継ぎの後、第4日に日本でステップ2のレビューを行う。さらに引き継ぎの後、第5日に中国でステップ3の開発を行い、その引き継ぎの後、第6日に日本でステップ3のレビューを行い、作業が完了する。図13では、3人日分の作業のために6日必要となるため、作業期間が長期化し、作業効率が悪くなってしまう。
このように、関連するソフトウェア開発方法では、複数の開発拠点で開発作業を行うと、作業完了までの期間が長期化する。
なお、特許文献2には、ソフトウェアファクトリを利用したソフトウェア開発方法については記載されていない。
したがって、関連するソフトウェア開発方法では、ソフトウェアファクトリを利用したシステムにおいて、開発期間を短縮することが困難であるという問題がある。
本発明の目的は、このような課題を解決するソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムを提供することにある。
本発明に係るソフトウェア開発管理システムは、複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理するリソースプールと、前記複数の開発拠点に前記開発リソースを割り当てるプロビジョニング機能部と、前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行する複数のエンジニアリング機能部と、前記複数の開発拠点は開発工程処理を順次実行する第1及び第2の開発拠点を含み、前記第1の開発拠点の開発工程処理が終了した場合、前記第1の開発拠点と前記第2の開発拠点との時差に応じたタイミングで、前記第1の開発拠点から前記第2の開発拠点への引き継ぎ処理を実行するプロジェクト管理部と、を備えるものである。
本発明に係るソフトウェア開発管理方法は、複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、前記複数の開発拠点に前記開発リソースを割り当て、前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、前記複数の開発拠点は開発工程処理を順次実行する第1及び第2の開発拠点を含み、前記第1の開発拠点の開発工程処理が終了した場合、前記第1の開発拠点と前記第2の開発拠点との時差に応じたタイミングで、前記第1の開発拠点から前記第2の開発拠点への引き継ぎ処理を実行するものである。
本発明に係るソフトウェア開発管理プログラムは、コンピュータにソフトウェア管理処理を実行させるためのソフトウェア開発管理プログラムであって、前記ソフトウェア管理処理は、複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、前記複数の開発拠点に前記開発リソースを割り当て、前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、前記複数の開発拠点は開発工程処理を順次実行する第1及び第2の開発拠点を含み、前記第1の開発拠点の開発工程処理が終了した場合、前記第1の開発拠点と前記第2の開発拠点との時差に応じたタイミングで、前記第1の開発拠点から前記第2の開発拠点への引き継ぎ処理を実行するものである。
本発明によれば、ソフトウェアファクトリを利用したシステムにおいて、開発期間を短縮することが可能なソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムを提供することができる。
実施の形態に係るソフトウェア開発管理システムの主要な特徴を説明するための構成図である。 実施の形態に係るソフトウェア開発管理システムの主要な特徴を説明するための構成図である。 実施の形態1に係るソフトウェア開発システムの構成を示す構成図である。 実施の形態1に係るソフトウェア開発システムのリソースプールの割り当てを示すイメージ図である。 実施の形態1に係るソフトウェア開発システムを実現するハードウェア構成を示す図である。 実施の形態1に係るソフトウェア開発システムの動作を示すフローチャートである。 実施の形態1に係るソフトウェア開発システムで利用する時差比較表である。 実施の形態1に係るソフトウェア開発システムで利用する時差比較表である。 実施の形態1に係るソフトウェア開発システムの引き継ぎデータを示すイメージ図である。 実施の形態1に係るソフトウェア開発システムの多拠点リレー方式の開発方法を示す図である。 実施の形態1に係るソフトウェア開発システムによる開発日数を示す図である。 実施の形態2に係るソフトウェア開発システムの引き継ぎデータを示すイメージ図である。 ソフトウェア開発作業の開発日数を示す図である。 関連するソフトウェア開発方法による開発日数を示す図である。
(実施の形態の概要)
実施の形態の説明に先立って、実施の形態の特徴についてその概要を説明する。図1及び図2は、実施の形態に係るソフトウェア開発管理システムの主要な構成を示している。
図1に示すように、ソフトウェア開発管理システム1は、少なくとも、リソースプール11、プロビジョニング機能部12、エンジニアリング機能部13、プロジェクト管理部14を備えている。
リソースプール11は、複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理する。プロビジョニング機能部12は、複数の開発拠点に開発リソースを割り当てる。エンジニアリング機能部13(13a、13b)は、複数の開発拠点において、割り当てられた開発リソースにより開発工程単位の開発工程処理を実行する。
プロジェクト管理部14は、第1の開発拠点の第1のエンジニアリング機能部13aで開発工程処理が終了した場合、次の開発工程処理を実行する第2の開発拠点の第2のエンジニアリング機能部13bへ、第1の開発拠点と第2の開発拠点との時差に応じたタイミングで、開発工程処理の引き継ぎ処理を実行する。
また、図2に示すように、ソフトウェア開発管理システム1は、さらに、運用管理部15及びコミュニケーション機能部16を備えてもよい。運用管理部15は、ソフトウェア開発管理システム1の全体の運用を管理する。コミュニケーション機能部16は、第1の開発拠点と第2の開発拠点間で引き継ぎに必要なコミュニケーションを行う。
このように、実施の形態では、ソフトウェアファクトリのリソースプールを備えた構成において、時差に応じたタイミングで開発拠点間の引き継ぎ処理を実行するため、時差を考慮して効率よく開発作業を進めることができる。したがって、ソフトウェアファクトリを利用したシステムにおいて、開発期間を効果的に短縮することができる。
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図3は、本実施の形態に係るソフトウェア開発システム(ソフトウェア開発管理システム)1の構成を示している。ソフトウェア開発システム1は、複数の開発拠点を含むソフトウェアファクトリ(ソフトウェアファクトリシステム)において、ソフトウェアの開発工程を各拠点で分散して実施するためのシステムである。
図3に示すように、ソフトウェア開発システム1は、リソースプール(ソフトウェアファクトリリソースプール)110、プロビジョニング機能部120、バーチャルPC環境部130、開発環境部140、プロジェクト管理部150、運用管理機能部160、コミュニケーション機能部170を備える。
リソースプール110は、ソフトウェアファクトリのリソースを管理するソフトウェアファクトリリソースプールである。リソースプール110は、例えば、複数のサーバに存在するコンピュータリソースを予約、登録することによりプール化し、各開発拠点で利用可能としたものである。例えば、1つのリソースプール110に、ソフトウェア開発システム1の全体で利用するリソースが登録されている。
プロビジョニング機能部120は、仮想化基盤(Hypervisor)を用いて、仮想OS上の開発環境をいつでも柔軟に開発拠点へ提供する機能である。また、プロビジョニング機能部120は、開発拠点間で、開発環境の移動やコピーが可能である。具体的には、プロビジョニング機能部120は、リソースプール110にプールされたコンピュータリソースを、開発拠点のバーチャルPC環境部130やプロジェクトの開発環境部140に割り当て、開発環境をプロビジョニングする。例えば、1つのプロビジョニング機能部120が、ソフトウェア開発システム1の全体のリソース割り当て、開発環境の提供を管理している。
バーチャルPC130及び開発環境部140は、エンジニアリング機能部に相当する。エンジニアリング機能部は、ソフトウェアの開発そのものに必要な開発環境・コンパイル環境・及び構成管理・指標管理・コード検証機能などを含む。
バーチャルPC環境部130は、開発担当者(ユーザ)がソフトウェア開発を行うための仮想マシンの環境であり、各拠点の開発担当者ごとに設けられる。図3の例では、2人の開発担当者が開発を行うために、それぞれバーチャルPC環境部130a,103bが設けられている。
バーチャルPC環境部130(130a,130b)は、プロジェクトの開発環境部140へ開発したプログラムをリリースする為の標準開発ツールなどが、あらかじめインストールされている。例えばバーチャルPC環境部130(130a,130b)には、Microsoft Visual Studio(登録商標)131(131a,131b)や、Eclipse(登録商標)132(132a,132b)が、インストールされている。
バーチャルPC環境部130は、開発プログラムのプロジェクトに応じて、任意の開発環境部及びプロジェクト管理部へアクセスできる。例えば、バーチャルPC環境部130aは、AAAプロジェクトの開発環境部140a及びプロジェクト管理部150aへアクセス可能であり、バーチャルPC環境部130bは、AAAプロジェクトの開発環境部140a及びプロジェクト管理部150a、BBBプロジェクトの開発環境部140b及びプロジェクト管理部150bへアクセス可能である。
開発環境部140は、開発プロジェクトに適した開発環境を提供し、各拠点の開発プロジェクトごとに設けられる。図3の例では、AAAプロジェクトの開発環境を提供する開発環境部140aと、BBBプロジェクトの開発環境を提供する開発環境部140bとが設けられている。
開発環境部140(140a,140b)は、開発環境として必要な、アクティビティ管理141(141a,141b)、構成管理142(142a,142b)、ビルド・テストジョブ管理143(143a,143b)、指標管理144(144a,144b)、及びコード管理145(145a,145b)などのツールがあらかじめインストールされている。なお、これらのツールは必ずしも必須ではないが、標準的に使用されるものの例示である。
プロジェクト管理部150は、開発プロジェクトの開発作業の進捗等を管理し、各拠点の開発プロジェクトごとに設けられる。図3の例では、AAAプロジェクトを管理するプロジェクト管理部150aと、BBBプロジェクトを管理するプロジェクト管理部150bとが設けられている。
プロジェクト管理部150(150a,150b)は、プロジェクト管理を行うための計画管理151(151a,151b)、進捗管理152(152a,152b)、品質管理153(153a,153b)などのツールがあらかじめインストールされている。具体的には、プロジェクト管理部150は、ソフトウェアの品質、作業計画、及び進捗管理を視覚化する為の管理機能を有する。また、プロジェクト管理部150は、他の開発拠点に対し、開発作業に必要な引き継ぎを行う。
運用管理機能部160は、バックアップ機能161及び監視機能162を有し、リソースプール110に対する監視及びバックアップを行う。運用管理機能部160による監視及びバックアップの運用には、環境個別に対応するのではなく、全体として共通した運用方法を導入する。例えば、1つの運用管理機能部160が、ソフトウェア開発システム1の全体の運用を管理している。
コミュニケーション機能部170は、ユーザ(開発担当者)間で円滑な作業の引き継ぎを行うためのコミュニケーション機能を有する。例えばコミュニケーション機能部170は、TV会議機能171、ソーシャルネットワーキング(SNS)機能172、及びチャットツール173を有する。コミュニケーション機能部170は、ユーザ間でコミュニケーションを行うことが可能であればよく、ユーザ間(システム)で共通に設けられていてもよいし、ユーザごとに別々に設けられていてもよい。
図4は、本実施の形態に係るソフトウェア開発システム1において、実際に開発環境上で開発プログラムを作成している場合のリソースプール11の物理構成のイメージを示している。図4に示すように、プロビジョニング機能部120により、データベース300を含むハードウェア301上の仮想化基盤302を介して各拠点に開発環境303が割り当てられる。開発環境303には、プロジェクトの開発環境部140や開発担当者のバーチャルPC環境部130に割り当てられた環境が含まれる。この開発環境303を開発担当者が利用して、各プロジェクト(AAA,BBB,CC)の開発プログラム304が開発される。
図5は、本実施の形態に係るソフトウェア開発システム1を実現するコンピュータシステムのハードウェア構成を示している。ソフトウェア開発システム1は、図3の機能を実現できればよいため、複数のコンピュータシステムで構成してもよいし、単一のコンピュータシステムで構成してもよい。なお、本実施の形態では、仮想化基盤を用いてシステムを実現するため、コンピュータシステムの物理構成は限定されない。
このコンピュータシステム200は、ワークステーションやパーソナルコンピュータ等の情報処理装置である。コンピュータシステム200は、中央処理装置(CPU)201とメモリ204とを含んでいる。CPU201とメモリ204は、バスを介して補助記憶装置としてのハードディスク装置(HDD)205に接続される。
コンピュータシステム200は、ユーザ・インターフェース・ハードウェアとして、例えば、ユーザが入力するためのポインティング・デバイス(マウス、ジョイスティック等)やキーボード等の入力装置202や、GUI等の視覚データをユーザに提示するためのCRTや液晶ディスプレイなどの表示装置203を有している。
HDD205等の記憶媒体はオペレーティングシステムと協働してCPU201等に命令を与え、ソフトウェア開発システム1の機能を実施するためのプログラムを記憶することができる。例えば、後述する処理を実行するためのプログラムが記憶される。このプログラムは、メモリ204にロードされることによって実行される。
また、コンピュータシステム200は、外部装置と接続するための入出力インタフェース(I/O)206やNIC(Network Interface Card)207を有している。例えば、コンピュータシステム200は、入出力インタフェース206としてUSB等を備えており、ネットワークに接続するためのNIC207としてイーサネット(登録商標)カード等を備えている。
次に、本実施の形態に係るソフトウェア開発システム1の動作について説明する。図6は、ソフトウェア開発システム1において、1つの開発拠点で1つの開発工程作業を実施する場合の動作である。
まず、ソフトウェア開発システム1は、開発作業の準備を行う(S101)。例えば、作業の準備として、プロビジョニング機能部120は、開発拠点に図4のように開発環境を割り当てる。そうすると、開発拠点に対し、バーチャルPC環境部130や開発環境部140の環境が用意される。
続いて、ソフトウェア開発システム1は、開発作業を行う(S102)。開発拠点の開発担当者は、バーチャルPC環境部130を利用してプログラムを開発し、開発環境部140にアクセスしてデバッグ等を行う。すなわち、ソフトウェア開発システム1は、拠点に応じた開発工程処理を実行する。
続いて、ソフトウェア開発システム1は、現在の時間が引き継ぎ時間(引き継ぎ開始時間)であるか否か判定し、引き継ぎ時間まで待つ(S103)。例えば、プロジェクト管理部150は、開発作業が終了すると、他の開発拠点に引き継ぎを行うため、引き継ぎ時間まで処理待ちとなる。
例えば、図7A及び図7Bに示すような、各国における時差比較表を予め用意し、記憶部に記憶しておく。時差比較表(時差テーブル)は、拠点毎(国毎)に、時差及びビジネスアワーを関連付けたテーブルである。図7A及び図7Bの斜線部分は、ビジネスアワー外の目安を示している。図7A及び図7Bでは、各国において、9:00〜18:00をビジネスアワーと定義し、ビジネスアワーに応じて各国間の引き継ぎ時間を設ける。なお、図7A及び図7Bでは、サマータイムは省略し、1時間以下の時差(0.5、0.25など)も省略している。例えば、サマータイムや1時間以下の時差を考慮して、引き継ぎ時間を設定してもよい。
プロジェクト管理部150は、予め記憶した時差比較表を参照し、拠点間の時差に基づいて、引き継ぎ時間を決定する。すなわち、拠点間の時差によりビジネスアワーにずれが生じるため、ビジネスアワーのずれを利用して引き継ぎ処理及び開発作業を効率よく行う。例えば、開発作業を行っている拠点(引き継ぎ元)のビジネスアワー(就業時間帯)と、次に開発作業を行う拠点(引き継ぎ先)のビジネスアワーとが重なる時間帯の中で引き継ぎ時間(引き継ぎ期間)を設定する。
特に、引き継ぎ元の終業時間から引き継ぎ処理に必要な時間(作業終了後の引き継ぎ処理時間)を差し引いた時間以前の時間帯と、引き継ぎ先のビジネスアワーとが重なる時間帯の中で引き継ぎ開始時間を設定する。また、引き継ぎ元のビジネスアワーと、引き継ぎ先の始業時間に引き継ぎ処理に必要な時間(作業開始前の引き継ぎ処理時間)を加えた時間以後の時間帯とが重なる時間帯の中で引き継ぎ終了時間を設定する。
続いて、引き継ぎ時間(引き継ぎ開始時間)になると、ソフトウェア開発システム1は、開発作業の引き継ぎ(引き継ぎ処理)を行う(S104)。引き継ぎ開始時間になると、バッチ処理により自動で開発プログラムのデータコピーが実施される。例えば、プロジェクト管理部150がこの引き継ぎ処理を実行する。これにより引き継ぎ元から引き継ぎ先へ、データを引き継ぎ、エンジニアリング機能そのものを移管する。図8は、引き継ぎによるデータ連携のイメージを示している。図8の例では、インド環境の開発環境303により開発された開発プログラム304を引き継ぎデータとして、アメリカ環境の開発環境303へコピーする。
例えば、引き継ぎ開始時間にはコミュニケーション機能部170を使って、引き継ぎ元と引き継ぎ先をTV会議で接続し、ユーザ間で作業状況を連絡しあうことで、効率よく引き継ぎ作業を行う。
引き継ぎが終了すると、次の開発作業を行う拠点ではS101以降の処理を実行し、順次、開発拠点ごとにS101〜S104の処理が繰り返される。
図9を用いて、ソフトウェア開発システム1の動作の具体例について説明する。図9は、日本、インド、ドイツ、ニューヨークの4つの拠点で作業を分担する例である。図9の例において、日本ではプロジェクトの全体進捗・レビューを担当し、インドでは開発・修正作業を担当し、ドイツでは評価・報告書作成を担当し、ニューヨークでは共通化作業・文書作成を担当する。
図7A及び図7Bのように、各国9:00〜18:00をビジネスアワーと定義し、各国間で引き継ぎ時間を設ける。図9では、日本時間12:00〜15:00を日本からインドへの引き継ぎ時間とし、日本時間19:00〜21:00(インド時間15:00〜17:00)をインドからドイツへの引き継ぎ時間とし、日本時間24:00〜25:00(ドイツ時間16:00〜17:00)をドイツからニューヨークへの引き継ぎ時間とする。
例えば、日本からインドへの引き継ぎ時間は、図7Aより日本とインドとの時差が−3時間であり、日本のビジネスアワーとインドのビジネスアワーが重なる時間帯(日本時間12:00〜18:00)から引き継ぎ時間(期間)を選択する。また、引き継ぎ処理時間を3時間として、日本の終業時間から3時間引いた時間以前の時間帯とインドのビジネスアワーが重なる時間帯(日本時間12:00〜15:00)から引き継ぎ開始時間(日本時間12:00)を決定する。また、日本のビジネスアワーとインドの始業時間に3時間を加えた時間以後の時間帯とが重なる時間帯(日本時間15:00〜18:00)から引き継ぎ終了時間(日本時間15:00)を決定する。
また、インドからドイツへの引き継ぎ時間は、図7Aよりインドとドイツとの時差が−5時間であり、インドのビジネスアワーとドイツのビジネスアワーが重なる時間帯(インド時間14:00〜18:00)から引き継ぎ時間(期間)を選択する。また、引き継ぎ処理時間を2時間として、インドの終業時間から2時間引いた時間以前の時間帯とドイツのビジネスアワーが重なる時間帯(インド時間14:00〜16:00)から引き継ぎ開始時間(インド時間15:00)を決定する。また、インドのビジネスアワーとドイツの始業時間に2時間を加えた時間以後の時間帯とが重なる時間帯(インド時間16:00〜18:00)から引き継ぎ終了時間(インド時間17:00)を決定する。
また、ドイツからニューヨークへの引き継ぎ時間は、図7A及び図7Bよりドイツとニューヨークとの時差が−6時間であり、ドイツのビジネスアワーとニューヨークのビジネスアワーが重なる時間帯(ドイツ時間15:00〜18:00)から引き継ぎ時間(期間)を選択する。また、引き継ぎ処理時間を1時間として、ドイツの終業時間から1時間引いた時間以前の時間帯とニューヨークのビジネスアワーが重なる時間帯(ドイツ時間15:00〜17:00)から引き継ぎ開始時間(ドイツ時間16:00)を決定する。また、ドイツのビジネスアワーとニューヨークの始業時間に1時間を加えた時間以後の時間帯とが重なる時間帯(ドイツ時間16:00〜18:00)から引き継ぎ終了時間(ドイツ時間17:00)を決定する。
各プロセスの引き継ぎ時にはバッチ処理により、引き継ぎ元と引き継ぎ先へプログラムが自動でデータ移動される仕様となっている。引き継ぎ開始時間にはコミュニケーション機能を使って、引き継ぎ元と引き継ぎ先をTV会議で接続し、作業状況を連絡しあう。
すなわち、図9では、日本時間9:00〜12:00に、日本において進捗管理及びレビューが実施され、日本時間12:00〜15:00に、日本からインドへ引き継ぎ処理が実施される。このとき日本からインドへ進捗管理及びレビュー結果のデータがコピーされる。日本時間15:00〜19:00に、インドにおいて開発修正作業が実施され、日本時間19:00〜21:00に、インドからドイツへ引き継ぎ処理が実施される。このときインドからドイツへ開発を行ったプログラムがコピーされる。
日本時間21:00〜24:00に、ドイツにおいて評価作業及び報告書作成が実施され、日本時間24:00〜25:00に、ドイツからニューヨークへ引き継ぎ処理が実施される。ドイツからニューヨークへ評価書及び報告書のデータがコピーされる。日本時間25:00からニューヨークにおいて共通化作業及び文書作成が実施され、次の日の日本時間9:00までに、ニューヨークから日本に引き継ぎ処理が実施される。ニューヨークから日本へ共通化作業の結果及び文書がコピーされる。その後、日本では、さらに日本時間9:00から進捗管理及びレビューが実施される。
これにより、進捗管理・レビュー、開発・修正作業、評価・報告書作成、共通化作業・文書作成の一連の作業を24時間以内に実施することができ、1日単位に一連の作業を無駄なく進めることができるため、作業期間が大幅に短縮される。
図10は、ソフトウェア開発システム1の動作の他の具体例を示している。図10は、図12に示した作業を中国とイギリスで実施する例である。
図7Aより中国とイギリスとの時差が−8時間であり、中国のビジネスアワーとイギリスのビジネスアワーが重なる時間帯(中国時間17:00〜18:00)から引き継ぎ時間を選択する。中国の終業時刻である18:00は、イギリスの始業時刻+1時間(10:00)である。そのため、引き継ぎ時間(準備時間)を考慮してレビューの拠点をイギリスに変更した場合には、図10に示すようにプログラミング完成は3日後となる。すなわち、1日の間に、開発作業、引き継ぎ及びレビューを実施できるため、3人日分の作業を3日で実施できる。
したがって、図10に示すようにレビュー拠点をイギリスに設けて本実施の形態を適用した場合には、イギリスでは中国の終業後かつ始業前に作業ができるため、図13に示すように日本に拠点を設ける場合に比べて、効率良く作業を行うことができる。すなわち、1日単位に繰り返し開発工程を実施する場合に、次の日の作業開始前までに他の拠点での開発工程が終了するように、時差を有する拠点を選択することが好ましい。
以上のように本実施の形態では、ソフトウェアファクトリにおけるプログラミング開発等において、時差に応じて引き継ぎを行うことで、引き継ぎ元と引き継ぎ先を円滑に連携させることができる。特に、時差のすれ違う適切な拠点を検討し、ソフトウェア開発システムを利用することで、各拠点のユーザが効率良く作業することができる。より具体的には、通信網を使用したデータ連携でのみが必要であり、物流を必要としないため、瞬時にデータ連携して作業拠点の共有化ができ、いわば工場のクラウド化が可能となる。
(実施の形態2)
グローバル拠点で作業工程を分け、同時に役割の代行可能なワークフローを定義する。また、引き継ぎ時に、図11に示すように、開発プログラム304を含む開発環境303ごと、他の拠点へコピーする。
具体的には、まず、リレー方式によるソフトウェア開発システムが複数ある状態とする。その際に各拠点のタイムゾーンが同じ範囲で違う国を選定する。タイムゾーンが同じ範囲で違う国とは、例えば日本と韓国、フィリピンとインドネシアなどである。
次に、ある国において長期休暇になる期間があらかじめ判っている場合には、同じタイムゾーンの別の代行拠点にてソフトウェア開発を代行する。その期間、作業工数は同じ製造量であれば倍になる為、代行拠点ではその期間のみ増員しておく。
これにより、各国の文化・法制度による長期休暇(日本のゴールデンウィークや中国の旧正月、欧米のクリスマス休暇など)が、予めわかっているスケジュールがほとんどにも関わらず、作業引き継ぎができず、スケジュールの遅延が避けられない状況を、解消することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上記実施の形態では、ソフトウェア開発システムについて説明したが、その他のシステム開発、データセンタオペレーション、ヘルプデスク業務などに利用することができる。
1 ソフトウェア開発システム(ソフトウェア開発管理システム)
11 リソースプール
12 プロビジョニング機能部
13、13a、13b エンジニアリング機能部
14 プロジェクト管理部
15 運用管理部
16 コミュニケーション機能部
110 リソースプール
120 プロビジョニング機能部
130、130a、130b バーチャルPC環境部
140、140a、140b 開発環境部
141、141a、141b アクティビティ管理
142、142a、142b 構成管理
143、143a、143b ビルド・テストジョブ管理
144、144a、144b 指標管理
145、145a、145b コード管理
150、150a、150b プロジェクト管理部
151、151a、151b 計画管理
152、152a、152b 進捗管理
153、153a、153b 品質管理
160 運用管理機能部
161 バックアップ機能
162 監視機能
170 コミュニケーション機能部
171 会議機能
172 SNS機能
173 チャットツール
200 コンピュータシステム
201 CPU
202 入力装置
203 表示装置
204 メモリ
206 I/O
300 データベース
301 ハードウェア
302 仮想化基盤
303 開発環境
304 開発プログラム

Claims (10)

  1. 複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理するリソースプールと、
    前記複数の開発拠点に前記開発リソースを割り当てるプロビジョニング機能部と、
    前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行する複数のエンジニアリング機能部と、
    前記複数の開発拠点は開発工程処理を順次実行する第1及び第2の開発拠点を含み、前記第1の開発拠点の開発工程処理が終了した場合、前記第1の開発拠点と前記第2の開発拠点との時差に応じたタイミングで、前記第1の開発拠点から前記第2の開発拠点への引き継ぎ処理を実行するプロジェクト管理部と、
    を備えるソフトウェア開発管理システム。
  2. 前記引き継ぎ処理の実行期間は、前記第1の開発拠点の就業時間帯と、前記第2の開発拠点の就業時間帯とが重なる時間帯に含まれる、
    請求項1に記載のソフトウェア開発管理システム。
  3. 前記引き継ぎ処理の開始時間は、前記第1の開発拠点の終業時間から前記引き継ぎ処理に必要な時間を差し引いた時間以前の時間帯と、前記第2の開発拠点の就業時間帯とが重なる時間帯に含まれる、
    請求項2に記載のソフトウェア開発管理システム。
  4. 前記引き継ぎ処理の終了時間は、前記第1の開発拠点の就業時間帯と、前記第2の開発拠点の始業時間に前記引き継ぎ処理に必要な時間を加えた時間以後の時間帯とが重なる時間帯に含まれる、
    請求項2または3に記載のソフトウェア開発管理システム。
  5. 前記プロビジョニング機能部は、前記リソースプールにより提供されるソフトウェアの開発環境を前記複数の開発拠点に割り当てる、
    請求項1乃至4のいずれか一項に記載のソフトウェア開発管理システム。
  6. 前記引き継ぎ処理は、前記第1の開発拠点に割り当てられた前記開発環境で開発した開発プログラムを含むデータを、前記第2の開発拠点へコピーする、
    請求項5に記載のソフトウェア開発管理システム。
  7. 前記引き継ぎ処理は、前記第1の開発拠点に割り当てられた前記開発環境のデータを、前記第2の開発拠点へコピーする、
    請求項6に記載のソフトウェア開発管理システム。
  8. 複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、
    前記複数の開発拠点に前記開発リソースを割り当て、
    前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、
    前記複数の開発拠点は開発工程処理を順次実行する第1及び第2の開発拠点を含み、前記第1の開発拠点の開発工程処理が終了した場合、前記第1の開発拠点と前記第2の開発拠点との時差に応じたタイミングで、前記第1の開発拠点から前記第2の開発拠点への引き継ぎ処理を実行する、
    ソフトウェア開発管理方法。
  9. 前記引き継ぎ処理の実行期間は、前記第1の開発拠点の就業時間帯と、前記第2の開発拠点の就業時間帯とが重なる時間帯に含まれる、
    請求項8に記載のソフトウェア開発管理方法。
  10. コンピュータにソフトウェア管理処理を実行させるためのソフトウェア開発管理プログラムであって、
    前記ソフトウェア管理処理は、
    複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、
    前記複数の開発拠点に前記開発リソースを割り当て、
    前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、
    前記複数の開発拠点は開発工程処理を順次実行する第1及び第2の開発拠点を含み、前記第1の開発拠点の開発工程処理が終了した場合、前記第1の開発拠点と前記第2の開発拠点との時差に応じたタイミングで、前記第1の開発拠点から前記第2の開発拠点への引き継ぎ処理を実行する、
    ソフトウェア開発管理プログラム。
JP2012198452A 2012-09-10 2012-09-10 ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム Pending JP2014052956A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012198452A JP2014052956A (ja) 2012-09-10 2012-09-10 ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012198452A JP2014052956A (ja) 2012-09-10 2012-09-10 ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム

Publications (1)

Publication Number Publication Date
JP2014052956A true JP2014052956A (ja) 2014-03-20

Family

ID=50611357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012198452A Pending JP2014052956A (ja) 2012-09-10 2012-09-10 ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム

Country Status (1)

Country Link
JP (1) JP2014052956A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015201122A (ja) * 2014-04-10 2015-11-12 横河電機株式会社 エンジニアリング方法
KR20180022844A (ko) * 2015-06-29 2018-03-06 코베스트로 도이칠란트 아게 화학 반응을 위한 염화수소를 제공하는 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015201122A (ja) * 2014-04-10 2015-11-12 横河電機株式会社 エンジニアリング方法
KR20180022844A (ko) * 2015-06-29 2018-03-06 코베스트로 도이칠란트 아게 화학 반응을 위한 염화수소를 제공하는 방법
KR102548305B1 (ko) 2015-06-29 2023-06-28 코베스트로 도이칠란트 아게 화학 반응을 위한 염화수소를 제공하는 방법

Similar Documents

Publication Publication Date Title
Ogheneovo On the relationship between software complexity and maintenance costs
TWI548987B (zh) 用於藉由提供預先建立環境之即時有效性來部署用於測試之環境的方法、系統、及電腦可讀取儲存裝置
US11138006B2 (en) Hybrid development systems and methods
US20130111428A1 (en) Graphical user interface for integrated development environment tool
JP2014142678A (ja) 仮想サーバ移行計画作成方法およびシステム
US8214245B2 (en) Method and system for synchronizing inclusive decision branches
Aubakirov et al. Development of system architecture for e-government cloud platforms
US20220180273A1 (en) Systems and Methods for Creating and Managing a Lookahead Schedule
Hwang et al. Enterprise-scale cloud migration orchestrator
US20140143752A1 (en) Systems and methods for providing environments as a service
Beaty et al. Economics of cloud computing for enterprise IT
US20200348930A1 (en) Scaled agile framework program board
CA2954262C (en) Control in initiating atomic tasks on a server platform
JP2014052956A (ja) ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラム
JP2012527048A (ja) 双方向同期における自己参照フィールドの同期
US20060015841A1 (en) Control on demand data center service configurations
WO2015116191A1 (en) Business process managment
Xu Towards high quality software development with extreme programming methodology: practices from real software projects
Roopa et al. Usable software at the end of each takt. A milestone in the lean transformation of a globally distributed software development team
US11726854B2 (en) Host malfunction detection for CI/CD systems
Diwan et al. Applying software product line engineering in building web portals for supercomputing services
Al-qadhi et al. Cloud-based support for global software engineering: Potentials, risks, and gaps
Anand et al. System testing optimization in a globally distributed software engineering team
Hazekamp et al. MAKER as a service: moving HPC applications to Jetstream Cloud
KR20110096887A (ko) 기업 간 협업 프로세스 실행 지원을 위한 방법 및 시스템