(57)【要約】【課題】ソフトウェアファクトリを利用したシステムにおいて、開発期間を短縮することが可能なソフトウェア開発管理システムを提供する。【解決手段】本発明に係るソフトウェア開発管理システム１は、複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理するリソースプール１１と、複数の開発拠点に開発リソースを割り当てるプロビジョニング機能部１２と、複数の開発拠点において、割り当てられた開発リソースにより開発工程処理を実行する複数のエンジニアリング機能部１３と、第１の開発拠点の開発工程処理が終了した場合、第１の開発拠点と第２の開発拠点との時差に応じたタイミングで、次の開発工程処理を実行する前記第２の開発拠点への引き継ぎ処理を実行するプロジェクト管理部１４と、を備えるものである。【選択図】図１
2014052956.tif 000002
【特許請求の範囲】
【請求項１】
複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理するリソースプールと、
前記複数の開発拠点に前記開発リソースを割り当てるプロビジョニング機能部と、
前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行する複数のエンジニアリング機能部と、
前記複数の開発拠点は開発工程処理を順次実行する第１及び第２の開発拠点を含み、前記第１の開発拠点の開発工程処理が終了した場合、前記第１の開発拠点と前記第２の開発拠点との時差に応じたタイミングで、前記第１の開発拠点から前記第２の開発拠点への引き継ぎ処理を実行するプロジェクト管理部と、
を備えるソフトウェア開発管理システム。
【請求項２】
前記引き継ぎ処理の実行期間は、前記第１の開発拠点の就業時間帯と、前記第２の開発拠点の就業時間帯とが重なる時間帯に含まれる、
請求項１に記載のソフトウェア開発管理システム。
【請求項３】
前記引き継ぎ処理の開始時間は、前記第１の開発拠点の終業時間から前記引き継ぎ処理に必要な時間を差し引いた時間以前の時間帯と、前記第２の開発拠点の就業時間帯とが重なる時間帯に含まれる、
請求項２に記載のソフトウェア開発管理システム。
【請求項４】
前記引き継ぎ処理の終了時間は、前記第１の開発拠点の就業時間帯と、前記第２の開発拠点の始業時間に前記引き継ぎ処理に必要な時間を加えた時間以後の時間帯とが重なる時間帯に含まれる、
請求項２または３に記載のソフトウェア開発管理システム。
【請求項５】
前記プロビジョニング機能部は、前記リソースプールにより提供されるソフトウェアの開発環境を前記複数の開発拠点に割り当てる、
請求項１乃至４のいずれか一項に記載のソフトウェア開発管理システム。
【請求項６】
前記引き継ぎ処理は、前記第１の開発拠点に割り当てられた前記開発環境で開発した開発プログラムを含むデータを、前記第２の開発拠点へコピーする、
請求項５に記載のソフトウェア開発管理システム。
【請求項７】
前記引き継ぎ処理は、前記第１の開発拠点に割り当てられた前記開発環境のデータを、前記第２の開発拠点へコピーする、
請求項６に記載のソフトウェア開発管理システム。
【請求項８】
複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、
前記複数の開発拠点に前記開発リソースを割り当て、
前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、
前記複数の開発拠点は開発工程処理を順次実行する第１及び第２の開発拠点を含み、前記第１の開発拠点の開発工程処理が終了した場合、前記第１の開発拠点と前記第２の開発拠点との時差に応じたタイミングで、前記第１の開発拠点から前記第２の開発拠点への引き継ぎ処理を実行する、
ソフトウェア開発管理方法。
【請求項９】
前記引き継ぎ処理の実行期間は、前記第１の開発拠点の就業時間帯と、前記第２の開発拠点の就業時間帯とが重なる時間帯に含まれる、
請求項８に記載のソフトウェア開発管理方法。
【請求項１０】
コンピュータにソフトウェア管理処理を実行させるためのソフトウェア開発管理プログラムであって、
前記ソフトウェア管理処理は、
複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、
前記複数の開発拠点に前記開発リソースを割り当て、
前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、
前記複数の開発拠点は開発工程処理を順次実行する第１及び第２の開発拠点を含み、前記第１の開発拠点の開発工程処理が終了した場合、前記第１の開発拠点と前記第２の開発拠点との時差に応じたタイミングで、前記第１の開発拠点から前記第２の開発拠点への引き継ぎ処理を実行する、
ソフトウェア開発管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムに関し、特に、複数の開発拠点でソフトウェア開発を行うソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムに関する。
【背景技術】
【０００２】
近年、市場において、高品質なソフトウェア開発を高スピード(短納期)で開発する事が求められている。一方、生産性の向上、低価格化、コモディティ化、クラウド化が進んでおり、ソフトウェア開発におけるスピードの重要性はますます高まっている。
【０００３】
ソフトウェア開発に関連する文献として、例えば、特許文献１や２が知られている。特許文献１には、ソフトウェアファクトリに関する技術が開示されている。ソフトウェアファクトリとは、組織的ソフトウェア開発アプローチの１つであり、ソフトウェア開発に関する手順、手法、ツールを標準化してノウハウや知識、成果物の蓄積と再利用を促進し、厳格な工程管理・品質管理を適用することで、ソフトウェア開発の生産性と品質を向上することを目指すコンセプトである。また、ソフトウェアファクトリには、このようなコンセプトによるソフトウェア開発を実現するシステムを含むものとする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１１−５０１２９７号公報
【特許文献２】特開２００１−２５００２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
また、ソフトウェア開発では、開発業務を海外企業へ委託するオフショア開発が行われており、世界中の複数の開発拠点でソフトウェア開発を行うことが一般的となっている。このようなオフショア開発や日本単独でのソフトウェア開発など複数の開発拠点で分担し一連の作業を行う場合、拠点間で作業の引き継ぎを行う必要がある。しかしながら、プログラミング開発の引き継ぎがビジネスアワー時間に限定されるため、翌日・翌々日・週明け後と時間がかかる事が多かった。
【０００６】
例えば、日本で使用するプログラムについて、中国で開発を実施し、１日毎に開発したプログラムコードを日本側でレビューする場合を考える。この作業には、図１２に示すように、３人日分の作業が掛かるとする。具体的には、ステップ１の開発及びレビューに１人日、ステップ２の開発及びレビューに１人日、ステップ３の開発及びレビューに１人日必要とする。
【０００７】
この作業を中国と日本で行うと、実際には中国と日本の時差はほとんどない為、プログラミングが完成するのは、図１３に示すように６日後になる。すなわち、第１日に中国でステップ１の開発を行い、その引き継ぎの後、第２日に日本でステップ１のレビューを行う。さらに引き継ぎの後、第３日に中国でステップ２の開発を行い、その引き継ぎの後、第４日に日本でステップ２のレビューを行う。さらに引き継ぎの後、第５日に中国でステップ３の開発を行い、その引き継ぎの後、第６日に日本でステップ３のレビューを行い、作業が完了する。図１３では、３人日分の作業のために６日必要となるため、作業期間が長期化し、作業効率が悪くなってしまう。
【０００８】
このように、関連するソフトウェア開発方法では、複数の開発拠点で開発作業を行うと、作業完了までの期間が長期化する。
【０００９】
なお、特許文献２には、ソフトウェアファクトリを利用したソフトウェア開発方法については記載されていない。
【００１０】
したがって、関連するソフトウェア開発方法では、ソフトウェアファクトリを利用したシステムにおいて、開発期間を短縮することが困難であるという問題がある。
【００１１】
本発明の目的は、このような課題を解決するソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係るソフトウェア開発管理システムは、複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理するリソースプールと、前記複数の開発拠点に前記開発リソースを割り当てるプロビジョニング機能部と、前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行する複数のエンジニアリング機能部と、前記複数の開発拠点は開発工程処理を順次実行する第１及び第２の開発拠点を含み、前記第１の開発拠点の開発工程処理が終了した場合、前記第１の開発拠点と前記第２の開発拠点との時差に応じたタイミングで、前記第１の開発拠点から前記第２の開発拠点への引き継ぎ処理を実行するプロジェクト管理部と、を備えるものである。
【００１３】
本発明に係るソフトウェア開発管理方法は、複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、前記複数の開発拠点に前記開発リソースを割り当て、前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、前記複数の開発拠点は開発工程処理を順次実行する第１及び第２の開発拠点を含み、前記第１の開発拠点の開発工程処理が終了した場合、前記第１の開発拠点と前記第２の開発拠点との時差に応じたタイミングで、前記第１の開発拠点から前記第２の開発拠点への引き継ぎ処理を実行するものである。
【００１４】
本発明に係るソフトウェア開発管理プログラムは、コンピュータにソフトウェア管理処理を実行させるためのソフトウェア開発管理プログラムであって、前記ソフトウェア管理処理は、複数の開発拠点を含むソフトウェアファクトリの開発リソースをリソースプールにより管理し、前記複数の開発拠点に前記開発リソースを割り当て、前記複数の開発拠点において、前記割り当てられた開発リソースにより開発工程処理を実行し、前記複数の開発拠点は開発工程処理を順次実行する第１及び第２の開発拠点を含み、前記第１の開発拠点の開発工程処理が終了した場合、前記第１の開発拠点と前記第２の開発拠点との時差に応じたタイミングで、前記第１の開発拠点から前記第２の開発拠点への引き継ぎ処理を実行するものである。
【発明の効果】
【００１５】
本発明によれば、ソフトウェアファクトリを利用したシステムにおいて、開発期間を短縮することが可能なソフトウェア開発管理システム、ソフトウェア開発管理方法及びソフトウェア開発管理プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係るソフトウェア開発管理システムの主要な特徴を説明するための構成図である。
【図２】実施の形態に係るソフトウェア開発管理システムの主要な特徴を説明するための構成図である。
【図３】実施の形態１に係るソフトウェア開発システムの構成を示す構成図である。
【図４】実施の形態１に係るソフトウェア開発システムのリソースプールの割り当てを示すイメージ図である。
【図５】実施の形態１に係るソフトウェア開発システムを実現するハードウェア構成を示す図である。
【図６】実施の形態１に係るソフトウェア開発システムの動作を示すフローチャートである。
【図７Ａ】実施の形態１に係るソフトウェア開発システムで利用する時差比較表である。
【図７Ｂ】実施の形態１に係るソフトウェア開発システムで利用する時差比較表である。
【図８】実施の形態１に係るソフトウェア開発システムの引き継ぎデータを示すイメージ図である。
【図９】実施の形態１に係るソフトウェア開発システムの多拠点リレー方式の開発方法を示す図である。
【図１０】実施の形態１に係るソフトウェア開発システムによる開発日数を示す図である。
【図１１】実施の形態２に係るソフトウェア開発システムの引き継ぎデータを示すイメージ図である。
【図１２】ソフトウェア開発作業の開発日数を示す図である。
【図１３】関連するソフトウェア開発方法による開発日数を示す図である。
【発明を実施するための形態】
【００１７】
（実施の形態の概要）
実施の形態の説明に先立って、実施の形態の特徴についてその概要を説明する。図１及び図２は、実施の形態に係るソフトウェア開発管理システムの主要な構成を示している。
【００１８】
図１に示すように、ソフトウェア開発管理システム１は、少なくとも、リソースプール１１、プロビジョニング機能部１２、エンジニアリング機能部１３、プロジェクト管理部１４を備えている。
【００１９】
リソースプール１１は、複数の開発拠点を含むソフトウェアファクトリの開発リソースを管理する。プロビジョニング機能部１２は、複数の開発拠点に開発リソースを割り当てる。エンジニアリング機能部１３（１３ａ、１３ｂ）は、複数の開発拠点において、割り当てられた開発リソースにより開発工程単位の開発工程処理を実行する。
【００２０】
プロジェクト管理部１４は、第１の開発拠点の第１のエンジニアリング機能部１３ａで開発工程処理が終了した場合、次の開発工程処理を実行する第２の開発拠点の第２のエンジニアリング機能部１３ｂへ、第１の開発拠点と第２の開発拠点との時差に応じたタイミングで、開発工程処理の引き継ぎ処理を実行する。
【００２１】
また、図２に示すように、ソフトウェア開発管理システム１は、さらに、運用管理部１５及びコミュニケーション機能部１６を備えてもよい。運用管理部１５は、ソフトウェア開発管理システム１の全体の運用を管理する。コミュニケーション機能部１６は、第１の開発拠点と第２の開発拠点間で引き継ぎに必要なコミュニケーションを行う。
【００２２】
このように、実施の形態では、ソフトウェアファクトリのリソースプールを備えた構成において、時差に応じたタイミングで開発拠点間の引き継ぎ処理を実行するため、時差を考慮して効率よく開発作業を進めることができる。したがって、ソフトウェアファクトリを利用したシステムにおいて、開発期間を効果的に短縮することができる。
【００２３】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図３は、本実施の形態に係るソフトウェア開発システム（ソフトウェア開発管理システム）１の構成を示している。ソフトウェア開発システム１は、複数の開発拠点を含むソフトウェアファクトリ（ソフトウェアファクトリシステム）において、ソフトウェアの開発工程を各拠点で分散して実施するためのシステムである。
【００２４】
図３に示すように、ソフトウェア開発システム１は、リソースプール（ソフトウェアファクトリリソースプール）１１０、プロビジョニング機能部１２０、バーチャルＰＣ環境部１３０、開発環境部１４０、プロジェクト管理部１５０、運用管理機能部１６０、コミュニケーション機能部１７０を備える。
【００２５】
リソースプール１１０は、ソフトウェアファクトリのリソースを管理するソフトウェアファクトリリソースプールである。リソースプール１１０は、例えば、複数のサーバに存在するコンピュータリソースを予約、登録することによりプール化し、各開発拠点で利用可能としたものである。例えば、１つのリソースプール１１０に、ソフトウェア開発システム１の全体で利用するリソースが登録されている。
【００２６】
プロビジョニング機能部１２０は、仮想化基盤（Hypervisor）を用いて、仮想ＯＳ上の開発環境をいつでも柔軟に開発拠点へ提供する機能である。また、プロビジョニング機能部１２０は、開発拠点間で、開発環境の移動やコピーが可能である。具体的には、プロビジョニング機能部１２０は、リソースプール１１０にプールされたコンピュータリソースを、開発拠点のバーチャルＰＣ環境部１３０やプロジェクトの開発環境部１４０に割り当て、開発環境をプロビジョニングする。例えば、１つのプロビジョニング機能部１２０が、ソフトウェア開発システム１の全体のリソース割り当て、開発環境の提供を管理している。
【００２７】
バーチャルＰＣ１３０及び開発環境部１４０は、エンジニアリング機能部に相当する。エンジニアリング機能部は、ソフトウェアの開発そのものに必要な開発環境・コンパイル環境・及び構成管理・指標管理・コード検証機能などを含む。
【００２８】
バーチャルＰＣ環境部１３０は、開発担当者（ユーザ）がソフトウェア開発を行うための仮想マシンの環境であり、各拠点の開発担当者ごとに設けられる。図３の例では、２人の開発担当者が開発を行うために、それぞれバーチャルＰＣ環境部１３０ａ，１０３ｂが設けられている。
【００２９】
バーチャルＰＣ環境部１３０（１３０ａ，１３０ｂ）は、プロジェクトの開発環境部１４０へ開発したプログラムをリリースする為の標準開発ツールなどが、あらかじめインストールされている。例えばバーチャルＰＣ環境部１３０（１３０ａ，１３０ｂ）には、Microsoft Visual Studio（登録商標）１３１（１３１ａ，１３１ｂ）や、Eclipse（登録商標）１３２（１３２ａ，１３２ｂ）が、インストールされている。
【００３０】
バーチャルＰＣ環境部１３０は、開発プログラムのプロジェクトに応じて、任意の開発環境部及びプロジェクト管理部へアクセスできる。例えば、バーチャルＰＣ環境部１３０ａは、ＡＡＡプロジェクトの開発環境部１４０ａ及びプロジェクト管理部１５０ａへアクセス可能であり、バーチャルＰＣ環境部１３０ｂは、ＡＡＡプロジェクトの開発環境部１４０ａ及びプロジェクト管理部１５０ａ、ＢＢＢプロジェクトの開発環境部１４０ｂ及びプロジェクト管理部１５０ｂへアクセス可能である。
【００３１】
開発環境部１４０は、開発プロジェクトに適した開発環境を提供し、各拠点の開発プロジェクトごとに設けられる。図３の例では、ＡＡＡプロジェクトの開発環境を提供する開発環境部１４０ａと、ＢＢＢプロジェクトの開発環境を提供する開発環境部１４０ｂとが設けられている。
【００３２】
開発環境部１４０（１４０ａ，１４０ｂ）は、開発環境として必要な、アクティビティ管理１４１（１４１ａ，１４１ｂ）、構成管理１４２（１４２ａ，１４２ｂ）、ビルド・テストジョブ管理１４３（１４３ａ，１４３ｂ）、指標管理１４４（１４４ａ，１４４ｂ）、及びコード管理１４５（１４５ａ，１４５ｂ）などのツールがあらかじめインストールされている。なお、これらのツールは必ずしも必須ではないが、標準的に使用されるものの例示である。
【００３３】
プロジェクト管理部１５０は、開発プロジェクトの開発作業の進捗等を管理し、各拠点の開発プロジェクトごとに設けられる。図３の例では、ＡＡＡプロジェクトを管理するプロジェクト管理部１５０ａと、ＢＢＢプロジェクトを管理するプロジェクト管理部１５０ｂとが設けられている。
【００３４】
プロジェクト管理部１５０（１５０ａ，１５０ｂ）は、プロジェクト管理を行うための計画管理１５１（１５１ａ，１５１ｂ）、進捗管理１５２（１５２ａ，１５２ｂ）、品質管理１５３（１５３ａ，１５３ｂ）などのツールがあらかじめインストールされている。具体的には、プロジェクト管理部１５０は、ソフトウェアの品質、作業計画、及び進捗管理を視覚化する為の管理機能を有する。また、プロジェクト管理部１５０は、他の開発拠点に対し、開発作業に必要な引き継ぎを行う。
【００３５】
運用管理機能部１６０は、バックアップ機能１６１及び監視機能１６２を有し、リソースプール１１０に対する監視及びバックアップを行う。運用管理機能部１６０による監視及びバックアップの運用には、環境個別に対応するのではなく、全体として共通した運用方法を導入する。例えば、１つの運用管理機能部１６０が、ソフトウェア開発システム１の全体の運用を管理している。
【００３６】
コミュニケーション機能部１７０は、ユーザ（開発担当者）間で円滑な作業の引き継ぎを行うためのコミュニケーション機能を有する。例えばコミュニケーション機能部１７０は、ＴＶ会議機能１７１、ソーシャルネットワーキング（ＳＮＳ）機能１７２、及びチャットツール１７３を有する。コミュニケーション機能部１７０は、ユーザ間でコミュニケーションを行うことが可能であればよく、ユーザ間（システム）で共通に設けられていてもよいし、ユーザごとに別々に設けられていてもよい。
【００３７】
図４は、本実施の形態に係るソフトウェア開発システム１において、実際に開発環境上で開発プログラムを作成している場合のリソースプール１１の物理構成のイメージを示している。図４に示すように、プロビジョニング機能部１２０により、データベース３００を含むハードウェア３０１上の仮想化基盤３０２を介して各拠点に開発環境３０３が割り当てられる。開発環境３０３には、プロジェクトの開発環境部１４０や開発担当者のバーチャルＰＣ環境部１３０に割り当てられた環境が含まれる。この開発環境３０３を開発担当者が利用して、各プロジェクト（ＡＡＡ，ＢＢＢ，ＣＣ）の開発プログラム３０４が開発される。
【００３８】
図５は、本実施の形態に係るソフトウェア開発システム１を実現するコンピュータシステムのハードウェア構成を示している。ソフトウェア開発システム１は、図３の機能を実現できればよいため、複数のコンピュータシステムで構成してもよいし、単一のコンピュータシステムで構成してもよい。なお、本実施の形態では、仮想化基盤を用いてシステムを実現するため、コンピュータシステムの物理構成は限定されない。
【００３９】
このコンピュータシステム２００は、ワークステーションやパーソナルコンピュータ等の情報処理装置である。コンピュータシステム２００は、中央処理装置（ＣＰＵ）２０１とメモリ２０４とを含んでいる。ＣＰＵ２０１とメモリ２０４は、バスを介して補助記憶装置としてのハードディスク装置（ＨＤＤ）２０５に接続される。
【００４０】
コンピュータシステム２００は、ユーザ・インターフェース・ハードウェアとして、例えば、ユーザが入力するためのポインティング・デバイス（マウス、ジョイスティック等）やキーボード等の入力装置２０２や、ＧＵＩ等の視覚データをユーザに提示するためのＣＲＴや液晶ディスプレイなどの表示装置２０３を有している。
【００４１】
ＨＤＤ２０５等の記憶媒体はオペレーティングシステムと協働してＣＰＵ２０１等に命令を与え、ソフトウェア開発システム１の機能を実施するためのプログラムを記憶することができる。例えば、後述する処理を実行するためのプログラムが記憶される。このプログラムは、メモリ２０４にロードされることによって実行される。
【００４２】
また、コンピュータシステム２００は、外部装置と接続するための入出力インタフェース（Ｉ／Ｏ）２０６やＮＩＣ（Network Interface Card）２０７を有している。例えば、コンピュータシステム２００は、入出力インタフェース２０６としてＵＳＢ等を備えており、ネットワークに接続するためのＮＩＣ２０７としてイーサネット（登録商標）カード等を備えている。
【００４３】
次に、本実施の形態に係るソフトウェア開発システム１の動作について説明する。図６は、ソフトウェア開発システム１において、１つの開発拠点で１つの開発工程作業を実施する場合の動作である。
【００４４】
まず、ソフトウェア開発システム１は、開発作業の準備を行う（Ｓ１０１）。例えば、作業の準備として、プロビジョニング機能部１２０は、開発拠点に図４のように開発環境を割り当てる。そうすると、開発拠点に対し、バーチャルＰＣ環境部１３０や開発環境部１４０の環境が用意される。
【００４５】
続いて、ソフトウェア開発システム１は、開発作業を行う（Ｓ１０２）。開発拠点の開発担当者は、バーチャルＰＣ環境部１３０を利用してプログラムを開発し、開発環境部１４０にアクセスしてデバッグ等を行う。すなわち、ソフトウェア開発システム１は、拠点に応じた開発工程処理を実行する。
【００４６】
続いて、ソフトウェア開発システム１は、現在の時間が引き継ぎ時間（引き継ぎ開始時間）であるか否か判定し、引き継ぎ時間まで待つ（Ｓ１０３）。例えば、プロジェクト管理部１５０は、開発作業が終了すると、他の開発拠点に引き継ぎを行うため、引き継ぎ時間まで処理待ちとなる。
【００４７】
例えば、図７Ａ及び図７Ｂに示すような、各国における時差比較表を予め用意し、記憶部に記憶しておく。時差比較表（時差テーブル）は、拠点毎（国毎）に、時差及びビジネスアワーを関連付けたテーブルである。図７Ａ及び図７Ｂの斜線部分は、ビジネスアワー外の目安を示している。図７Ａ及び図７Ｂでは、各国において、９：００〜１８：００をビジネスアワーと定義し、ビジネスアワーに応じて各国間の引き継ぎ時間を設ける。なお、図７Ａ及び図７Ｂでは、サマータイムは省略し、１時間以下の時差（０．５、０．２５など）も省略している。例えば、サマータイムや１時間以下の時差を考慮して、引き継ぎ時間を設定してもよい。
【００４８】
プロジェクト管理部１５０は、予め記憶した時差比較表を参照し、拠点間の時差に基づいて、引き継ぎ時間を決定する。すなわち、拠点間の時差によりビジネスアワーにずれが生じるため、ビジネスアワーのずれを利用して引き継ぎ処理及び開発作業を効率よく行う。例えば、開発作業を行っている拠点（引き継ぎ元）のビジネスアワー（就業時間帯）と、次に開発作業を行う拠点（引き継ぎ先）のビジネスアワーとが重なる時間帯の中で引き継ぎ時間（引き継ぎ期間）を設定する。
【００４９】
特に、引き継ぎ元の終業時間から引き継ぎ処理に必要な時間（作業終了後の引き継ぎ処理時間）を差し引いた時間以前の時間帯と、引き継ぎ先のビジネスアワーとが重なる時間帯の中で引き継ぎ開始時間を設定する。また、引き継ぎ元のビジネスアワーと、引き継ぎ先の始業時間に引き継ぎ処理に必要な時間（作業開始前の引き継ぎ処理時間）を加えた時間以後の時間帯とが重なる時間帯の中で引き継ぎ終了時間を設定する。
【００５０】
続いて、引き継ぎ時間（引き継ぎ開始時間）になると、ソフトウェア開発システム１は、開発作業の引き継ぎ（引き継ぎ処理）を行う（Ｓ１０４）。引き継ぎ開始時間になると、バッチ処理により自動で開発プログラムのデータコピーが実施される。例えば、プロジェクト管理部１５０がこの引き継ぎ処理を実行する。これにより引き継ぎ元から引き継ぎ先へ、データを引き継ぎ、エンジニアリング機能そのものを移管する。図８は、引き継ぎによるデータ連携のイメージを示している。図８の例では、インド環境の開発環境３０３により開発された開発プログラム３０４を引き継ぎデータとして、アメリカ環境の開発環境３０３へコピーする。
【００５１】
例えば、引き継ぎ開始時間にはコミュニケーション機能部１７０を使って、引き継ぎ元と引き継ぎ先をＴＶ会議で接続し、ユーザ間で作業状況を連絡しあうことで、効率よく引き継ぎ作業を行う。
【００５２】
引き継ぎが終了すると、次の開発作業を行う拠点ではＳ１０１以降の処理を実行し、順次、開発拠点ごとにＳ１０１〜Ｓ１０４の処理が繰り返される。
【００５３】
図９を用いて、ソフトウェア開発システム１の動作の具体例について説明する。図９は、日本、インド、ドイツ、ニューヨークの４つの拠点で作業を分担する例である。図９の例において、日本ではプロジェクトの全体進捗・レビューを担当し、インドでは開発・修正作業を担当し、ドイツでは評価・報告書作成を担当し、ニューヨークでは共通化作業・文書作成を担当する。
【００５４】
図７Ａ及び図７Ｂのように、各国９：００〜１８：００をビジネスアワーと定義し、各国間で引き継ぎ時間を設ける。図９では、日本時間１２：００〜１５：００を日本からインドへの引き継ぎ時間とし、日本時間１９：００〜２１：００（インド時間１５：００〜１７：００）をインドからドイツへの引き継ぎ時間とし、日本時間２４：００〜２５：００（ドイツ時間１６：００〜１７：００）をドイツからニューヨークへの引き継ぎ時間とする。
【００５５】
例えば、日本からインドへの引き継ぎ時間は、図７Ａより日本とインドとの時差が−３時間であり、日本のビジネスアワーとインドのビジネスアワーが重なる時間帯（日本時間１２：００〜１８：００）から引き継ぎ時間（期間）を選択する。また、引き継ぎ処理時間を３時間として、日本の終業時間から３時間引いた時間以前の時間帯とインドのビジネスアワーが重なる時間帯（日本時間１２：００〜１５：００）から引き継ぎ開始時間（日本時間１２：００）を決定する。また、日本のビジネスアワーとインドの始業時間に３時間を加えた時間以後の時間帯とが重なる時間帯（日本時間１５：００〜１８：００）から引き継ぎ終了時間（日本時間１５：００）を決定する。
【００５６】
また、インドからドイツへの引き継ぎ時間は、図７Ａよりインドとドイツとの時差が−５時間であり、インドのビジネスアワーとドイツのビジネスアワーが重なる時間帯（インド時間１４：００〜１８：００）から引き継ぎ時間（期間）を選択する。また、引き継ぎ処理時間を２時間として、インドの終業時間から２時間引いた時間以前の時間帯とドイツのビジネスアワーが重なる時間帯（インド時間１４：００〜１６：００）から引き継ぎ開始時間（インド時間15:00）を決定する。また、インドのビジネスアワーとドイツの始業時間に２時間を加えた時間以後の時間帯とが重なる時間帯（インド時間１６：００〜１８：００）から引き継ぎ終了時間（インド時間１７：００）を決定する。
【００５７】
また、ドイツからニューヨークへの引き継ぎ時間は、図７Ａ及び図７Ｂよりドイツとニューヨークとの時差が−６時間であり、ドイツのビジネスアワーとニューヨークのビジネスアワーが重なる時間帯（ドイツ時間１５：００〜１８：００）から引き継ぎ時間（期間）を選択する。また、引き継ぎ処理時間を１時間として、ドイツの終業時間から１時間引いた時間以前の時間帯とニューヨークのビジネスアワーが重なる時間帯（ドイツ時間１５：００〜１７：００）から引き継ぎ開始時間（ドイツ時間１６：００）を決定する。また、ドイツのビジネスアワーとニューヨークの始業時間に１時間を加えた時間以後の時間帯とが重なる時間帯（ドイツ時間１６：００〜１８：００）から引き継ぎ終了時間（ドイツ時間１７：００）を決定する。
【００５８】
各プロセスの引き継ぎ時にはバッチ処理により、引き継ぎ元と引き継ぎ先へプログラムが自動でデータ移動される仕様となっている。引き継ぎ開始時間にはコミュニケーション機能を使って、引き継ぎ元と引き継ぎ先をＴＶ会議で接続し、作業状況を連絡しあう。
【００５９】
すなわち、図９では、日本時間９：００〜１２：００に、日本において進捗管理及びレビューが実施され、日本時間１２：００〜１５：００に、日本からインドへ引き継ぎ処理が実施される。このとき日本からインドへ進捗管理及びレビュー結果のデータがコピーされる。日本時間１５：００〜１９：００に、インドにおいて開発修正作業が実施され、日本時間１９：００〜２１：００に、インドからドイツへ引き継ぎ処理が実施される。このときインドからドイツへ開発を行ったプログラムがコピーされる。
【００６０】
日本時間２１：００〜２４：００に、ドイツにおいて評価作業及び報告書作成が実施され、日本時間２４：００〜２５：００に、ドイツからニューヨークへ引き継ぎ処理が実施される。ドイツからニューヨークへ評価書及び報告書のデータがコピーされる。日本時間２５：００からニューヨークにおいて共通化作業及び文書作成が実施され、次の日の日本時間９：００までに、ニューヨークから日本に引き継ぎ処理が実施される。ニューヨークから日本へ共通化作業の結果及び文書がコピーされる。その後、日本では、さらに日本時間9:00から進捗管理及びレビューが実施される。
【００６１】
これにより、進捗管理・レビュー、開発・修正作業、評価・報告書作成、共通化作業・文書作成の一連の作業を24時間以内に実施することができ、１日単位に一連の作業を無駄なく進めることができるため、作業期間が大幅に短縮される。
【００６２】
図１０は、ソフトウェア開発システム１の動作の他の具体例を示している。図１０は、図１２に示した作業を中国とイギリスで実施する例である。
【００６３】
図７Ａより中国とイギリスとの時差が−８時間であり、中国のビジネスアワーとイギリスのビジネスアワーが重なる時間帯（中国時間１７：００〜１８：００）から引き継ぎ時間を選択する。中国の終業時刻である１８：００は、イギリスの始業時刻＋１時間（１０：００）である。そのため、引き継ぎ時間(準備時間)を考慮してレビューの拠点をイギリスに変更した場合には、図１０に示すようにプログラミング完成は３日後となる。すなわち、１日の間に、開発作業、引き継ぎ及びレビューを実施できるため、３人日分の作業を３日で実施できる。
【００６４】
したがって、図１０に示すようにレビュー拠点をイギリスに設けて本実施の形態を適用した場合には、イギリスでは中国の終業後かつ始業前に作業ができるため、図１３に示すように日本に拠点を設ける場合に比べて、効率良く作業を行うことができる。すなわち、１日単位に繰り返し開発工程を実施する場合に、次の日の作業開始前までに他の拠点での開発工程が終了するように、時差を有する拠点を選択することが好ましい。
【００６５】
以上のように本実施の形態では、ソフトウェアファクトリにおけるプログラミング開発等において、時差に応じて引き継ぎを行うことで、引き継ぎ元と引き継ぎ先を円滑に連携させることができる。特に、時差のすれ違う適切な拠点を検討し、ソフトウェア開発システムを利用することで、各拠点のユーザが効率良く作業することができる。より具体的には、通信網を使用したデータ連携でのみが必要であり、物流を必要としないため、瞬時にデータ連携して作業拠点の共有化ができ、いわば工場のクラウド化が可能となる。
【００６６】
（実施の形態２）
グローバル拠点で作業工程を分け、同時に役割の代行可能なワークフローを定義する。また、引き継ぎ時に、図１１に示すように、開発プログラム３０４を含む開発環境３０３ごと、他の拠点へコピーする。
【００６７】
具体的には、まず、リレー方式によるソフトウェア開発システムが複数ある状態とする。その際に各拠点のタイムゾーンが同じ範囲で違う国を選定する。タイムゾーンが同じ範囲で違う国とは、例えば日本と韓国、フィリピンとインドネシアなどである。
【００６８】
次に、ある国において長期休暇になる期間があらかじめ判っている場合には、同じタイムゾーンの別の代行拠点にてソフトウェア開発を代行する。その期間、作業工数は同じ製造量であれば倍になる為、代行拠点ではその期間のみ増員しておく。
【００６９】
これにより、各国の文化・法制度による長期休暇(日本のゴールデンウィークや中国の旧正月、欧米のクリスマス休暇など)が、予めわかっているスケジュールがほとんどにも関わらず、作業引き継ぎができず、スケジュールの遅延が避けられない状況を、解消することができる。
【００７０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００７１】
例えば、上記実施の形態では、ソフトウェア開発システムについて説明したが、その他のシステム開発、データセンタオペレーション、ヘルプデスク業務などに利用することができる。
【符号の説明】
【００７２】
１      ソフトウェア開発システム（ソフトウェア開発管理システム）
１１    リソースプール
１２    プロビジョニング機能部
１３、１３ａ、１３ｂ  エンジニアリング機能部
１４    プロジェクト管理部
１５    運用管理部
１６    コミュニケーション機能部
１１０  リソースプール
１２０  プロビジョニング機能部
１３０、１３０ａ、１３０ｂ  バーチャルＰＣ環境部
１４０、１４０ａ、１４０ｂ  開発環境部
１４１、１４１ａ、１４１ｂ  アクティビティ管理
１４２、１４２ａ、１４２ｂ  構成管理
１４３、１４３ａ、１４３ｂ  ビルド・テストジョブ管理
１４４、１４４ａ、１４４ｂ  指標管理
１４５、１４５ａ、１４５ｂ  コード管理
１５０、１５０ａ、１５０ｂ  プロジェクト管理部
１５１、１５１ａ、１５１ｂ  計画管理
１５２、１５２ａ、１５２ｂ  進捗管理
１５３、１５３ａ、１５３ｂ  品質管理
１６０  運用管理機能部
１６１  バックアップ機能
１６２  監視機能
１７０  コミュニケーション機能部
１７１  会議機能
１７２  ＳＮＳ機能
１７３  チャットツール
２００  コンピュータシステム
２０１  ＣＰＵ
２０２  入力装置
２０３  表示装置
２０４  メモリ
２０６  Ｉ／Ｏ
３００  データベース
３０１  ハードウェア
３０２  仮想化基盤
３０３  開発環境
３０４  開発プログラム
【図１】
2014052956.tif 000003
【図２】
2014052956.tif 000004
【図３】
2014052956.tif 000005
【図４】
2014052956.tif 000006
【図５】
2014052956.tif 000007
【図６】
2014052956.tif 000008
【図７Ａ】
2014052956.tif 000009
【図７Ｂ】
2014052956.tif 000010
【図８】
2014052956.tif 000011
【図９】
2014052956.tif 000012
【図１０】
2014052956.tif 000013
【図１１】
2014052956.tif 000014
【図１２】
2014052956.tif 000015
【図１３】
2014052956.tif 000016