🧔‍♀️

「アジャイルでやっています」の「アジャイル」とはなんなのかを探る

2025/02/23に公開

アジャイル

ITが関わる企業で働いていると、「アジャイル」という言葉をよく耳にします。
たとえば求人票などに歓迎要件:アジャイル開発の経験という文言が書いてあることは多くの企業で見られるのではないでしょうか。
あるいは、どこかの営業マンが様々な文脈で売り文句の一つとして「アジャイル」という言葉を使っているのを聞いたことがある人や、何らかの構造を批判する意図で誰かが「アジャイル」を使っているのをみたことがある人もいるでしょう。
しかしながら「アジャイル」という言葉だけでは具体的にどのようなことを指しているのかはよく考えてみると分かりません。
「アジャイル」とともに「スクラム」という言葉も同時によく聞きます。IT界隈のカタカナ語はバズワードとして業界内に膾炙し、前提かのように語られる割にそれの意味するところは何なのかというところを説明してくれる人は多くありません。
そこでこの記事では「アジャイル」という言葉の源流であるアジャイルマニフェストとその起草者たちの業績や考えなどを調べながら、「アジャイル」という言葉の意味するところを探りたいと思います。
人によっては退屈に長いかもしれません。書いている方は結構楽しかったです。

アジャイルマニフェスト

https://agilemanifesto.org/iso/ja/manifesto.html
アジャイルマニフェストは、2001年にスキー場に17人のソフトウェア開発者が集まり議論した結果生まれたものだそうです。
ここに書かれている内容(アジャイルソフトウェア開発宣言、アジャイルソフトウェアの12の原則)
を読む限り、目指すところは開発者と顧客、ビジネス側のひとが一体となって良いソフトウェアをできるだけ速くリリースしましょう、そしてそれを繰り返していきましょうというような状態を目指していて、特定の開発手法ややり方を押し付けたりするものではなさそうです。
それもそのはずで、このとき集まった17人はそれぞれに自分の考えた、良いソフトウェアを作るための持論や手法があり、それらのなかで具体的な手法というよりも共通する価値観をまとめたものをこのようにまとめたものがアジャイルマニフェストです。
(現在の日本でアジャイルといった場合、これは僕の感覚に過ぎませんが、あたかもスクラム的な手法を取ることがアジャイルなのだという雰囲気がある気がします。しかしながら、スクラムはこの時点ではそこまで支配的なものでもなくここに集まった17人の何人かが提唱していた手段の一つのようです。)
ところで、このアジャイルマニフェストの集まりには誘われたけど都合がつかなくなって来れなくなった人もいて、この17人だけが同じような考えを持っていたわけではありません。

アジャイルな17人

以下に、このとき集まった人々の主な業績と考え方をまとめていきます。
開発実践方法の派閥的なものにエクストリーム・プログラミング(XP)とスクラムがあり、分けるとしたらこうかなという分類で17名を分類しています。XPもスクラムも、その始まりはこの17人の中にいます。

XP派

Kent Beck

まずは言わずとしれたケント・ベックさんです。
https://ja.wikipedia.org/wiki/ケント・ベック

彼はエクストリームプログラミング(XP)という手法の提唱者です。
https://ja.wikipedia.org/wiki/エクストリーム・プログラミング

XPは割と具体的な開発の実践手法であり
テスト、テスト自動化
頻繁なデプロイ
短い開発サイクルを繰り返す
ペアプロ

などに割と重きを置いています。
XPはよく知られたアジャイル開発手法の一つですが、スクラムほどには書籍は執筆されておりません。
具体的な開発手法のそれぞれは後世に単独ではばたいてはいますが。

それ以外にも、テスト駆動開発、JUnitでも知られており、執筆活動も盛んです。

Ward Cunningham

ウォード・カニンガムさんです。 
https://ja.wikipedia.org/wiki/ウォード・カニンガム
Wikiの開発者です。
カニンガムさんはベックさんと二人でXPを発展させた人です。さらには、ソフトウェア開発におけるデザインパターンもまた、カニンガムさんとベックさんの二人で発展させたものだそうです。
(この二人が着想元にした建築学、クリストファーアレグザンダーとかパタン・ランゲージについては僕はまったく詳しくないです。)
「技術的負債」のメタファーを考えたのも彼だとか
https://wiki.c2.com/?WardExplainsDebtMetaphor=

(ソフトウェア開発の歴史においてカニンガムさんとベックさんの関係は深いはずなのに、なぜアジャイルマニフェストの名簿だと遠いんだ...?)

Martin Fowler

マーティン・ファウラーさんです。
https://ja.wikipedia.org/wiki/マーティン・ファウラー

ファウラーさんも書籍で有名です。
リファクタリング
エンタープライズアプリケーションアーキテクチャパターン
が有名ですね。読んだことや積んだことがある人は多いと思います。

彼はThoughtworksの中心人物としても知られています。
https://www.thoughtworks.com/
毎年テック系のトレンドを詳しく出してくれるのでみたことがあるかもしれませんね。
https://www.thoughtworks.com/radar

書籍以外にもBlikiというサイトでパターンや開発手法についての記事を書いてくれています。
https://martinfowler.com/bliki/SchoolsOfSoftwareDevelopment.html

Is it best to think of the agile world as one school or many (are Scrum and XP different schools or part of the same)? What are the major schools out there? What exactly defines a school of thought?

アジャイルとは一つの学派なのか、スクラムとXPは同じ学派なのか、それとも異なった学派なのか?と本人も悩んでいるのは面白いですね。

Robert C. Martin

ロバートCマーティンさんです(通称ボブおじさん)
https://en.wikipedia.org/wiki/Robert_C._Martin

さまざまな議論を呼びがちなあのクリーンアーキテクチャの作者として知られています。
また、カニンガムさんの考えたテストフレームワークFit
https://en.wikipedia.org/wiki/Framework_for_integrated_test
をもとにしたテストのためのソフトウェア、FitNesse
https://en.wikipedia.org/wiki/FitNesse
も開発しています。

アジャイル開発の実践についてはClean Agileなどの書籍にもかいてありますが、XPの手法を好んでいるようです。
https://www.informit.com/store/clean-agile-back-to-basics-9780135781869

ボブおじさんは17人の中でも相当多産な作家であり、2024年にも最新作を発表しています。
https://www.informit.com/store/we-programmers-a-chronicle-of-coders-from-ada-to-ai-9780135344262

Ron Jeffries

ロンジェフェリーさんです。
https://en.wikipedia.org/wiki/Ron_Jeffries
Extreme Programming Installedという書籍を執筆しています。
https://www.oreilly.com/library/view/extreme-programming-installed/0201708426/
しかしながらこの本はどうやら絶版のようでかつ電子書籍として購入できるところが見つからないため、中古書籍を買うしかありません。
内容的にはベックさんの書籍の実践版的なもののよう?

James Grenning

ジェームスグレニングさん。
もともと組み込み系を専門とされているかたで、組み込みにおけるテスト駆動開発に関する本を書いています。
https://pragprog.com/titles/jgade/test-driven-development-for-embedded-c/

さらには、プランニングポーカーの祖でもあります。
https://wingman-sw.com/articles/planning-poker
プランニングポーカーとはストーリー(顧客のシステムへの要求みたいなもの)の見積もりに使われる手法で、開発するチーム全員で特定のストーリーへの見積もりをカードに書き公開し、意見に相違があればそれを共有し議論するものです。
これによってチーム全体の参加や見積もり精度の向上、プロジェクトのリリースまでの大まかな見通しが見込めます。
https://en.wikipedia.org/wiki/Planning_poker

プランニングポーカーについての論文を書いたのはグレニングさんですが、Mike Cohn(アジャイル界の重要人物ではあるがマニフェストには参加していない)さんによって広まったようです。
Twitterを見る限りTDD、XP強硬派のようですが、彼の考えたプランニングポーカーが別名スクラムポーカーなのはちょっと皮肉です。
https://x.com/jwgrenning/status/1280157269557219335

Scrum派

Jeff Sutherland

ジェフサザーランドさんです。Wikipediaによるとベトナム戦争に行っていたよう。
https://en.wikipedia.org/wiki/Jeff_Sutherland
ケンシュウェーバーさんとともにScrumの祖です。

Scrumはまず竹内野中論文という、製造業における新製品開発のスピードと柔軟性がいかにして実現されるかを分析した論文から着想を得ています。
https://hbr.org/1986/01/the-new-new-product-development-game
「Scrum」ということばもこの論文の中にあらわれています。
スクラムはXPと比較してチームや組織がどうあるべきかという点に焦点が当てられている印象です。
スクラムチームは、プロダクトオーナー、開発者、スクラムマスターという役割があり、より管理的です。
(XP派は建築業からの影響がつよく、Scrum派は製造業からの影響がつよいのだろうか...?)

Ken Schwaber

ケンシュウェーバーさんです。
https://en.wikipedia.org/wiki/Ken_Schwaber
このひともScrumの祖です。
サザーランドさんとの共著論文がシュウェーバーさんの名前で出されています
https://scrumorg-website-prod.s3.amazonaws.com/drupal/2016-09/Scrum OOPSLA 1995.pdf
この論文は最初1995年のOOPSLAというカンファレンスで発表され、オブジェクト指向技術がスクラム開発の基礎を提供すると述べています。(それはなぜ...?というところはよくわからないです)
https://en.wikipedia.org/wiki/OOPSLA

どうやらシュウェーバーさんとサザーランドさんはもともと別のところで開発していて、二人のやり方が類似していたのでそれをまとめてScrumとなったようです。

Mike Beedle

マイクビードルさん
https://en.wikipedia.org/wiki/Mike_Beedle
Scrumを初期から実践し、かつOrganizational Patternsというものも合わせて実践していたようです。
https://en.wikipedia.org/wiki/Organizational_patterns
Organizational Patternsもまたソフトウェアとパターンのコミュニティから生まれたもののようです。
これもまた、ソフトウェアのデザインパターンなどと同様に、成功する組織はどうなっているのかパターンを発見しようという試みです。

Wikipediaによるとファウラーさんとボブおじさんに誘われてAgile Manifestoの集まりに来たらしいです。
そして、かれら共通の考えをアジャイルと呼ぼうと言い出した、アジャイルの名付け親でもあります。

ビードルさんはシュウェーバーさんとともにこんな書籍を出しています。
https://www.informit.com/store/agile-software-development-with-scrum-9780130676344

eXtreme Programming is an ideal many software shops would love to reach, but with the constant pressures to produce software quickly, they cannot actually implement it. The Agile software process allows a company to implement eXtreme Programming quickly and immediately-and to begin producing software incrementally in as little as 30 days! Implementing eXtreme Programming is easier said than done. The process can be time consuming and actually slow down current software projects that are in process. This book shows readers how to use SCRUM, an Agile software development process, to quickly and seamlessly implement XP in their shop-while still producing actual software. Using SCRUM and the Agile process can virtually eliminate all downtime during an XP implementation.

この本の紹介文をみるとScrumで効率的にXPしようというようなことが書いてあります。
自分では派閥だと思っていたのですが、アジャイルの祖に言わせると別に派閥じゃないのかもしれませんね。

Jon Kern

ジョンカーンさんです。
https://technicaldebt.com/about/
この方について情報は少ないです。
経歴を見る限り面白いのは、航空技術やミサイルに関するエンジニアだったということです。

ブログの内容を見るにRubyに造詣が深く、KanbanやScrumに関する記事を書いていますが、XPについての言及はないようなのでScrum派閥としました。

中立、諸派

Alistair Cockburn

アリスターコーバーン。コックバーンと言う人も多いが、コーバーンのほうがまだもとの発音にちかそう。
彼もよく知られた人物です、開発手法としてはクリスタルというものを提唱していました。
https://en.wikipedia.org/wiki/Alistair_Cockburn

クリスタルは最近の日本のIT界隈ではあまり聞くことのない開発手法だと思います。これについての書籍ほほとんどが絶版です。
このような状況で書籍もなく語るのも恐縮ですが、本人によるスライドを見つけたのでそれを読んでみました。
https://alistair.cockburn.us/wp-content/uploads/2018/02/What-is-Crystal-2007.pdf

この手法は、より人の性質に重きを置いているものだと思います。プロジェクトが成功するためには、以下の7つが重要と述べています

  • 頻繁なデリバリー
  • 反復的な改善
  • 密接なコミュニケーション
  • 個人の安全(悪いニュースでも上司に言おう)
  • 集中(優先順位の高いものから対処、中断されない環境)
  • 熟練したユーザーへの容易なアクセス(顧客に聞こうってことか?)
  • 技術的な環境(テスト自動化など)

さらには、密接なコミュニケーションのためにはフェイストゥフェイスが一番いいとも述べています。

他には彼はユースケース(Use case)についての書籍や、ヘキサゴナルアーキテクチャ、KPTでも有名です。
ヘキサゴナルアーキテクチャについては以前記事を書きました。
https://zenn.dev/voicy/articles/722c810df3ba0b

Andrew Hunt

アンドリューハントさん
https://en.wikipedia.org/wiki/Andy_Hunt_(author)
The Pragmatic Programmer(邦題:達人プログラマー)の作者として知られています。
https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/

実は彼は2015年にこんな記事を書いています
https://toolshed.com/2015/05/the-failure-of-agile.html
アジャイルが形式的になっていてその型さえ守って満足みたいな実践が多く(開発者としてはそういう場も何度か見ましたし、自分としても同じような考えになりがちなのでよくわかる)、変化に適応できなくなっているという批判です。

パターンとソフトウェアという潮流によって影響を受けたアジャイルが、そのせいで(?)型にはまって動けないというのはなんだか皮肉ですね。

Dave Thomas

デイブトーマスさん
https://en.wikipedia.org/wiki/Dave_Thomas_(programmer)
彼はハントさんと、Pragmatic Bookshelfという出版社を経営しています。上で貼ったThe Pragmatic Programmerはそこから刊行されており、共著者でもあります。

Jim Highsmith

ジムハイスミスさん。
https://en.wikipedia.org/wiki/Jim_Highsmith
NASAでかつて働いていて、アポロ計画にも関わっていたようです。

Adaptive Software Developmentというものを1992年に生み出していて、まさにアジャイルの原型といった感じの、反復的な開発サイクルを行う手法のようです。
https://en.wikipedia.org/wiki/Adaptive_software_development

Brian Marick

ブライアンマリックさん。
http://www.exampler.com/about/

彼についてはWikipediaが存在しません。ブログを見る限り、テストに強みを持つエンジニアのようです。

って思ったらアジャイルテストの4象限の作者でした。
http://www.exampler.com/old-blog/2003/08/21/#agile-testing-project-1
テストをビジネス面と技術面、チームサポート、プロダクトの検証といった観点で分類し、アジャイルの反復的な開発のフェーズでそれをいかに行うのかみたいなことのために使われる図です。

詳しくはこの本に書いてあるかもしれません。
https://www.informit.com/store/agile-testing-a-practical-guide-for-testers-and-agile-9780321770394

Steve Mellor

スティーブメラーさん
https://en.wikipedia.org/wiki/Stephen_J._Mellor
この人もWikipediaが充実していません...
https://www.infoq.com/articles/personal-reflection-agile-ten-years-mellor/

このインタビューによると、メラーさんの関心は主にオブジェクト分析や設計、UMLであって、コーディング的な面にはそれほど関心がなく、ベックさんのXPにモデルやドキュメントについての考えが欠如していると考えていたようです。アジャイルマニフェストの集まりに参加した際も、こんなものが世間で支持を集められたらたまらないということでスパイとして参加したらしいです。

アジャイルという言葉とモデルという言葉が同時に現れることは稀だが、それは対立するものではないということも言っています。

最近では、メラーさん的な考え(モデル大事)を持っているひとも多いのではないでしょうか。

Arie van Bennekum

アリーファンベネクムさん
https://weblog.wemanity.com/en/arie-van-bennekum-agile-is-much-larger-than-just-it/
17人中唯一のヨーロッパ人らしいです。
このかたの略歴はあまりわかりません。
アジャイルはITや開発手法だけではなく、企業全体に適用されるべきという主張をしています。

最近ではアジャイル組織という言葉もありますし、彼の考えは経営層てきにも響くのでしょうか

まとめと感想

書き始めた動機はアジャイルという言葉は使われる頻度が高く、一度くらいスタート地点を見に行ってみようというものでした。
方法論や考え方はそもそも結構最初の17人からして異なるところもあり、それらも発表から数十年たって変わっていたり変わっていなかったり、批判されていたりして面白いですね。
普段当たり前に受け入れている概念や考え方の祖がこのアジャイルマニフェストの17人の中にいたりして、改めてこの人たちの礎の上にソフトウェア開発を行っていたんだなということを認識させられます。

また、ソフトウェア開発においてアジャイルが勃興した時期にオブジェクト指向やパタン・ランゲージが流行っていて盛んに研究されていたことがよくわかりました。
クリストファーアレグザンダーを読まないといけないかもしれません。

記事を書くにあたって、notebooklmにたくさん記事や論文を入れて質問しながら書いたのですがとっても便利ですね。
https://notebooklm.google.com/

もし今後アジャイルという言葉を聞いたときに、それはアジャイルのどの考え方や誰の方法論を指しているのかそれとも何も指していないのか考えるときにこの記事が役立てば幸いです。

私見では、日本国内で日常会話や求人情報、営業文句で使われる場合のアジャイルは今日書いたこの記事のいずれも指していないです。

Discussion