アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » アジャイル開発者の習慣-acts_as_agile » 第5回 設計を進化させる

アジャイル開発者の習慣-acts_as_agile

第5回 設計を進化させる

いまやもっとも美しい生き物はカメだろう。

――映画『エル・マリアッチ』

はじめに

本連載ではアジャイル開発を「アジャイルに開発する人たち(アジャイル開発者)が開発するからアジャイル開発」と考え,アジャイル開発者に必要なスキルを磨くための習慣を紹介しています。

今回は「変化」に対するアジャイル開発者の向き合い方を,「設計を進化させる」という習慣を通じて紹介します。これは「進化的設計」というキーワードで知られています。

連載の第1回で説明したように,アジャイル開発の目的は「ソフトウェアの価値の総量を最大化させる」ことです。変化に適応することは,このアジャイル開発の目的を達成するにあたって欠かせないものです。過去の連載で紹介してきた習慣のいずれもが「変化に適応する」ことと関係しています。

今回はまず,アジャイル開発者にとっての変化について簡単に説明します。それから,変化に適応することのソフトウェア設計への応用として「進化的設計」の考え方を紹介します。そして,この進化的設計を実践するために身につけるべき習慣を紹介します。

「変化ヲ抱擁セヨ」

変化はアジャイル開発者にとってとても強い関心事です。本連載の第2回でも,アジャイル開発とは「状況の変化に迅速に適応しながら開発を持続させていくこと」だと述べました。

アジャイル開発と変化

そもそものアジャイル開発のムーブメントの始まりである『XP エクストリーム・プログラミング入門』(注1)の原著の表紙には「Embrace Change(変化ヲ抱擁セヨ)」と謳われています(図1)。

図1 『XP エクストリーム・プログラミング入門』
の原著の表紙

図1 『XP エクストリーム・プログラミング入門』の原著の表紙

これは「変化を嫌うのではなく変化が起こることを自然なこととして受け入れよう,というXPの基本姿勢」(注2)を表しています。

昨年末に刊行された『アジャイルプラクティス』(注3)にも「『アジャイルである』とはつまり変化に対応することだ」とあります。

Mike Cohnは『Agile Estimating and Planning』(注4)という,見積りと計画をアジャイルにすることを扱った書籍で次のように述べています。

計画に対するアジャイルな態度とは「変更されてもかまわない」ではない。むしろ「積極的に変更したい」と思うのがアジャイルな計画である。

――Mike Cohn

かなり大胆ですね。

このように,アジャイル開発がことさらに「変化」にこだわるのはある意味当然ともいえます。というのは,アジャイル開発はその出自が従来型の開発――事前に策定した包括的で綿密な計画を絶対視する開発(=変化しないことを前提とする開発)に対するカウンターだからです。

変化の存在を認め,正面から向き合うというのがアジャイル開発者の基本的な態度です。

注1)
日本語訳第2版『XP エクストリーム・プログラミング入門 第2版 ― 変化を受け入れる』(Kent Beck(著),長瀬 嘉秀(監訳),株式会社テクノロジックアート(訳),ピアソン・エデュケーション)
注2)
平鍋 健児さんの記事「eXtreme Programmingの魅力を探る」より。
注3)
『アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣』(Venkat Subramaniam/Andy Hunt(著),角谷 信太郎/木下史彦(監訳),オーム社)
注4)
『Agile Estimating and Planning』(Mike Cohn(著),Prentice Hall)

さまざまな変化

みなさんの中には(この連載も含めて)記事や書籍で語られる「変化」を,お客様から電話やメールで,あるいはマネージャから伝えられる「仕様変更」のことだととらえている方がいるかもしれません。

ソフトウェア開発の文脈でよく言及されるのは,上述したようなソフトウェアに対する要求の変化でしょう。確かに,仕様変更や要求の変化はプロジェクトへの影響も大きいですから,関心が高いのも当然です。

ですが,アジャイル開発で扱う変化は,こうした変化だけではありません。

ソフトウェア要求の変化

上で述べた「仕様変更」も,その背景にはさまざまな変化があります。たとえば法改正やビジネス環境の変化,お客様の組織改編,ベンダーの戦略転換などです。

アジャイル開発では,こうした変化に適応できることはもちろんですが,プロジェクトを進めていくなかでシステムに対して学んだことによる変化も取り入れていこうとします。

仕様の確認を進めていくなかで「そういうことだったんですね。じゃあ,ここはやっぱりこうしたいですね」といった意見が出てくる場面に遭遇したことはありませんか?

そのときに「それは変更できません」と答えるのではなく,実現させるための現実的な解決策を提示できるように努めるのがアジャイル開発者です。

組織やチームの変化

自分の所属する組織やチーム内でも変化は起こります。プロジェクトメンバーの増減や入れ替わりや,技術的な環境の動向,開発の進め方の改善も変化です。第1回で紹介した「ふりかえり」はこのレベルでの変化を促すためのプラクティスでもあります。

個人の変化

そして,個人のレベルでも変化は起きています。みなさんも経験があると思いますし,今現在も体験していると思います。

プロジェクトに対する理解は,チームで過ごしていく時間が経つにつれて,プロジェクトに参加した当初よりも深まっているはずです。プロジェクトで実現しようとしていること,採用している要素技術,一緒に働いているメンバーの振る舞い……(もちろん,程度の差はあります)。日々の作業の中での個人的な「気づき」も立派な変化の一つです。

著者プロフィール

角谷信太郎(かくたにしんたろう)

(株)永和システムマネジメント,サービスプロバイディング事業部所属プログラマ。「『楽しさ』がシステム開発の生産性を左右する」と信じてRubyによるアジャイル開発を現場で実践するテスト駆動開発者。目標は達人プログラマ。好きな言語はRuby。好きなメソッドはextend。著書に『アジャイルな見積りと計画づくり』(共同翻訳),『JavaからRubyへ』(翻訳),『アジャイルプラクティス』(共同監訳),『インターフェイス指向設計』(監訳)。

URLhttp://kakutani.com/

著書

  • アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

    アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~(毎日コミュニケーションズ)

  • JavaからRubyへ — マネージャのための実践移行ガイド

    JavaからRubyへ — マネージャのための実践移行ガイド(オライリー・ジャパン)

  • アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

    アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣(オーム社)

  • インターフェイス指向設計

    インターフェイス指向設計(オライリー・ジャパン)

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス