2チーム制で、開発効率とユーザー満足度を高めよう!エクスプレス開発バイブル(6)(1/2 ページ)

開発する機能の重要度に応じて、開発作業に優先順位を付ける「開発案件3分割の術」はエクスプレス開発のキモといえる手法。では、それを実践するうえではどのような開発体制が効果的・効率的なのだろうか?

» 2010年03月25日 12時00分 公開
[西村泰洋(富士通),@IT]

 第5回『納期・コストを削減する“開発案件3分割”の術』では、納期やコストを削減するために、機能の重要度に応じて開発の優先順位を付け、開発作業を3分割して進める手法を紹介しました。エクスプレス開発手法のキモといえるノウハウですが、これはあくまで「手法」に過ぎず、これを実践に落とし込むためには「どのような開発体制で取り組むか」も考える必要があります。そこで今回は、エクスプレス開発手法を効率的に実践するための開発体制を詳しく紹介したいと思います。

まずプロジェクトチームを2つに分けよう

 結論からいうと、2つのチームに分けて並行して開発を進めていきます。スキルと経験を基準として「1軍」と「2軍」に分けるのです。

 スポーツなどの世界では、新人でもスキルが高ければ、いきなり1軍でレギュラーの座を獲得することもありますが、業務知識やITスキルが求められるSEの世界では、相応の経験が不可欠です。そうしたSEという業務の特性から、1軍は2軍に比べると年齢層が自ずと高くなりますし、1軍のリーダーともなれば、経験豊富なマネージャクラスが適任ということになります。

 対する2軍は、1軍の予備軍というとらえ方です。「スキルは獲得しつつあるが、1軍に対しては多少経験が不足している若手」を中心に構成します。入社して研修を終えたようなメンバーも2軍に位置付けます。また、完全に「実力」「経験」という基準のみで分けるのではなく、ときには教育的観点から、「修行」という意味で、若手のメンバーを適宜1軍に参加させることも大切です。1軍と 2軍には上司と部下の関係を持たせ、組織としての指示命令系統や管理体制を徹底します。

ALT 図1 スキル、経験が豊富なSEが1軍となり、スキルはあるが経験が浅いSEを2軍に配属する。ただし、2軍のリーダーは1軍レベルのスキルと経験を持っていることが求められる

 チーム編成の際には2つのポイントがあります。1つは2軍のリーダーです。2軍と1軍、どちらのメンバーから選ぶのか、判断が難しいところですが、ここはプロジェクトの状況やメンバーに合わせて、としかいえません。ちなみに筆者がエクスプレス開発を行っていたときには、2軍のリーダーは2軍のメンバーから選んでいました。

 もう1つのポイントは、2軍と1軍の業務を完全に切り分けて考えるのではなく、 1軍に向けたスムーズなキャリアパスを思い描けるように業務を割り振ることです。筆者が2軍に在籍していた当時の最後の任務は、2軍のリーダーとして、倉庫作業者が物流管理システムへの入力に利用する専用携帯端末の設計開発と、システムのテストを管理、実行するというものでした。一方、そのとき1軍では物流管理システムのサーバ側の設計開発を行っていました。

 すなわち、2軍と1軍の仕事がつながっており、2軍のリーダーを経験すれば、自然と1軍の仕事ができる見通しが立てられるようにプロジェクトが設計されていたのです。この経験が自分のモチベーションを大いに向上させてくれました。

1軍と2軍の役割

 そうした業務の割り振りにも「開発案件3分割の術」が役立ちます。開発する各種機能を重要度と優先順位を基準に3つに分けたうち、1軍は最も重要かつ優先順位の高い作業を担当します。「開発案件3分割の術」で紹介した以下の表1でいえば、「カットオーバーまでに不可欠な処理1」(カテゴリ1)を担うことになります。2軍は、「不可欠だが、運用当初に限り、一時的には不完全でもよい処理」(カテゴリ2)、「カットオーバーまでに不可欠でない処理」(カテゴリ3)に加えて、テスト工程のほとんどを担当します。

2分割
カテゴリ
3分割
業務処理例
担当
カットオーバーまでに不可欠な処理 カテゴリ1 カットオーバーまでに不可欠な処理1
(カットオーバーまでに完全な機能が求められる処理)
出庫処理
(メニュー画面から出庫する商品の商品コードと出庫数を入力し、実行すると画面上の在庫数が減るという処理)
1軍
カテゴリ2 カットオーバーまでに不可欠な処理2
(不可欠だが、運用当初に限り、一時的には不完全でもよい処理)
出庫一覧
(任意の対象日における出庫商品の一覧を出力する処理。対象日を入力し、表示したデータをプリントアウトする)
2軍
カットオーバーまでに不可欠でない処理 カテゴリ3 カットオーバーまでに不可欠でない処理 棚卸し処理
(月末や期末に商品コードと数量などを入力し、在庫と付け合せる処理)
2軍

表1 第5回『納期・コストを削減する“開発案件3分割”の術』で紹介した物流システムの代表的な処理機能を3カテゴリに分類した表。ハードウェアやソフトウェアの設計・構築作業は、むろんカテゴリ1の最優先作業に入るが、それらの作り込みのための各種要件を3つに分類すると開発を大幅に効率化できる。このうち最も重要かつ優先順位の高い作業を1軍が担当する


2軍がテスト工程を担当することの意味

 ところで、2軍はテスト工程のほとんどを受け持つといいましたが、システム開発では「設計とテストは表裏一体の関係である」といわれています。例えば、V字型アプローチと呼ばれる開発手順では、基本設計とソフトウェア結合テスト、詳細設計とプログラミングテスト/単体テストなどが一対の関係で示されています。従って、テストを深く理解していないと、設計を手掛けることもできません。

 そして、表1で示したように、設計を担当する範囲は2軍の方が多くなるわけですから、システムテストも2軍が多くの範囲を担当することになります。そこには当然、1軍が開発した機能のテストも含まれているわけです(ただし、単体テストなどの開発者テストについては、1軍が開発を担当している機能であれば、テストも1軍が行います)。

 つまり、1軍は最重要かつ最小限の開発業務をこなし、2軍は2軍の担当範囲のみならず、1軍の担当範囲も間接的に支援する役目を担うのです。その意味で、2軍は常に1軍の担当内容も理解している必要があります。こうした体制が開発効率を高めるとともに、前述したように、ゆくゆくは1軍の業務を見通せる教育的効果を生むのです。

 ただし、以上のようなエクスプレス開発の役割分担は、開発効率や教育的観点からみると理想的でも、企業としてリソースの有効活用という観点からみると効率的とはいえません。そこで、1軍のメンバーは豊富なスキルと経験を生かして複数以上のプロジェクトを担当し、2軍のメンバーは担当プロジェクトを1〜2プロジェクトに絞ることで、全体の効率を高めるよう配慮します。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ