震災の影響で、一緒に仕事をしていた外国人エンジニアが不安を感じて帰国したり、交通機関がマヒしたりして、多くの開発現場が人手不足の状況に陥った。新たなメンバーの手当てもかなわず、残りで対応せざるを得なかったプロジェクトは少なくないだろう。

 災害時に限らず、システム開発プロジェクトでは、コストの制約などが原因で、十分な要員を確保できない危機に陥りやすい。プロジェクトがこのような状況に見舞われたとき、PMや火消し役のITエンジニアは「生産性の限界を超える」といった策を講じて、危機を乗り切っている。具体例を順に見ていこう。

生産性の限界を超える
仕掛け作りや支援を欠かさない

 人が足りない状況で真っ先に取り組みたいのは、今いるメンバーの個の力を最大限に引き上げ、現場の生産性を飛躍的に高めることだ。状況が一変した現場での危機対応では、のんびり増員を待っている暇はないからだ。

生産ラインに望みを託す

図1●ソフトウエアファクトリーで大量生産を実現する
図1●ソフトウエアファクトリーで大量生産を実現する
アバナードの星野友彦氏は、メンバーが5人限りのプロジェクトで200画面を開発するために、プログラムを量産するソフトウエアファクトリーを構築した。既存システムの分析を基に自動生成ツールや工程を整備した結果、当初計画通りの2カ月で開発できた
[画像のクリックで拡大表示]

 開発量は当初見込みの数画面から200画面に。しかし開発要員は計画通り5人、期間も2カ月のまま──。ITコンサルティングやシステムインテグレーションを手掛けるアバナードの星野友彦氏(マネジャー)は、かつてITアーキテクトとして携わったデータセンター設備管理システムの2次開発プロジェクトで、こんな危機に直面した(図1)。

 2次開発の目的は、マスターデータ管理機能の改修。200画面に増えたのは、「サーバーの筐体を登録してからでないとCPUは登録できない」といった細かな業務ルールを実装しなければならないことが、要件定義によって明らかになったからだ。

 「コストの制約で増員や期間延長は許されない。ならば生産性をギリギリまで高めるしかない」。星野氏が望みを託したのは、プロジェクトに携わる前に情報収集していた「ソフトウエアファクトリー」。開発するプログラムの特徴を踏まえて、自動生成ツールやプログラムの生産ラインを整備し、効率を大きく高める開発手法だ。

 開発作業が始まるのは、仕様策定が終わる約1カ月後。星野氏はそれまでの間、生産ラインの構築に専念した。既存システムのプログラムをくまなく調べ、効率良く開発できるアーキテクチャーを探った。その結果、「画面とビジネスロジックは自動生成させる」「画面修正、チェックロジックとデータアクセスの記述は、手順を踏んで手作業で行う」という方針を決定。自動生成ツールと生産ラインを開発環境のVisual Studioに組み込んで、メンバー5人と作業に取り掛かった。

 開始当初は新しいやり方にメンバーがなじめず、はかどらなかった。そこで星野氏は毎日1時間、開発方法をレクチャー。教材には、理解しやすさと作業進捗の両方を狙って、実際の仕様を用いた。2週間のレクチャーの後、進捗が改善。2カ月後に200画面の生産が完了した。「一から開発していたら、半分も完成していなかっただろう」。星野氏は胸をなでおろす。