プロトタイピングの成功は実装技術に左右されるRubyでアジャイルプロトタイピング(6)(1/2 ページ)

本記事はRuby on Rails(以下RoR)を使ってプロトタイプを作成し、アジャイルかつ正確にクライアントからの機能要件を取りまとめることを提案する連載「Rubyでアジャイルプロトタイピング」の最終回です。最終回は、これまでの連載内容のうち最も重要な要点を復習するとともに、プロトタイピングとRoRのこれからを考えます。

» 2006年05月17日 12時00分 公開
[鍜治舍浩(永和システムマネジメント), 西川仁(永和システムマネジメント), 林秀一(アークピア),@IT]

アジャイルプロトタイピング4つのポイント

 ここまで計5回の連載で、アジャイルプロトタイピングとは何か、それがなぜ有益なのかについて説明してきました。ここでは、その総まとめとして、アジャイルプロトタイピングを理解し、成功させる骨組みとなる4つのポイントを復習します。

● 開発言語・環境のパワーを理解する

 アジャイルプロトタイピングは、主に上流工程にフォーカスしていますが、その成功は具体的な実装技術の選択に大きく左右されます。特にアーキテクトを目指す場合は、システム全体やユーザー要件への視点を持つ一方で、最新の実装技術を理解することが重要なのはいうまでもありません。アジャイルプロトタイピング第1のポイントは、「上流工程では開発言語・環境なんて関係ない」「開発言語・環境なんてどれも大差ない」という考えに陥らず、開発言語・環境の能力差を理解し、生産性、変更容易性の高いパワフルな言語を見分け、選択できる目を持つことです。Rubyについては連載第2回「Ruby超入門」、RoRについては第3回「アジャイルプロトタイピングとRuby on Rails」、第4回「プロトタイピングに効くRoRのDB移行・変換機能」で そのポテンシャルを説明しました。特にアジャイルプロトタイピングに寄与する強みをもう一度、確認しておきます。

Ruby

  • やりたいことを直感的に表現できる簡潔な文法
  • 動的型付け言語
  • コンパイル不要

RoR

  • DRY原則の踏襲により、同じコードを繰り返し書く必要がない
  • 考え抜かれたデフォルト設定(Convention over Configuration)により、開発者がいちいちXMLなどで設定を記述する必要がない
  • ソースコードひな形の自動生成が可能
  • MigrationによるDBスキーマ変更の試行錯誤が容易

● 開発者のクリエイティビティにフォーカスする

 開発言語、環境のパワーを理解すれば、開発者のクリエイティビティを大幅に向上できる可能性が見えてきます。これは単に作業量が削減されるというような小さな効果ではなく、以下のようなメリットを生み出します。

  • ちょっとした機能追加・変更に対して、「面倒だ」という心理障壁がなくなることにより、着手の遅れや、試行を回避してしまうことによる品質向上機会の損失が防止できる
  • 生産性の高い作業は本質的に楽しく、楽しいという感情が生産性を向上させるというスパイラルが生まれる
  • 黙って考え込むより、作業をしていた方がアイデアのわくことが多い
  • 短時間で作業が完了できることによって、待ちの間の思考停止時間、合間に別のタスクを行き来する際に発生する頭のコンテキストスイッチ時間を大幅に削減できる

 これらのことから導かれる第2のポイントは、アジャイルプロトタイピングによるクリエイティビティの向上が線形ではなく、指数関数的な生産性・品質の向上をもたらすことです。

 上流工程から下流工程まで、システムを作るという仕事が本質的に知識労働であることは疑いようがありませんが、このような知識労働者にとっての「クリエイティビティ」の本質をつかむことが肝要です。

● 最優先で動くものを作成する

 第3のポイントは、クリエイティビティを動作可能な成果物に集中することです。連載第1回「アジャイルプロトタイピングで上流工程が変わる」で、上流工程が原因であるいくつかの問題を提起しました。

  1. 要件がはっきりしていない
  2. 要件から設計へのギャップに悩んでいる
  3. 顧客のイメージと開発したシステムの動きが食い違っている
  4. 3の結果、開発後期に仕様がブレてしまい、その影響範囲が大きい
  5. 詳細設計書を書いたが、コーディングした結果、設計が変わってしまった

 動作可能な成果物によって、これらの問題の発生を大幅に抑制できることはいうまでもありません。

 もちろん、業務分析やシステムの概要設計にドキュメントは必要ですが、あくまで必要十分な量に絞り、動作可能な成果物にパワーを向けることが重要です。

● 動作可能な成果物で、フィードバックを最大化する

 最後のポイントは、顧客からのフィードバックを得るために、動作可能な成果物を最大限に活用することです。アジャイルプロトタイピングの最終目的は、整理された顧客の要望、データモデル、画面構成などから成る知見を得ることです。連載第4回で紹介したように、動作可能な成果物によって、量、質ともに申し分ない知見が得られるでしょう。

 以上4つのポイントをしっかりと押さえて、あなたのプロジェクトでアジャイルプロトタイピングを成功させてください。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ