InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

主流としてのアジャイル

作者 Dan Mezick , 翻訳者 吉田 英人 投稿日 2010年4月6日

セクション
プロセス/プラクティス
トピック
Agileの採用 ,
Agile in the Enterprise ,
Scrum ,
Agile

原文(投稿日:2010/04/01)へのリンク

アジャイル開発が主流(メインストリーム)となる時代がいよいよやってきたようだ。大手コンサルティング会社が "アジリティ(Agility)" を喧伝し,IBM Global Business Services や Cap Gemini といった会社がアジャイル関連サービスの提供を始めた。Cognizant や ITC Infotech といったオフショア企業も,アジャイルのソフトウェアやサービスの分野で活発に行動している。

主流化の傾向

オンライン求人サイトをざっと見渡せば,業務説明の欄に 'アジャイル' ということばが増えているのに気付く。次の表は求人サイトの Dice.com と Monster.com を例に,およそ1年間の変化を示したものだ。

仕事リストに含まれる用語 Dice, 2009年7月 Dice, 2010年4月 増加率
Agile 2084 4088 96%
Scrum 755 1222 61%

 

仕事リストに含まれる用語 Monster, 2009年7月 Monster, 2010年4月 増加率
Agile 1756 3031 72%
Scrum 379 755 99%

このように突然注目を集め始めたことは,アジャイルにとってどのような意味を持つのだろうか? "メインストリーム" なアジャイルとはどのようなもので,そこには何があるのだろう? アジャイルで最も人気の高いフレームワークは Scrum であり,アジャイルの主流化について議論するには相応しいテーマだ。そこで,主流としての Scrum について考えてみよう。

ThoughtWorks の Martin Fowler 氏によると今,Flaccid Scrum (軟弱 Scrum) が大流行しているそうだ。次に示す3ステップがそのパターンだという。

  • アジャイルの導入を希望して,Scrum を選択する。
  • Scrum のプラクティスを採用する。さらには原則をも採用する。
  • しばらく継続するものの,コードが混乱して思わしい成果が得られない。

Fowler 氏によれば,

... プロジェクトをトラブルに陥れるのは,いつでも内部的な品質の低さです。トラブル例が Scrum を掲げたプロジェクトに数多く見られるという事実も,Scrum 自体に何らかの要因があるというより,実は Scrum の普及に理由があるのかも知れません。

話が面白くなってくるのはここからだ。Fowler 氏は続ける。

いつも指摘していることですが,成功と失敗を分けるのは方法論ではありません。チームこそが成否を決めるのです。プロセスを導入することの効果はあるかも知れません。しかし最終的に重要なのは,そして結果に対して責任を負うのはチームなのです。数多くのだめな Scrum プロジェクトが Scrum の評価だけでなく,より広範なアジャイルの評価をも損ねているのは確実です。

主流化の意味

これがアジャイルの "主流化" にどのような意味を持つのだろう? すなわち 'Scrum' の採用を自称する組織が行っている,実際には Scrum とは違うことを彼らが Scrum と呼んでいるように,Scrum という言葉が徐々に意味をなさなくなってきたのだ。Jeff Sutherland,ken Schwaber 両氏はそれを称して,Scrum-butt (クソScrum) と言っている

ある面では適確とも思えるこの定義について,しかし Fowler 氏はもう少し "穏当な" 呼び名を与えている。Semantic Diffusion (意味的拡散) というものだ。

Semantic Diffusion とは,個人やグループによって優れた定義を与えられた造語が,広くコミュニティに伝わる中で,その意味が不明確になっていくような場合に発生するものです。この過程ですべての定義が失われてしまうと,もはや用語としての意味をなさなくなります。

このような動向に対して Scrum の創案者である Ken Schwaber,Jedd Sutherland の両氏は,Scrum の明確かつ正式な定義書である Scrum Guide を作成した。無償でダウンロード可能なこのリソースは Scrum の詳細資料であり,その定義の強化と維持を目的とするものだ。Ken Schwaber 氏の説明では,

Scrum は 1990 年代から複雑な製品開発に使用されてきました。この資料は Scrum を用いた製品開発手法について説明したものです。

Ken Schwaber 氏の "Confusion about Scrum (Scrum に関する混乱)" に対して書かれた Dominique Stender 氏のブログポスト には,Scrum の定義についての優れた考察が示されている。Stender 氏はここで Martin Fowler 氏の Semantic Diffusion の見解を支持して,次のように書いている。

Scrum に対する唯一(!)の公式定義が必要である,という Ken の意見に同意します。[Ken の] 指摘どおり,Scrum はその適用において,かんばんや XP など他のアジャイルアプローチと混同されています。ですから,何が Scrum であって何がそうでないか,という唯一(!)の "マスターコピー" の存在が重要になってきます。ベンチマークが必要なのです。

主流としてのアジャイル: プロダクトとプロダクトオーナの立場から

アジャイルが "メインストリーム" になるということは,Scrum がこれまでになく2極化する,ということを意味するのかも知れない。アジャイルが広範に普及していく一方で,Ken Schwaber と Jeff Sutherland の両氏は Scrum の定義を事実上固定化しようとしている。一体何が起きているのだろう?

次のような問題がある:現在の Scrum Guide では,プロダクトオーナは "常にひとりの人であって,委員会(複数人のグループ)である場合が考慮されていない"。Scrum の実行に関するこの問題については,ブログ上で強気の発言をする者もいる。例えば InformIT の Roman Puchler 氏は,プロダクトオーナの問題に関する記事 で次のように書いている。

プロダクトオーナ委員会とは,プロダクト全体に責任を持つ者のいないプロダクトオーナのグループです。グループをリードしたり,共通のゴールを設定したり,意思決定を促したりする者が誰もいないのです。プロダクトオーナ委員会は,利害と権力の衝突によって終わりのない会議に陥る危険性をはらんでいます - それは "コミッティ死" とでも呼べるものです。現実的な進展は何も得られず,全員が共同作業を止めて争い始めるのです。

プロダクトにはひとりの責任者が必要です。それは統括プロダクトオーナ,あるいはチーフプロダクトオーナとでも呼べる人物で,他のプロダクトオーナ達をリードし,意思決定を促進し,プロダクトバックログの優先度設定とリリース計画を行います。

"アジャイルの主流化" には,きわめて明確な用語定義が必要なようだ。'Scrum' という名称については,その創案者の著した Scrum Guide によって明確に定義されている。アジャイルの本格的な普及が始まり,その意味が拡散されていく (Semantic Diffusion) 中で,"アジャイル" ということば本来の意味がその重要度を増しつつある。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。