03.11.2014 Views

Software development in the cloud - XLsoft.com

Software development in the cloud - XLsoft.com

Software development in the cloud - XLsoft.com

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

アジャイルソフトウェア 開 発 概 論<br />

Victor Szalvay<br />

アジャイルとは 何 でしょうか。アジャイルは、 自 分 の 組 織 の 改 善 にどのよ<br />

うに 役 立 つのでしょうか。これらは、このアジャイルソフトウェア 開 発 手 法<br />

紹 介 記 事 でその 答 えを 明 らかにする 質 問 の 一 部 にすぎません。<br />

この 記 事 は、 開 発 の 生 産 性 向 上 に 関 心 のあるITマネージャおよび<br />

CXO 向 けに 書 かれたものです。 最 初 に、ソフトウェア 開 発 で 一 般 的 な<br />

2つの 主 要 な 開 発 手 法 、「ウォーターフォール 手 法 」とも 呼 ばれる 従 来<br />

の 逐 次 型 手 法 と、アジャイルをサブセットとして 含 む 反 復 型 手 法 を 紹<br />

介 します。ここでの 目 的 は、ウォーターフォール 手 法 の 欠 点 を 指 摘 し、<br />

反 復 型 手 法 、 特 にアジャイル 手 法 による 解 決 方 法 を 示 すことです。<br />

アジャイルとは 何 でしょうか。アジャ<br />

イルは、 自 分 の 組 織 の 改 善 にどの<br />

ように 役 立 つのでしょうか。これら<br />

は、このアジャイルソフトウェア 開 発<br />

手 法 紹 介 記 事 でその 答 えを 明 ら<br />

かにする 質 問 の 一 部 にすぎませ<br />

ん。<br />

パート I: 従 来 のウォーターフォール 手 法 の 欠 点<br />

ウォーターフォールソフトウェア 開 発 の 基 本 は、 作 業 を 段 階 的 に 逐 次 進 める 方 法 で 複 雑 なソフトウェアシステムを 構 築<br />

できることです。ウォーターフォール 手 法 では、 最 初 に 全 ての 要 件 を 収 集 し、 続 いてすべての 設 計 を 完 了 し、 最 後 に 主<br />

要 設 計 を 本 番 稼 動 が 可 能 なソフトウェアに 実 装 します。この 手 法 では、ビジネスや 技 術 の 状 況 変 化 を 考 慮 して 要 件<br />

や 設 計 案 を 再 検 討 することなく、シングルパスで 複 雑 なシステムを 構 築 できるとされています。このモデルが 初 めて 紹<br />

介 されたのは、1970 年 に 発 表 されたW<strong>in</strong>ston Royceの 論 文 で、 当 初 は 政 府 のプロジェクトで 使 用 される 予 定 でした 1 。<br />

ウォーターフォールでは、ソフトウェア 開 発 を 生 産 ラインのベルトコンベヤーになぞらえます。「 要 求 分 析 者 」は、システム<br />

の 仕 様 をまとめ、 完 成 した 要 求 仕 様 書 を「ソフトウェア 設 計 者 」に 渡 します。「ソフトウェア 設 計 者 」は、ソフトウェアシス<br />

テムを 設 計 し、コードの 記 述 方 法 を 文 書 化 した 図 表 を 作 成 します。 設 計 図 表 は「 開 発 者 」に 渡 され、「 開 発 者 」は 設<br />

計 に 基 づいてコードを 実 装 します( 図 1を 参 照 )。<br />

図 1: 従 来 の 手 法 : 逐 次 段 階 的 手 法<br />

これまでのITマネージャは、ウォーターフォール 手 法 を 使 用 し、 並 々<br />

ならぬ 努 力 を 払 って 大 規 模 な 開 発 計 画 を 作 成 し、 実 行 してきまし<br />

た。これらの 計 画 は 一 般 に、 開 発 プロジェクトが 始 まる 前 に 数 カ 月<br />

あるいは 数 年 後 までの 詳 しい 作 業 や 開 発 グループの 各 要 員 の 依<br />

存 関 係 をガントチャートやパート 図 を 使 って 作 成 されます。しかしな<br />

がら、 過 去 のソフトウェアプロジェクトに 関 する 調 査 によれば、 時 間<br />

通 りにまた 予 算 通 りに 進 んだプロジェクトは9~16パーセントにすぎ<br />

ません 2 。この 記 事 では、それほど 多 くのケースでウォーターフォール<br />

重 要 なソフトウェアシステムを 構 築<br />

するために、ソフトウェアグループを<br />

雇 ったとします。 開 発 者 たちが<br />

必 要 とする 微 細 な 情 報 を、 即 座 に<br />

提 示 することができると 思 いますか。<br />

手 法 が 失 敗 した 理 由 に 対 する 現 在 のコンピュータ 科 学 者 の 見 解 を<br />

要 約 します。また、ウォーターフォールの 主 要 な 代 替 手 法 である「アジャイル」 手 法 についても 検 討 します。アジャイル 手<br />

法 は、プロジェクトのライフサイクルを 通 じて、 要 求 、 設 計 、 実 装 、テストを 継 続 的 に 行 う、 付 加 的 で 反 復 的 な 開 発 に<br />

重 点 を 置 いています。


事 前 の 要 求 分 析<br />

要 求 とは 何 でしょうか。 関 係 者 の 観 点 では、 要 求 とはシステムの 機 能 および 仕 様 です。 要 求 は、 開 発 者 が 構 築 する<br />

ものを 定 義 します。 例 えば、システムには1 時 間 当 たり10,000 件 の 購 入 を 処 理 できるEコマース 機 能 を 備 えたウェブサイ<br />

トが 含 まれていなければならない、あるいは99.999パーセントいつでもアクセス 可 能 なシステムであるなどです。<br />

ウォーターフォール 手 法 の 最 大 の 問 題 のひとつは、この 手 法 が、 全 てのプロジェクトの 要 求 をプロジェクトの 初 期 に 的 確<br />

に 収 集 できることを 前 提 とする 点 です。 図 1では、ブロック1が、ソフトウェア 開 発 プロジェクトの 要 求 分 析 フェーズを 表 し<br />

ています。 分 析 者 は、 数 週 間 あるいは 数 カ 月 間 あくせくと 働 き、 提 案 されたシステムに 関 して 収 集 できるあらゆる 情 報<br />

を、 包 括 的 な「ソフトウェア 要 求 仕 様 書 (SRS)」という 文 書 にまとめます。この 作 業 が 完 了 すると、SRSは 設 計 者 に 送<br />

られ、 要 求 分 析 者 は 次 のプロジェクトの 作 業 に 移 ります。<br />

重 要 なソフトウェアシステムを 構 築 するために、ソフトウェアグループを 雇 ったとします。 開 発 者 たちが 必 要 とする 微 細 な<br />

情 報 を、 即 座 に 提 示 することができると 思 いますか。そのようなお 客 様 に 会 ったことはまだありませんし、そのようなお 客<br />

様 に 会 ったら 非 常 に 苦 労 することになります。 初 めに、 対 応 しなければならない 領 域 を 検 討 します。 業 務 ルールと 例 外 、<br />

拡 張 性 とユーザの 同 時 サポート、ブラウザやOSへの 対 応 、ユーザの 役 割 と 制 限 、ユーザインタフェースの 基 準 などの 領<br />

域 があります。 実 際 のところ、 関 係 者 はプロジェクトの 開 始 時 にシステムに 関 する 全 ての 情 報 を 開 発 者 に 伝 えることが<br />

できないというだけの 理 由 で、 事 前 の 要 求 定 義 で 一 部 の 重 要 な 詳 細 が 欠 落 することを 避 けられません 3 。つまり、 要<br />

求 は 通 常 、「 変 更 指 示 」という 形 で、 要 求 フェーズ 以 外 の 段 階 で 変 更 されます。そして、 多 くのウォーターフォールプロ<br />

ジェクトで、 要 求 変 更 は 非 常 に 費 用 がかかる 可 能 性 があります。 要 求 変 更 のため、 複 雑 な 設 計 は 著 しく 影 響 を 受 け<br />

る 可 能 性 があり、 回 りまわって 実 装 およびテストの 戦 略 にも 影 響 を 及 ぼします。 開 発 者 はプロジェクトの 初 期 に 全 てを<br />

決 定 せざるを 得 ないため、ウォーターフォールプロジェクトでの 変 更 コストは、やがて 急 激 に 増 加 します。<br />

ビジネスニーズが 新 しいものであったり、システムのある 側 面 が 急 速 に 変 化 していたりまだ 定 義 できない 状 態 だったら、<br />

どうなるでしょうか。 多 くの 場 合 、 特 に 情 報 が 簡 単 に 入 手 できる 今 日<br />

のような 時 代 では、ビジネスの 環 境 や 目 標 は 急 速 に 変 化 します。 変<br />

更 にかかる 費 用 が 急 激 に 増 加 する 厳 格 な 長 期 プロジェクトに 固 執 で<br />

きるだけの 財 政 的 余 裕 がありますか。 例 えば、まもなく 標 準 化 される<br />

検 査 のシミュレータを 開 発 するよう、 国 営 の 検 査 準 備 機 関 から 委 託 さ<br />

れたとしましょう。 検 査 自 体 がまだ 公 表 されていないので、 開 発 開 始<br />

時 には、 検 査 で 問 われるであろう 設 問 の 種 類 は 不 明 でした。それでも、<br />

検 査 の 公 表 後 まもなくシステムは 完 成 しなければなりません。ソフトウ<br />

ェア 開 発 業 界 は、 変 更 にかかる 費 用 を 抑 えた 柔 軟 な 開 発 計 画 に 対<br />

応 することを 市 場 に 強 いられています。<br />

橋 の 建 設 は、 物 理 的 および 数<br />

学 的 法 則 に 依 存 していますが、<br />

ソフトウェア 開 発 には、 法 則 や<br />

基 盤 となる 明 らかな 確 実 性 は<br />

ありません。そのため、ソフトウェア<br />

はほとんどいつも 不 備 があったり、<br />

最 大 限 に 利 用 できません。<br />

顧 客 は、 何 かを 見 て 感 じないと、 自 分 が 必 要 なものを 本 当 には 知 る<br />

ことができません。IKIWISI ( 目 にすれば 分 かる) 法 則 は、ソフトウェア 開 発 の 顧 客 は 機 能 ソフトウェアを 目 にして 試 用 す<br />

れば 本 当 に 必 要 なものをより 明 確 に 説 明 できるということを 表 しています。 私 は、ときどき「 描 画 」を 例 にしてこの 状 況<br />

を 説 明 します。 下 手 な 絵 描 きは、 絵 を 描 くとき、 筆 を 進 めながらその 絵 をながめる 必 要 があります。 目 を 閉 じて 同 じ 絵<br />

を 描 こうとすると、 良 い 絵 は 描 けません。しかし、これは、ウォーターフォール 手 法 で 顧 客 が 求 められることです。つまり、<br />

顧 客 は、 進 捗 を 定 期 的 に 評 価 する 機 会 を 持 たずにシステム 全 体 を 明 確 に 説 明 し、 必 要 に 応 じて 要 求 を 調 整 する 必<br />

要 があります。ウォーターフォールは、「フェンス 越 し」のアプローチです。ユーザから 要 求 を 収 集 し、 後 日 完 成 した 製 品<br />

をユーザーに 提 示 します。 顧 客 は、ソフトウェアの 開 発 過 程 を 注 意 深 く 見 守 ることなくそのソフトウェアを 完 璧 に 説 明 す<br />

ることは 困 難 であると 気 付 いていますので、ウォーターフォール 手 法 は 実 に 不 自 然 です。<br />

要 件 の 未 定 義 、 変 更 、 明 確 化 の 問 題 は、ウォーターフォール 手 法 のプロジェクトにとっては 非 常 に 大 きな 課 題 です。と<br />

言 いますのは、 後 から 費 用 のかかる 変 更 する 危 険 を 冒 しながら、 全 ての 要 求 を、 定 義 することにより 前 もって 把 握 しな<br />

ければならないからです。<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

2


製 造 より 新 製 品 開 発 に 近 いソフトウェア 開 発<br />

ソフトウェア 開 発 は、システムに 影 響 を 及 ぼす 無 数 の 変 数 を 伴 う 非 常 に 複 雑 な 分 野 です。 全 てのソフトウェアは、 数<br />

学 的 あるいは 物 理 的 な 確 実 性 を 備 えて 構 築 することができないため、 不 備 があるものです。 橋 の 建 設 は、 物 理 的 お<br />

よび 数 学 的 法 則 に 依 存 していますが、ソフトウェア 開 発 には、 法 則 や 基 盤 となる 明 らかな 確 実 性 はありません。そのた<br />

め、ソフトウェアはほとんどいつも 不 備 があったり、 最 大 限 に 利 用 することができません。また、ソフトウェアプロジェクトの<br />

構 成 要 素 は 通 常 、ほかのソフトウェアシステム(プログラミング 言 語 、データベースプラットフォームなど)であること、 構 成<br />

要 素 として 機 能 するそれらのシステムにはバグがあり、 自 信 を 持 って 信 頼 することはできないことを 考 えてみてください。<br />

ソフトウェア 開 発 の 基 盤 は 本 来 不 安 定 で 不 確 かなので、ソフトウェアを 開 発 する 組 織 は、 管 理 コントロールから 大 きく<br />

外 れた 変 数 が 存 在 することを 認 識 する 必 要 があります。したがって、ソフトウェア 開 発 は、 流 れ 作 業 による 製 造 よりも<br />

新 製 品 の 研 究 開 発 に 似 ていると 言 えます。ソフトウェア 開 発 は、 革 新 であり、 発 見 であり、 芸 術 です。 開 発 プロジェク<br />

トへの 参 加 は、そのつど 画 一 的 な 型 にはまったソリューションでは 太 刀 打 ちできない、 手 のかかる 新 たな 挑 戦 です 4 。<br />

ウォーターフォール 手 法 では、 事 前 の 設 計 が、 開 発 工 程 に 影 響 を 与<br />

える 可 能 性 のある 全 ての 変 数 を 考 慮 していると 仮 定 します。 実 際 のと<br />

ころ、ウォーターフォールプロジェクトは、 起 こり 得 るあらゆるリスク、 緩 和<br />

策 、 不 測 の 事 態 を 列 挙 する 作 業 に 多 大 な 労 力 を 注 ぎます。しかし、<br />

ウォーターフォールプロジェクトに 影 響 を 与 える 可 能 性 のある 全 ての 変<br />

数 を 予 測 することは 可 能 なのでしょうか。ウォーターフォールプロジェクト<br />

の 限 られた 成 功 例 を 考 え、 経 験 に 基 づけば、 答 えは「 不 可 能 」です 5 。<br />

したがってウォーターフォールで、ソフトウェア 開 発 の 動 的 な 工 程 を 静 的<br />

な 流 れ 作 業 になぞらえても、 正 確 には 一 致 しません。この 理 想 的 な、<br />

そして 非 現 実 的 な 開 発 手 法 では、 各 工 程 は、 逐 次 実 行 された 場 合<br />

に 成 功 するように 定 義 されます。 最 初 のステップはX、2 番 目 のステップ<br />

開 発 を 最 初 から 最 後 まで 完 全 に<br />

記 述 できるほど 単 純 なソフトウェア<br />

システムはほとんどありません。 全<br />

てのソフトウェアプロジェクトに 内 在<br />

する 不 確 実 性 と 複 雑 性 は、 不 確<br />

実 性 と 多 数 の 未 知 の 変 数 に 対 処<br />

する、 適 応 性 のある 開 発 プランを<br />

必 要 とします。<br />

はY、 結 果 は 必 ずZです。 逐 次 実 行 した 場 合 に 新 しい 製 品 が 完 成 する 一 連 のステップに、 調 査 を 組 み 込 むことができ<br />

るのでしょうか。この 型 通 りの 手 法 が 十 分 なら、 医 学 分 野 の 研 究 者 は 変 数 を 方 程 式 に 当 てはめるだけで 新 薬 を 発 見<br />

できます。 反 対 に、1970 年 代 以 降 、トヨタ、ホンダ、 富 士 通 、3M、HP、キャノン、およびNECが 先 導 した 製 品 開 発 企<br />

業 は、 新 製 品 開 発 のアプローチとして、 逐 次 的 な「 段 階 的 プログラム 計 画 (PPP)」 手 法 の 代 わりに、 従 来 の 開 発 フェ<br />

ーズが 製 品 ライフサイクル 全 体 に 重 なる 柔 軟 で 総 体 的 な 手 法 を 採 用 しました 6 。この 結 果 、 費 用 と 出 荷 までの 期 間 が<br />

激 減 し、 最 終 的 には、「リーン 開 発 」および「かんばん 方 式 」による 製 造 の 普 及 につながりました。 日 本 の 自 動 車 メーカ<br />

ーのトップに 追 随 し、 新 製 品 開 発 において、 逐 次 型 のウォーターフォール 手 法 は、ソフトウェア 開 発 以 外 の 業 界 では<br />

1990 年 代 に 事 実 上 使 われなくなりました 7 。しかし、 単 純 な 流 れ 作 業 の 連 続 としてソフトウェア 開 発 を 分 類 するという<br />

長 年 に 渡 るITマネージャたちのこだわりが、この 業 界 においては、より 優 れた 手 法 への 進 化 を 妨 げました。ほかの 新 製<br />

品 開 発 業 界 が 何 十 年 もその 恩 恵 を 受 けてきたのとは 対 照 的 です。ソ<br />

フトウェアのような 最 先 端 技 術 の 分 野 が、 開 発 手 法 に 関 して、より 伝<br />

統 的 なエンジニアリングに 後 れを 取 っているのは 皮 肉 なことです。<br />

アジャイル 手 法 は、 工 程 の 膨 大<br />

な 間 接 費 や 成 果 物 よりも、 生<br />

産 性 と 価 値 を 重 視 します。<br />

開 発 を 最 初 から 最 後 まで 完 全 に 記 述 できるほど 単 純 なソフトウェアシ<br />

ステムはほとんどありません。 全 てのソフトウェアプロジェクトに 内 在 する<br />

不 確 実 性 と 複 雑 性 は、 不 確 実 性 と 多 数 の 未 知 の 変 数 に 対 処 する、 適 応 性 のある 開 発 プランを 必 要 とします。<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

3


パート II: 反 復 とアジャイル 手 法<br />

反 復 型 開 発<br />

開 発 の 各 フェーズを 繰 り 返 すことができるというだけで、プロジェクトの 効 率 が 劇 的 に 向 上 します。 各 フェーズを 繰 り 返 す<br />

考 え 方 は、「 反 復 型 開 発 」と 呼 ばれます。 反 復 プロセスでは、 従 来 のライフサイクルは 一 連 の「 短 い」 反 復 (1つの 反 復<br />

は 通 常 は2~4 週 間 )に、 各 反 復 は 従 来 の 開 発 の 各 「フェーズ」になります。 例 えば、 要 求 の 収 集 は 定 期 的 に 再 検 討<br />

される 進 行 中 のプロセスです。 新 しい 要 求 が 明 らかになり、プロジェクトの 範 囲 が 広 がるにつれ、 反 復 を 繰 り 返 すごとに、<br />

反 復 プロセスは 継 続 的 に 要 求 を 取 り 込 んでいきます。 興 味 深 いことに、(ウォーターフォールプロセスで 有 名 な)<br />

W<strong>in</strong>ston Royce 氏 は、 後 に、 自 分 の 考 えが 間 違 って 理 解 されていること、「シングルパス」のフレームワークは 決 して 機<br />

能 しないこと( 彼 の 論 文 では、 実 際 に 尐 なくとも2 番 目 のパスが 推 奨 されています)を 述 べています 8 。 複 雑 性 およびリス<br />

クの 要 因 に 適 切 に 対 処 するには、プロジェクトのサイクルを 通 じて 複 数 の「パス」または 反 復 が 必 要 です。<br />

図 2: 反 復 型 手 法 : 開 発 フェーズの 重 複<br />

反 復 型 開 発 のこの 考 え 方 は、1980 年 代 の「リーン 開 発 」に 由 来 します。 上 述 のように、 日 本 の 自 動 車 メーカーは、 段<br />

階 的 で 逐 次 型 手 法 を 放 棄 して 反 復 型 手 法 を 導 入 しただけで、 驚 異 的 な 効 率 化 と 技 術 革 新 を 実 現 できました。 反<br />

復 型 手 法 では 短 期 間 のマイルストーンでプロトタイプが 開 発 されました( 図 2を 参 照 )。 各 フェーズは、 実 際 には 開 発 の<br />

ライフサイクル 全 体 を 通 して 連 続 する 層 でした。 要 求 、 設 計 、および 実 装 のサイクルは、 短 期 間 のマイルストーンのた<br />

びに 繰 り 返 されました。この「 並 行 開 発 」のアプローチから、 試 行 錯 誤 の 実 験 を 行 い、 最 終 的 にはそれにより 現 状 が 分<br />

析 されて 効 率 的 な 技 術 革 新 につながるということが 分 かりました 9 。ある 業 界 から 別 の 業 界 を 直 接 類 推 しても 決 してシ<br />

ームレスではありませんが、リーン 開 発 の 成 功 は、 統 一 プロセス、Evo、スパイラル、およびアジャイルを 含 む 広 範 な「 反<br />

復 」ソフトウェア 開 発 手 法 に 影 響 を 与 えてきました。<br />

アジャイル 手 法 : 変 更 の 受 容<br />

アジャイル 手 法 は、 工 程 の 膨 大 な 間 接 費 や 成 果 物 よりも、<br />

生 産 性 と 価 値 を 重 視 します。アジャイル 手 法 は90 年 代 から<br />

存 在 していましたが、アジャイルの 価 値 を 要 約 したアジャイ<br />

ルマニフェスト 10 は、2001 年 に 作 成 および 署 名 されました。<br />

アジャイル 手 法 は、ソフトウェア 開 発 のための 反 復 的 メカニ<br />

ズムの 普 及 を 促 し、さらに 設 計 -コーディング-テストを、 反<br />

復 ごとに1 回 ではなく1 日 に 最 低 1 回 に 強 化 して(1 日 に1 回 より 頻 度 が 低 い 場 合 )、ソフトウェアのライフサイクルの 反 復<br />

の 特 性 を 向 上 させました。アジャイルの 未 来 を 予 見 したKent Beckは、20 年 以 上 も 前 にBarry Boehm 11 が 開 発 した<br />

従 来 の 変 更 コスト 曲 線 に 挑 戦 しました。Beckのモデ<br />

ルでは、システムの 品 質 を 維 持 または 向 上 させながら、<br />

プロジェクトのライフサイクルの 遅 い 時 期 でも、 変 更 コス<br />

トを 抑 えることができるとされています 12 。Beckの 理 想<br />

的 な 「 横 ば い 」 の 変 更 コ ス ト 曲 線 は 、 Alistair<br />

Cockburn 13 およびScott Ambler 14 によって、 現 在 の<br />

企 業 の 現 実 を 反 映 するよう 修 正 され、 緩 やかになって<br />

います。それでもなお、 変 更 コストが 完 全 に 横 ばいで<br />

なくても、アジャイルの 理 想 を 適 用 して、ソフトウェアラ<br />

イフサイクルを 通 じた 変 更 コストを 削 減 することができ<br />

ます。<br />

この「よりフラット」な 変 更 コスト 曲 線 を 実 現 するため、<br />

「アジャイル」とみなされるプロセスでは、<br />

個 々の 反 復 で、 完 全 に 動 作 する 機 能 の<br />

開 発 または 機 能 の 追 加 が 行 われます。<br />

このようにして、 完 成 品 は 一 部 分 ごと、<br />

反 復 ごとに 開 発 されていきます。<br />

図 3: 変 更 コスト 曲 線<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

4


アジャイル 手 法 は、コスト 効 率 が 高 い 変 更 を 可 能 にする 多 数 のエンジニアリング 基 準 を 推 進 しています。 執 筆 および<br />

講 演 活 動 を 行 っているMart<strong>in</strong> Fowlerは、 短 時 間 での 開 発 や 最 低 限 の 事 前 設 計 などのアジャイルの 長 所 をもたらす<br />

「イネーブリング」の 実 践 としてテストおよび 継 続 的 反 復 を 記 述 しています 15 。「テスト 駆 動 型 開 発 」は 品 質 第 一 のアプ<br />

ローチです。このアプローチでは、 開 発 者 によるテスト(「 単 体 テスト」と 呼 ばれます)がその 機 能 のコードより 先 に 記 述 さ<br />

れます。 大 掛 かりな 事 前 の 設 計 分 析 のための 多 大 な 努 力 を 重 視 するのではなく、 差 し 迫 ったビジネスニーズに 応 じて<br />

機 能 のコードを 尐 し 追 加 します。 開 発 者 が、 発 覚 していないリグレッションエラーを 恐 れず 積 極 的 にコードを 変 更 でき<br />

るようにする 装 置 として 機 能 することが、 急 速 に 進 化 するコードの 周 辺 に 構 築 された 自 動 テスト 群 の 役 割 です。<br />

テストおよびリファクタリングの 機 構 を 備 えたオブジェクト 技 術 とモダンな 統 合 開 発 環 境 (IDE)は、Boehmの 変 更 コスト<br />

曲 線 を 無 効 にし、プロジェクトのライフサイクル 後 期 においてでも、コストを 抑 えた 変 更 を 可 能 にします。<br />

アジャイル 手 法 : 付 加 的 かつ 経 験 的 プロセス<br />

アジャイル 手 法 は、「 追 加 開 発 」が 特 徴 であり、そのために 他 の 反 復 型 手 法 (RUPなど)と 区 別 されます。* 追 加 開 発 と<br />

は、 製 品 開 発 ライフサイクルを 通 じて、 製 品 が 機 能 ごとに 構 築 されていく 開 発 です。「アジャイル」とみなされるプロセス<br />

では、 個 々の 反 復 で、 完 全 に 動 作 する 機 能 の 開 発 または 機 能 の 追 加 が 行 われます。このようにして、 完 成 品 は 一 部<br />

分 ごと、 反 復 ごとに 開 発 されていきます。したがって、アジャイル 手 法 は 反 復 的 で 付 加 的 なプロセスです。<br />

アジャイルプロジェクトの 管 理 方 法 として 知 られているスクラム<br />

は、 複 雑 で 変 化 するソフトウェアプロジェクトの 管 理 に、 経 験<br />

的 なプロセスコントロールの 概 念 を 取 り 入 れました。スクラムで<br />

は、 単 純 な 定 義 済 みのプロセスを 使 用 するだけでは、 複 雑 で<br />

動 的 なソフトウェアプロジェクトを 効 率 的 に 管 理 できないと 考 え<br />

ます。リスク 要 因 と 新 たな 要 求 が、 定 義 済 みプロセスが 不 十<br />

分 なソフトウェア 開 発 をある 程 度 複 雑 にします。これまでに 試<br />

みはありましたが、ソフトウェアプロジェクトの 途 中 で 起 こり 得 る<br />

全 ての 状 況 に 対 処 する 定 義 済 みプロセスを 含 む 包 括 的 な 単<br />

体 ライブラリは 存 在 しません。 実 際 のところ、 製 造 業 界 は、 例<br />

えば 特 定 の 化 学 工 程 の 記 述 および 定 義 が 非 常 に 難 しくて 不<br />

可 能 であることを 以 前 から 知 っています。 代 わりに、 経 験 的 あるいは 適 応 的 管 理 手 法 を 導 入 し、 必 要 な 成 果 を 達 成<br />

するために 化 学 工 程 を 定 期 的 に 計 測 し、 調 整 しています 16 。 各 反 復 から 具 体 的 な 追 加 機 能 が 開 発 されるので、スク<br />

ラムプロセスでは、プロジェクト 計 画 は、 開 発 の 経 験 的 現 実 性 に 基 づき、 継 続 的 に 検 証 され、 適 応 します。<br />

リーンの 考 え 方<br />

アジャイルが 組 織 にとってどのようなメリットがあるかを 分 析 する 別 の 有 効 な 方 法 は、リーン 生 産 方 式 をソフトウェア 開<br />

発 に 適 用 することです。 全 業 界 の 分 析 はほんのわずかですが、アジャイルメソッドの 概 念 は、1980 年 代 の 日 本 の 生 産<br />

性 ブームに 基 づいています 17 。<br />

アジャイル 手 法 で 一 般 的 な、ソフト<br />

ウェアのひんぱんなデモンストレーションと<br />

リリースにより、 顧 客 は 定 期 的 に「ソフト<br />

ウェアを 試 用 」し、フィードバックを 行 う<br />

機 会 に 恵 まれます。 要 するにアジャイル<br />

は、 企 業 が「 適 正 な 製 品 」を 開 発 する<br />

のに 役 立 ちます。<br />

例 えば、「 尐 量 バッチ 生 産 」の 原 則 を 考 えてみましょう。 第 一 に、 尐 量 バッチ 生 産 で 製 造 されたものは、フィードバックル<br />

ープが 短 いので、 品 質 と 効 率 に 優 れています。コントロールはよりひんぱんに 調 整 され、リソースは「 待 ち 行 列 」を 避 け<br />

るよう 効 率 的 に 使 用 されます(「 待 ち 行 列 理 論 」と 制 約 条 件 の 理 論 を 参 照 してください)。 第 二 に、アジャイル 手 法 では、<br />

責 任 を 負 えるぎりぎりの 瞬 間 まで、 取 消 しできない 決 定 を 先 延 ばしにすることが 奨 励 されます。アジャイル 手 法 による<br />

ソフトウェア 開 発 を 導 入 している 多 くのソフトウェア 開 発 組 織 は、この 方 法 が 予 想 もしなかった 別 の 選 択 肢 を 提 示 して<br />

くれることに 気 付 きます。プロジェクト 開 始 時 の 決 定 にしばられず、 組 織 は、 選 択 肢 を 残 して、より 正 確 な 情 報 を 利 用<br />

できるようになった 時 に 決 定 するようにすることで、リスクを 軽 減 できます。 第 三 に、 頻 繁 なあるいは 継 続 的 な 統 合 の 考<br />

え 方 により、ソフトウェア 開 発 チームは 同 期 をとって 作 業 できます。チームは 尐 しの 間 単 独 で 作 業 できますが、コードベ<br />

ースが 長 期 に 渡 って 分 岐 しないので、プロジェクト 後 半 の 大 規 模 な 統 合 に 関 するリスクが 軽 減 されます 18 。<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

5


アジャイル 要 件 : 企 業 ROI の 重 視<br />

上 記 の 理 由 から、アジャイルプロジェクトでは 事 前 の 要 求 収 集 を 行 いません。 顧 客 は、プロジェクトの 開 始 時 に 考 え 付<br />

く 実 装 に 必 要 な 全 ての 要 求 を、 効 率 的 に 詳 しく 定 義 することができません。 顧 客 は、 多 くの 場 合 、 十 分 な 情 報 に 基 づ<br />

いた 決 定 を 行 うための 情 報 を 入 手 するまで、システムに 関 する 決 定 を 延 期 することを 希 望 します。アジャイルは、 透 明<br />

性 、 開 かれたコミュニケーション、 顧 客 への 直 接 的 関 与 を 重 視 します。アジャイル 手 法 で 一 般 的 な、ソフトウェアのひん<br />

ぱんなデモンストレーションとリリースにより、 顧 客 は 定 期 的 に「ソフトウェアを 試 用 」し、フィードバックを 行 う 機 会 に 恵 ま<br />

れます。 要 するにアジャイルは、 企 業 が「 適 正 な 製 品 」を 開 発 するのに 役 立 ちます。 反 復 的 手 法 では、 顧 客 による 決<br />

定 も 延 期 が 可 能 です。 決 定 は、その 選 択 肢 を 最 適 化 するためにより 優 れた 情 報 または 技 術 を 利 用 できる 将 来 の 反<br />

復 に 延 期 できます。 例 えば、 現 時 点 で 必 要 な 機 能 が 利 用 できないという 理 由 で、あるアプリケーションのデータベース<br />

パッケージの 選 択 を 延 期 したとします。このため、データベースに 依 存 しない 方 法 でシステムを 構 築 していたところ、 問<br />

題 を 解 決 したデータベースベンダーから 新 しいバージョンがリリースされました。<br />

アジャイルの 最 も 優 れた 長 所 のひとつは、すべての 要 求 を 把 握 する 前 に 作 業 を 開<br />

始 できる 点 です。 多 くの 組 織 は、 多 数 の 要 求 仕 様 を 送 り 出 す 十 分 な 人 数 のビジネ<br />

ス 分 析 者 を 配 置 できません。 反 対 に、 私 たちの 経 験 では、 開 発 プロセスのボトルネ<br />

ックは、 詳 しい 要 求 分 析 を 行 う 顧 客 の 分 野 の 専 門 家 を 確 保 できない 結 果 であるこ<br />

とが 尐 なくありません。これは 特 に、 特 定 分 野 の 専 門 家 がさまざまな 仕 事 を 担 当 し<br />

ているため、2~3カ 月 のまとまった 要 求 分 析 に 専 念 できない 小 規 模 な 企 業 に 該 当<br />

します。したがってアジャイル 手 法 は、 顧 客 が 簡 単 に 把 握 できる 細 分 化 された 要 求<br />

への 対 応 に 理 想 的 です。<br />

優 先 度 の 高 い 機 能 だ<br />

けでも 本 番 稼 動 すれ<br />

ば、 全 く 稼 動 しないよ<br />

りはましです。<br />

アジャイルプロジェクトでは、どのようにして 作 業 の 優 先 順 位 を 決 めるのでしょうか。Standish Groupの 調 査 によれば、<br />

典 型 的 なソフトウェアシステムでは、 機 能 の45%は 実 際 には 全 く 使 用 されず、それ 以 外 の19%の 機 能 はほとんど 使 用 さ<br />

れません 19 。これは 主 に、 価 格 に 対 する 費 用 の 比 率 を 検 討 したり 把 握 可 能 になる 前 に、 事 前 設 計 で 使 用 されない<br />

機 能 が 指 定 されたためです。したがって、 最 初 に 事 業 価 値 の 高 い 機 能 に 焦 点 を 合 わせることが、 効 率 的 なアジャイル<br />

開 発 に 欠 かせない 要 素 になります。 開 発 の 方 向 を( 反 復 ごとに)すばやく 変 更 できるうえ、 変 更 にかかる 費 用 は 低 額 な<br />

ので、 顧 客 は、 各 反 復 の 開 始 時 にビジネス 要 因 を 見 直 し、 事 業 のROIに 応 じて 現 在 の 反 復 で 開 発 対 象 に 含 める 機<br />

能 を 選 択 する 貴 重 な 機 会 を 得 ることができます。 当 然 のことながら、 開 発 チームは 顧 客 に 技 術 的 なリスクを 提 示 する<br />

必 要 がありますが、 結 局 のところ、 開 発 チームが 何 を 構 築 するかを 決 定 するのは 顧 客 です。<br />

アジャイルによる 意 思 統 一<br />

アジャイルを 調 査 している 方 から 最 も 多 くいただく 質 問 は、「 事 前 設 計 がない 場 合 、ソフトウェアの 完 成 をどのようにして<br />

知 るのですか。」というものです。この 質 問 の 後 には、 当 然 、「そのようなプロジェクトの 予 算 はどのようにして 立 てればい<br />

いのでしょうか。」という 質 問 が 続 きます。 痛 い 所 をついた 質 問 です。あらゆることを 事 前 に 設 計 せずにソフトウェアをデモ<br />

ンストレーションできる、 短 い 反 復 サイクルで 作 業 を 開 始 しましょう。ただし、 私 たちは、あらゆることを 事 前 に 設 計 でき<br />

ないことを 既 に 知 っています。<br />

アジャイルの 答 えは、プロジェクトがきちんと 進 んでいるかどうかを 演 繹 的 に 推 測 するのではなく、 経 験 に 基 づいてプロジ<br />

ェクトの 進 捗 を 確 認 することです。スクラムやXPなどのアジャイル 手 法 では、 速 度 という 概 念 が 使 用 されます。これは、<br />

ある 時 間 で 区 切 られた 反 復 でチームが 完 了 可 能 な、およその 作 業 量 です。チームがある 速 度 を 定 めたら、プロジェク<br />

トバーンダウンチャートを 使 用 して、およそのバックログの 最 終 結 果 を 見 積 もります。 図 4のチャートの 各 ポイントは 反 復<br />

(またはスクラムのスプリント)、Y 軸 はバックログで 残 っているおよその 全 作 業 を 表 します。 反 復 の 進 行 中 、 傾 向 線 は、<br />

速 度 (チームが 反 復 ごとに 完 了 できる 作 業 )を 形 成 するポイントを 通 って 定 まります。さらに 傾 向 線 に 外 挿 してX 切 片<br />

を 決 定 することができます。X 切 片 は、 経 験 に 基 づいて 見 積 もった 完 了 日 を 表 します。<br />

図 4は、 典 型 的 なプロジェクトのプロジェクトバーンダウンチャートです。 最 初 の9 回 の 反 復 を 通 して、プロジェクトの「バー<br />

ンダウン」 傾 向 線 は、その 後 のX 切 片 を 示 していました( 図 のチャートにはありません)。10 回 の 反 復 までに、プロジェクト<br />

が20 回 目 の 反 復 までに 完 了 するよう 製 品 範 囲 が 調 整 されました。 速 度 ( 傾 き)が 改 善 されたことにも 注 意 してください。<br />

このケースでは、おそらく、 効 率 的 な 進 行 を 妨 げる 重 要 な 障 害 を 取 り 除 くことで、 範 囲 が 縮 小 されたのでしょう。<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

6


図 4: 速 度 に 関 する 製 品 バーンダウンチャート<br />

プロジェクトの 意 思 統 一 のような 複 雑 な 問 題 について、アジャイル 手 法 では、ソフトウェア 開 発 の4つの 変 数 (コスト、ス<br />

ケジュール、 範 囲 、 品 質 )のすべてを 顧 客 が 指 定 することはできないと 言 われています。 上 記 の 問 題 に 答 えるには、 期<br />

限 とコストの 変 数 が 固 定 している 場 合 、 作 業 範 囲 を 変 更 可 能 にするか、 各 機 能 の 堅 牢 性 を 調 整 できるように 高 いレ<br />

ベルで 範 囲 を 定 義 する 必 要 があります 20 。つまり、 作 業 は 最 初 に 最 も 優 先 順 位 の 高 い 要 求 に 基 づいて 行 われ、 期 日<br />

までにまたは 資 金 がなくなる 前 に 最 も 重 要 な 作 業 を 確 実 に 完 了 します。 特 に、 前 述 のStandishによる、ほぼ65%の 機<br />

能 が 実 際 には 全 くまたはほとんど 使 用 されていないという 報 告 を 考 慮 した 場 合 、 優 先 度 の 高 い 機 能 だけでも 本 番 稼<br />

動 すれば、 全 く 稼 動 しないよりはましです。また、 品 質 については 妥 協 は 許 されません。コーディングおよびテストの 厳 し<br />

い 基 準 を 順 守 し、 高 い 品 質 の 機 能 を 構 築 しなければなりません。すべての 機 能 を 構 築 する 保 証 はありませんが、 最<br />

優 先 の 機 能 を 高 い 品 質 で 本 稼 動 させることは 確 実 です。<br />

結 論<br />

しかしながら、アジャイルは 機 能 するのでしょうか。もちろん、プリ<br />

ンの 味 は 食 べてみないと 分 からないように、 品 質 は 試 してみな<br />

ければわかりません。Standish Group CHAOSによる2004 年<br />

の 調 査 では、ソフトウェアプロジェクトの 失 敗 率 の 劇 的 な 改 善 が<br />

報 告 されています。Standishの 調 査 では、1994 年 には31%の<br />

失 敗 率 が 報 告 されていますが、2004 年 には15%に 改 善 された<br />

ことが 報 告 されています 21 。Standish Groupの 会 長 であるJim<br />

Johnsonは、この 劇 的 改 善 は、より 小 規 模 なプロジェクトでウォーターフォール 手 法 とは 対 照 的 な 反 復 手 法 を 使 用 し<br />

た 結 果 であると 考 えています 22 。<br />

ウォーターフォール 手 法 はたびたび<br />

「 従 来 型 」と 呼 ばれますが、ソフトウェア<br />

エンジニアリングの 歴 史 は、 他 のエンジ<br />

ニアリング 分 野 に 比 較 すると、 非 常 に<br />

短 いものです。<br />

アジャイルは、 確 立 されて 久 しいウォーターフォールソフトウェア 開 発 の 実 験 実 証 済 みの 歴 史 から 極 端 に 逸 脱 した 手 法<br />

であるという 考 えは、 間 違 っています。ウォーターフォール 手 法 はたびたび「 従 来 型 」と 呼 ばれますが、ソフトウェアエンジ<br />

ニアリングの 歴 史 は、 他 のエンジニアリング 分 野 に 比 較 すると、 非 常 に 短 いものです。ソフトウェア 開 発 は、 橋 の 建 設 と<br />

は 異 なり、 数 千 年 の 試 行 錯 誤 に 基 づいて 構 築 されるものではありません。ですから、エンジニアリングの 原 理 として 急<br />

速 に 発 展 しつつある 黎 明 期 にあるのです。アジャイルは、ウォーターフォール 手 法 に 広 く 取 って 代 わる 最 新 理 論 にすぎ<br />

ず、これからずっと 将 来 も 変 化 し、 発 展 していきます 23 。<br />

推 奨 文 献<br />

入 門 的 な 記 事 を 読 んだ 後 、そのテーマについて 知 識 を 深 めるのに 適 した 書 籍 や 記 事 を 著 者 に 尋 ねたいと 感 じることが<br />

あります。アジャイルソフトウェア 開 発 についてさらに 学 びたい 方 の 出 発 点 として、 以 下 の 文 献 をお 奨 めします。<br />

Craig Larman、Agile & Iterative Development:A Manager’s Guide、Addison-Wesley、2003 年 。この 本 は、ア<br />

ジャイルに 関 心 をお 持 ちのマネージャにお 奨 めします。 現 在 出 回 っている 書 籍 の 中 で、アジャイル/ 反 復 手 法 に 関 して<br />

最 も 総 合 的 で 経 験 的 な 証 拠 を 読 むことができます。また、スクラム、XP、 統 一 プロセスなどの 主 要 なアジャイル/ 反 復<br />

手 法 のいくつかを 丁 寧 にまとめ、 比 較 しています。<br />

Mary Poppendieck、Tom Poppendieck、Lean <strong>Software</strong> Development:An Agile Toolkit、Addison-Wesley、<br />

2003 年 。この 本 は 非 常 に 優 れています。 各 ページに 貴 重 な 情 報 が 記 載 されています。アジャイルに 関 して、これまで<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

7


に 目 にした 逐 次 型 手 法 の 開 発 で 最 も 説 得 力 のある 事 例 が 掲 載 されています。 内 容 の 多 くは、Poppendiecksの 研 究<br />

に 基 づいています。また、アジャイルを 導 入 するための 優 れたツールも 紹 介 しています。<br />

Ken Schwaber、Mike Beedle、Agile <strong>Software</strong> Development with Scrum、Prentice Hall、2001 年 。これは、 非<br />

常 に 効 果 の 高 いアジャイルプロジェクト 管 理 手 法 である「スクラム」に 関 する 書 籍 です。 理 論 とレトリックはすばらしいで<br />

すが、アジャイルをどのように 実 践 するのでしょうか。スクラムは、 管 理 側 から 開 始 するのに 非 常 に 適 した 方 法 です。<br />

Kent Beck、Extreme Programm<strong>in</strong>g Expla<strong>in</strong>ed:Embrace Change、Addison-Wesley、2000 年 。それではアジャイ<br />

ルで、 開 発 者 はどのように 違 った 開 発 を 行 うのでしょうか。エクストリームプログラミング(XP)では、ペアプログラミングやテ<br />

スト 駆 動 型 開 発 のようなエンジニアリング 原 理 を 推 奨 しています。Beckの 書 籍 は 事 実 上 XPの 信 頼 できる 情 報 源 です。<br />

著 者 について<br />

Victor Szalvayは、CollabNet 社 スクラム 事 業 部 門 の 最 高 技 術 責 任 者 です。アジャイルソフトウェア 開 発<br />

手 法 、 特 にスクラム 手 法 の 経 験 が 豊 富 な 認 定 スクラムトレーナー(CST)で、 官 民 両 部 門 のソフトウェア 開<br />

発 チームにアジャイルフレームワークを 導 入 した 経 験 があります。<br />

COLLABNET について<br />

クラウド 環 境 におけるアジャイルアプリケーションライフサイクル 管 理 (アジャイルALM)で、 業 界 をリードしています。<br />

CollabNet TeamForge ALM platform 、CollabNet Subversion ソフトウェア 構 成 管 理 (SCM)ソリューション、<br />

ScrumWorksプロジェクト 管 理 ソフトを 活 用 すれば、 開 発 チームは 環 境 、 方 法 、 技 術 を 自 由 に 選 択 し、 生 産 性 を 最<br />

大 50% 引 き 上 げてソフトウェア 開 発 コストを 最 大 80% 削 減 することができます。Applied Biosystems、Capgem<strong>in</strong>i、ドイ<br />

ツ 銀 行 、Oracle、Reuters、 米 国 国 防 省 など、2,500を 超 える 組 織 で 数 百 万 人 のユーザーがソフトウェア 開 発 方 法 を<br />

転 換 し、CollabNet 製 品 を 採 用 しています。 詳 細 については、www.collab.netをご 覧 ください。<br />

参 考 文 献<br />

1. W<strong>in</strong>ston Royce、Manag<strong>in</strong>g <strong>the</strong> Development of Large <strong>Software</strong> Systems、Proc. Westcon、IEEE CS Press、1970 年 、<br />

328-339ページ<br />

2. Standish Group International, Inc.、『Chaos Chronicles』、1994 年 、http://www1.standishgroup.<strong>com</strong>//sample_research/chaos_1994_1.php<br />

3. Kent Beck、Extreme Programm<strong>in</strong>g Expla<strong>in</strong>ed: Embrace Change、Addison-Wesley、2000 年 、18-19ページ<br />

4. Ken Schwaber、Mike Beedle、Agile <strong>Software</strong> Development with Scrum、Prentice Hall、2001 年 、89-94ページ<br />

5. Standish Group International, Inc.、『Chaos Chronicles』、1994 年 、http://www1.standishgroup.<strong>com</strong>//sample_research/chaos_1994_1.php<br />

6. 野 中 郁 次 郎 ・ 竹 内 弘 高 、『The New New Product Development Game』、Harvard Bus<strong>in</strong>ess Review、1986 年 1 月 、137-<br />

146ページ<br />

7. Mary Poppendieck、Tom Poppendieck、Lean <strong>Software</strong> Development:An Agile Toolkit、Addison-Wesley、2003 年<br />

8. Craig Larman、Victor R. Basili、『Iterative and Incremental Development: A Brief History』、Computer、IEEE CS Press、<br />

2004 年 6 月 、48ページ<br />

9. 野 中 郁 次 郎 ・ 竹 内 弘 高 、『The New New Product Development Game』、Harvard Bus<strong>in</strong>ess Review、1986 年 1 月 、137-<br />

146ページ<br />

10. Agile Manifesto:http://www.agilemanifesto.org/<br />

11. Barry Boehm、<strong>Software</strong> Eng<strong>in</strong>eer<strong>in</strong>g Economics、Prentice Hall PTR、1981 年<br />

12. Kent Beck、Extreme Programm<strong>in</strong>g Expla<strong>in</strong>ed:Embrace Change、Addison-Wesley、2000 年<br />

13. 『Reexam<strong>in</strong><strong>in</strong>g <strong>the</strong> Cost of Change Curve, year 2000』、Alistair Cockburn、XP Magaz<strong>in</strong>e、2000 年 9 月<br />

14. 『Exam<strong>in</strong><strong>in</strong>g <strong>the</strong> Cost of Change Curve』、Scott Ambler、The Object Primer, 3rd ed.:Agile Model-Driven Development<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

8


with UML2に 収 録 されたアジャイルモデリングに 関 する 論 文 、Scott Ambler、Cambridge University Press、2004 年<br />

15. Mart<strong>in</strong> Fowler、『Is Design Dead』、http://mart<strong>in</strong>fowler.<strong>com</strong>/articles/designDead.html、2004 年<br />

16. Ken Schwaber、Mike Beedle、Agile <strong>Software</strong> Development with Scrum、Prentice Hall、2001 年 、100-101ページ<br />

17. スクラムアジャイル 手 法 は、 上 記 の 野 中 - 竹 内 の 論 文 から 派 生 したものです。<br />

18. Mary Poppendieck、Tom Poppendieck、Lean <strong>Software</strong> Development: An Agile Toolkit、Addison-Wesley、2003 年 、28<br />

ページ<br />

19. Jim Johnson、『ROI, It’s Your Job!』、Published Keynote Third International Conference on Extreme Programm<strong>in</strong>g、<br />

2002 年<br />

20. Mary Poppendieck、Tom Poppendieck、Lean <strong>Software</strong> Development: An Agile Toolkit、Addison-Wesley、2003 年 、32<br />

ページ<br />

21. Standish Group International, Inc.、『Chaos Chronicles』、2004 年<br />

22. 『Standish: Project Success Rates Improved Over 10 Years 』、<strong>Software</strong> Magaz<strong>in</strong>e and Weisner Publish<strong>in</strong>g 、<br />

http://www.softwaremag.<strong>com</strong>/L.cfm?Doc=newsletter/2004-01-15/Standish<br />

23. ソフトウェア 設 計 者 のMichael Jamesは、 安 価 なクラスター 型 のスーパーコンピューティングの 進 歩 によって「テストのみ」の 開 発<br />

がまもなく 実 現 可 能 になるという 半 ば 真 剣 な 見 解 を 持 っています。 開 発 者 は 堅 牢 なテストを 記 述 するのみで、スーパーコンピュ<br />

ーティングが、すべてのテストをパスするまでコードを 記 述 し、コンパイルします。<br />

アジャイルソフトウェア 開 発 概 論 : Copyright ©2004-2010 CollabNet, Inc.<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!