タイトル
写真●ソフトウェアプロセスエンジニアリングの岡大勝氏(代表取締役CEO)

 システム開発を「旅」に例えるのは、ソフトウェアプロセスエンジニアリングの代表取締役CEO ITアーキテクトの岡大勝氏だ。岡氏は、11月7日に都内で開催されたソフトウエア開発者向けイベント「X-over Development Conference 2012(XDev2012)」で、「開発プロセスのデザイン術」と題して講演した(写真)。

 岡氏によると、ERPパッケージは飛行機を使って速く目的地に着く旅。ただし融通は利かない。J2EEによるWebベースの開発なら鉄道の旅。C++を使ったフルスクラッチで、グーグルのように世の中にまだ存在していない新しいシステムを作り上げる開発は、さしずめ徒歩やキャンピングカーを使う旅である。

 そして、どのようなシステム開発の旅であろうと心配がつきものだが、心配もし過ぎると、余計に大変なことになる。

 「私の失敗談だが、子供が生まれての初めて旅行で、あまりに心配でベビーパンツや普段使っているおもちゃなど全部を持って行ったら、大変な思いをした」(岡氏)。

システム開発の旅支度を三つの観点で説明

 そこで、岡氏はシステム開発の旅支度を三つの観点で説明する。

 一つ目は「リスクを識別する」。システム開発のリスクは、「要求リスク」(どんな機能が必要なのかわからない。仕様が変化するなど)、「技術リスク」(特に、異なるソフトウエア間の接続性に関する結合リスク)、「スキルリスク」(新しい技術を使うときのリスクや開発の進め方に関するリスク)、「政治リスク」(担当役員が変わった、キーマンが退職したなど)という4種類のリスクですべてが説明できるという。プロジェクトごとに、この4種類のリスクがどの程度含まれるのかを識別することが重要である。

 二つ目は「手持ちのEquipment(装備)を眺める」。開発チームが持つプラクティスや知識体系、ツールなどを確認する作業だ。そして「『反復型』は要求リスクと技術リスクに対処するための最大のプラクティス」(岡氏)といった知識があれば、適切な開発手法を選択できる。

 三つ目は「開発プロセスをデザインする」。「例えば、いつもの開発メンバーで、いつも作っているような会計システムの構築で、お客さんの要求もそんなに他社と変わらないのであれば、リスクは低いので、ウォーターフォール型で進めてもよい。旅に例えると弾丸ツアーを組める。逆に、技術はいつも使っているものでスキルリスクも低いが、要求がふわふわしている場合はScrumがぴったり」(岡氏)といった具合である。

 岡氏は、「開発プロセスを啓蒙している団体や企業は営利目的なので、できる限り適用範囲を広く見せようとする傾向があるのは否定できない」と指摘する。

 開発プロセスには向き不向きがあるので、合わないプロジェクトには本当に合わないという。プロジェクトのリスクを的確に識別し、“ちょうどいい旅支度”をする必要があると、岡氏は強調した。