24時間、眠ることなくノンストップで開発を続ける「24時間開発」。グローバルな開発実験で得られた具体的な成果や、浮き彫りになった課題、その実現可能性について、第2回に引き続きNTTデータのイノベーションナビゲーター、木谷 強が紹介します。

1.海外との時差を駆使した、グローバル規模のワークシェアリング

海外拠点との時差を有効に活用して、24時間止めることなく開発を進めることで、工期の短縮を目指す「24時間開発」。国内外で活動する優秀な人材や海外の低コストの人件費メリットを生かしたスピーディな開発手段です。システム開発に対してさらなる「迅速性」が求められる中、NTTデータでは情報システムの開発速度の向上を図る「倍速開発」(第2回参照)の一環として、「24時間開発」の早期実現にむけた取り組みをすすめています。
オフショア開発や分散開発など、国内外の複数拠点が連携して開発プロジェクトに取り組むことは従来から進められており、NTTデータでも数多くの実績を重ねています。しかしこれまでは、開発工程完了後の試験工程を海外に委託したり、もしくは開発工程そのものを任せたりと、大きな工程単位で作業を分担する「分業」が一般的なやり方でした。
それに対して「24時間開発」は、いわばグローバル規模に展開するワークシェアリングです。主要な開発工程そのものを複数の拠点で順次受け渡しながら手がけることで、工期短縮を目指そうというものです。1つの拠点の就業時間終了時点で、その日に手がけたプログラミング作業を、次に作業する海外拠点へと引き継ぎ、ノンストップで開発を進めます。それによって、限られた時間と人材の有効活用を図り、工期短縮などの成果が期待できます。
NTTデータでは、先進技術の実現可能性を探る「イノベーションプラン」の一環として「24時間開発」に着目、実際の開発プロジェクトと並行してグローバル規模な開発実験を行いました。その結果、実際に工期短縮が実現するとともに、次の拠点への引継作業に伴うコミュニケーションの重要性を把握するなど、実運用に向けたさまざまな成果が得られました。

2.ドイツとインドの参加による、ワールドワイドな開発実験を展開

事前準備も含めて1年間に及んだ「24時間開発」の開発実験では、インドとドイツの2つの子会社と協力しました。事前の調査・研究を実施したのちに、ドイツと日本、インドと日本という2つのプロジェクトを立ち上げ、開発手法をそれぞれ検討したのちに、その手法に基づく開発者トレーニングを経て、同内容のシステム開発をそれぞれ行い、日本国内で実施した商用の開発と比較して、どれだけの工期短縮が図れるかを具体的に検証することとなりました。開発体制に関して、ドイツと日本では8時間、インドと日本では3.5時間という時差を利用しました。ドイツと日本のプロジェクトではドイツ1チーム・日本2チームの3チーム体制、インドと日本のプロジェクトでは両国とも1チームずつの2チーム体制という、それぞれ異なる開発体制を用意しました。日本国内で実施した商用開発では通常のウォーターフォール開発で取り組む一方、ドイツ・インド両国は開発内容や開発体制から判断して反復型のアジャイル手法を基に独自で考えた手法で開発を進めることとなりました。

【図】
【図】
【図】

図:ドイツとインドの開発拠点が参加した「24時間開発」実験概要

具体的な開発作業に関して、まずドイツと日本においては、両国で作業が重なる時間帯を含めトータルで25時間という稼働体制のもと、重なる時間帯を利用して複数スタッフが参加する電話やWeb会議によるリアルタイムなコミュニケーションを重視した引継作業を実施。一方のインドと日本の開発体制では両国とも作業を実施しない夜間帯があることから、チーム内で情報を集約した上で、電子メールや情報共有ツールを活用した引継作業を行うなど、それぞれ異なるアプローチで臨むこととしました。
こうして2つの異なる環境で開発実験に取り組んだ結果、24時間開発を実践した開発及び試験工程については、日本国内での商用開発と比較して、ドイツと日本の開発体制では約55%、インドと日本の開発体制では32%の工期短縮と、いずれの開発体制とも工期短縮を達成。海外拠点と連携してノンストップで開発を手がける「24時間開発」の工期短縮効果を具体的に立証できました。

【図】

図:工期短縮の結果

3.迅速かつ確実な引継作業が、「24時間開発」成功のカギ

24時間眠ることなく開発が進められ、工期短縮を成し遂げるためには、それぞれの開発拠点での円滑な作業に加えて、次の開発拠点へ作業をスムーズに引き継ぐことが重要なポイントです。情報共有が不十分であったり、開発中のトラブルが未解決のままでは業務を引き継ぐ事ができず「24時間開発」は破綻しかねません。オフショア開発や分散開発と比べても、言葉の壁や開発手法の違いといったハードルが、毎日の引継作業で顕在化し、よりシビアになります。迅速で確実なコミュニケーション手段の確立が「24時間開発」には不可欠といえます。
そうした適切な引継作業の実施に向けて、今回の開発実験を通じて有効だったのが、ドイツと日本の開発チームの間で活用された2つの引継手法でした。
「Triple Questions Run(3つの質問手順)」と題された第1の引継手法は、現在の作業、将来の見通し、課題の3つの観点で状況を簡潔にまとめ、あらかじめ設定したルールに則って情報共有を図りました。そして第2の引継手法は、通常は開発スタッフ同士が実際に席を隣り合わせて1つの画面を共有しながら実際にコードを書いて作業を実施する「ペアプログラミング」をWeb経由で、実施し、これを引き継ぎに利用しました。遠隔地のスタッフ同士でも、隣に座っているのと同様な意思疎通が図れ、効率的なコードの受け渡しに貢献しました。

【図】

図:ドイツを含めた3拠点での24時間の開発イメージ

4.「24時間開発」による工期短縮で、変革する力を提供

「24時間開発」は、先進的な取り組みである「イノベーションプラン」の一環として位置付けられるものですが、今回の開発実験を通じて、試験工程や中小規模のWeb案件であれば、海外の開発拠点と連携して「24時間開発」を実践できるめどが立ちました。
ちなみに今回の開発実験では、日本とインドで実施した開発では、開発チームの中でも細かく役割を定義しました。中でも開発の効率性を高める事を専任で担当する技術者を配置した事でソースコードの再利用性が高まり高い開発効率を達成することができました。一方、ドイツとの開発では、プロジェクトの複雑性と不確実性から導かれる数式に則って最適な開発手法を選定したり、今後のシステム改変や更改を見据え、理路整然とした構造を持ったコードでプログラミングを行ったりと、合理的で質実剛健といわれるドイツ人の国民性を反映するかのような面も見られ、それぞれの海外拠点の特色を反映した興味深い結果も得られました。
なお、開発に参加した日本人スタッフからは、「英語は必須であるものの、エンジニアとしての経験やノウハウに基づき、言葉の壁を越えた意思疎通が図れた」といった感想や、「パッケージソフトウェアの機能追加などのカスタマイズ作業など、作業内容が限定されスタッフ間で共通認識が持ちやすい案件ほど『24時間開発』に向くのではないか」といった知見も寄せられました。
「24時間開発」は、いわばNTTデータが取り組む開発プロジェクトに革新をもたらすものです。先進的な開発体制のもとで、迅速な情報システム構築が実現すれば、お客さまに対して大きなビジネス価値をもたらすことに貢献できます。
21年度の実証実験の結果、一定の条件下での実用化のめどが立ったことから、今後は引き続き、さらなる工期短縮や実用化を目指して実験や検証作業を推進するとともに、実際の商用プロジェクトでの早期実現を図りたいと考えています。

【図】

図:「24時間開発」の成果と課題

著者プロフィール

技術開発本部 副本部長 ソフトウェア工学推進センタ長
木谷 強

お気軽に
お問い合わせ
ください

[第3回]海外との時差を利用した開発で工期短縮「24時間開発」に関するお問い合わせ

お問い合わせフォーム