ObjectSquare [ 2010 年 1 月号]

[技術書籍]


反復型開発のエコノミクスの表紙

反復型開発のエコノミクス - 業績を改善するソフトウェアプロジェクト管理


ウォーカー・ロイス、カート・ビットナー、マイク・ペロー 著
藤井拓監訳
ピアソン・エデュケーション 2,520 円 (税抜き 2,400円)
A5版 176ページ
ISBN: 4894715449

目次 目次
内容の紹介 内容の紹介

目次

第 1 部:ソフトウェアで動く経済
第 1 章:ソフトウェアプロジェクト管理の課題
第 2 章:結果を達成する:ソフトウェアエコノミクスの真相
第 2 部:ソフトウェア開発の経済性を改善する
第 3 章:ソフトウェアエコノミクスのトレンド
第 4 章:ソフトウェアプロジェクトの規模と複雑さを低減
第 5 章:開発プロセスを改善する
第 6 章:チームの熟練度の改善
第 7 章:統合されたツールで自動化を改善
第 8 章:常識を通じて文化の転換を加速
第 3 部:ソフトウェアエンジニアリングの実際的な測定
第 9 章:ソフトウェア開発の評価尺度の実際的な見方
第 10 章:方向づけフェーズでは何を測定するか
第 11 章:推敲と作成のフェーズでは何を測定するか
第 12 章:移行フェーズで何を測定するか
第 13 章:プログラムに組み込まれたプロジェクトを測定する
付録:反復型プロジェクトの管理を開始する

TOP ページのトップへ戻る

内容の紹介

まず、本書を読むためには統一プロセス(UP: Unified Process)の概要について基本的な知識を持っていることが望ましいでしょう。本書は、反復型開発や統一プロセスについて基本的な知識を持つ人が以下の2点を行うために役立つ本です。

これらの2点を限られたページ数で説明するために、統一プロセス、開発プロセス、開発技術などの説明は本書では省かれています。統一プロセスをこれから実践したいと考えているプロジェクト管理者やアーキテクト、開発組織に統一プロセスを普及させたいという管理職や経営者にお薦めの本です。

第1部では、従来のウォーターフォール型開発と反復型開発を対比し、反復型開発の利点を説明しています。本書ではウォーターフォール型開発の問題点は、以下の3点にあると主張しています。

反復型開発プロセスを用いることで、これらのウォーターフォール型開発の問題点を克服し、ソフトウェア開発に伴う不確定性とリスクにより良く対処できると主張しています。本書でいう反復型開発プロセスは、統一プロセスのように以下の 2 つのレベルで目標を設定して開発を進めるものです。

このような形で開発を行うことで、リスクをうまく管理しながら、「作業」ではなく、ビジネス上の「結果」を重視したソフトウェア開発を行うことができます。

本書では、「作業」をこなすことを重視するウォーターフォール型開発を「ソフトウェアエンジニアリング」と呼び、それに対してビジネス上の「結果」を重視する反復型開発を「ソフトウェアエコノミクス」と呼んでいます。つまり、反復型開発をビジネスにもっと役立つソフトウェアを作るための方法と位置付けているのです。

第 2 部は、1999 年に日本語訳が刊行されたウォーカー・ロイス氏の「ソフトウェアプロジェクト管理」[1]のダイジェスト版とも言える内容で、以下のような点を説明しています。

本書で使われている労力とソフトウェアの複雑度(規模)の間の関係式は、ソフトウェア開発のコストモデルであるCOCOMO IIを大幅に単純化した以下のようなものです。

労力 = (チーム) x (ツール) x (複雑さ)(プロセス)

労力をコスト(経済性)と読み替えると、コストはチーム、ツール、複雑さ、プロセスの4つのパラメータで決まると考えることができます。ソフトウェア開発では、プロセスのパラメータは1以上で値を持つために、複雑さ(規模)が増加するとコストは複雑さの増加よりも大きな割合で増えます。これを、規模の不経済と呼びます。このため、複雑さ(規模)を減らすことがコストを削減するために非常に大事なのです。本書では、人手で作るコードを減らす市販コンポーネント、ドメイン固有の再利用、高級言語等の技術を総称してコンポーネントベース技術と呼んでおり、この技術やサービス指向アーキテクチャが複雑さ(規模)を減らすために有効だとしています。

このようなコンポーネントベース技術の定義はかなり強引だと思います。また、実際にはオープンソースで提供されるプロダクトも人手で作るコードを減らすための大きく貢献したと思われるのですが、その点にあまり言及していないのが少し残念です。

第 3 部では、反復型開発のライフサイクルの各フェーズでどのような測定を行うべきかという点が説明されています。尺度としては、各フェーズで開発が順調に進行しているかを診断するための様々なものが紹介されています。また、いくつかの尺度については反復型開発のライフサイクルを通じた値の変化がグラフで示されています。これらのグラフは、反復型開発がどのように進むかという点や、どのようなことに注意すべきかということを理解する参考になると思います。その一方で、尺度の詳しい説明はなく、本書の説明だけでこれらの尺度を測定するのは難しいかもしれません。

付録では、反復型開発の組織に導入するための様々なアドバイスが述べられています。この部分では、反復型開発を適用する最初のプロジェクトの選び方や、反復型開発に関する様々なプラクティスを段階的に導入する方法など反復型開発を導入する際に気をつけるべきポイントを的確に説明しています。また、反復型開発の導入には開発組織の変化が必要であり、そのような組織の変化を成功に導くためのアドバイスも述べられています。

近年、XP やスクラムのようなアジャイル開発という形で欧米では普及してきている反復型開発ですが、日本では「計画や契約に従ってソフトウェアを作る」という風土もあって普及が足踏みしている状況だと思います。そのような状況を克服するためには、やや堅苦しいように思えるかもしれませんが開発依頼者から見て「より安心感を持てる」形で開発を進めることが必要になると思います。そのような「より安心感を持てる」形での開発を実現するために、この本書に述べられている統一プロセスのフェーズや各フェーズのモニター方法が役立つと思います。そのため、アジャイル開発から反復型開発を知った人にも、従来型の開発手法からの移行先を探している人にも、お薦めしたい書籍です。

参考書籍

TOP ページのトップへ戻る
記事の内容を5点満点で評価してください。
1点 2点 3点 4点 5点
記事に関するコメントがあれば併せてご記入ください。

© 2010 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP