オルタナティブ・ブログ > An Agile Way >

アジャイルに行こう!

Sustainable Software Development -- 持続可能なソフトウェア開発(アジャイルとジャグリング!?)

»

Sustainablesoftwaredevelopmentrevie かねてから、「持続可能な」ソフトウェア作りについて考えたいと思っていました。工業モデル、サービス業モデル、などで語られることの多いソフトウェア開発を、むしろ、農業や水産業、「育てる」モデルで捕らえたい。そうすれば、きっとチーム作りの面が強調されたアジャイル開発が浮かび上がるはず…。こんな話を、2000年以降、何度も天野さんや懸田さんとした記憶があります。KentBeckも、「ソフトウェア開発をガーデニングのメタファで捕らえたい」といっていました。

とてもいい本が出ていたので、紹介します。

Kevin Tate のSustainable Software Development: An Agile Perspective (Agile Software Development Series)です。

4つの原則(Principle)を出して、大きな2つのボールと合わせて「6つのジャグリングのボールをまわす」、という例えがうまい。ちなみに2つの大きなボールは、「機能追加」と「バグフィックス」。4つの原則とは、

  • 動くソフトウェア(Working Product)
  • 欠陥の予防(Defect Prevention)
  • 設計の重視(Design Emphasis)
  • たゆまぬ洗練(Continual Refinement)

です。ようは、持続可能なソフトウェア開発をするには、「機能追加」と「バグ修正」だけではだめで、上の4つの原則の視点を織り交ぜながら、バランスをとってジャグリングせよ、ということです。

それぞれの原則に、「実践」(Practice)が定義されています。例えば、「Working Product」原則の実践の中には、パフォーマンスを軽視しないことや、メモリーリーク、i18nなどへの「実装より」の視点もあります。(これは筆者の3Dグラフィックス、という開発経験のバックグラウンドを反映していると思われる)

そして、「Defect Prevention」原則には「軽量な原因追求」があります。これは、「なぜなぜ5回」と似ていて、根本に向かって原因を分析するものです(ただし、ライトウェイトにやれ、となっています)。

あと、おもしろかったのは、キーストーン種、ならぬ「キーストーン・プラクティス(実践)」を定義して、これがプラクティスの中でも重要な位置を占める、としていること。これは、持続可能性から、エコシステム、への連想で出てきたものでしょうが、メタファとしても秀逸だと思います。キーストーンプラクティスとしては、

  • 繰り返し開発
  • テスティング
  • ふりかえり
  • コーチングとチーム作り
  • 頻繁な設計会議
  • 容赦なきテスティング

が含まれていました。うれしいのは、

「ふりかえり」、「コーチングとチーム作り」が入っていること。持続可能、ということからはじめて、ここにたどり着くとは!

本書の内容は、「アジャイル開発」そのもので、特に新しいことはありません。しかし、「持続可能」、という目的から切った視点が新しいのです。

さらに、こういう開発に「変化」するための、ファクタとエネイブラをまとめて、締めくくっています。リーダーシップや経営陣のサポート、などが含まれていて、なるほどなるほどです。付録には、XPについての言及も。。。

序文を、「アジャイルプロジェクトマネジメント」の Jim Highsmith おじさんが書いています。

マインドマップは、クリックで拡大しますが、PDF版、PNG版もつけておきます。

画像ファイル
http://www.change-vision.com/files/kenji.hiranabe/SustainableSoftwareDevelopment-Review-Kenji-J.png

PDF
http://www.change-vision.com/files/kenji.hiranabe/SustainableSoftwareDevelopment-Review-Kenji-J.pdf

※今回は、先に英語のブログを書いたので、マインドマップは英語です。それに、付箋紙を貼るイメージで、日本語訳と解説をオーバーラップさせてみました。マインドマップとしては邪道かもしれませんが、字幕スーパーの1手法として新しくトライしてみました。(トライ重要!)

※追記(7/26): 達人プログラマー、他の邦訳で有名な村上雅章さんの記事、
「アーキテクトニクスからホーティカルチャーへ」と関連があることを、mixi でこさるさんより教えて頂きました。
http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/twentyfirstcentury1.html

Comment(1)