2012年に書籍「アジャイルサムライ」と出会ってから今年で10年が経ちました。この10年間で、自身の現場で試行錯誤しつつ、本を読み、勉強会やコミュニティ活動へも参加させてもらって本当に色々な経験をさせてもらいました。今思い出してもビフォア・アジャイル時代と比べて、ソフトウェアやITシステムの開発のことを考えることが楽しく、そして好きになりました。かつて私は開発の仕事に嫌気が差して非IT系へと職を変えたこともありましたが、今こうして開発の仕事を楽しめるようになったのは、アジャイルとの出会いがあったからこそだと思います。その出会いに感謝しつつ10年目という節目に改めてアジャイル宣言を読み返して気付いたことを書き留めておこうと思います。
宣言の内容
宣言の内容は下記のとおりとなっています。
(英)https://agilemanifesto.org/
(日)https://agilemanifesto.org/iso/ja/manifesto.html
アジャイルソフトウェア開発宣言
私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。
今この宣言を読んで思うことは、題名が「アジャイル宣言」ではなく「アジャイルソフトウェア開発宣言(原文:Manifesto for Agile Software Development)」だったんだと言うことです。この宣言を常に意識している人からすると何を今更という当たり前の話かもしれませんが、この気付きは私にとって大きなものでした。昨今、アジャイルという言葉は、開発だけにとどまらず、組織や教育あるいはビジネスなど実に様々なシーンで用いられるようになっています。そんな流れもあってか、最近では「開発」だけアジャイルにしても部分最適でしかなく、ビジネスそのものをアジャイルにしないと意味がないという至極最もな意見も増えてきており、その結果「アジャイル開発」ではなく単に「アジャイル」と表現することの方が多くなってきたように感じています。
原則の内容
原則の内容(日本語訳)は下記のとおりとなっています。
(英)https://agilemanifesto.org/principles.html
(日)https://agilemanifesto.org/iso/ja/principles.html
アジャイル宣言の背後にある原則
私たちは以下の原則に従う:
顧客満足を最優先し、
価値のあるソフトウェアを早く継続的に提供します。要求の変更はたとえ開発の後期であっても歓迎します。
変化を味方につけることによって、お客様の競争力を引き上げます。動くソフトウェアを、2-3週間から2-3ヶ月という
できるだけ短い時間間隔でリリースします。ビジネス側の人と開発者は、プロジェクトを通して
日々一緒に働かなければなりません。意欲に満ちた人々を集めてプロジェクトを構成します。
環境と支援を与え仕事が無事終わるまで彼らを信頼します。情報を伝えるもっとも効率的で効果的な方法は
フェイス・トゥ・フェイスで話をすることです。動くソフトウェアこそが進捗の最も重要な尺度です。
アジャイル・プロセスは持続可能な開発を促進します。
一定のペースを継続的に維持できるようにしなければなりません。技術的卓越性と優れた設計に対する
不断の注意が機敏さを高めます。シンプルさ(ムダなく作れる量を最大限にすること)が本質です。
最良のアーキテクチャ・要求・設計は、
自己組織的なチームから生み出されます。チームがもっと効率を高めることができるかを定期的に振り返り、
それに基づいて自分たちのやり方を最適に調整します。
ここでは宣言のことを「アジャイル宣言(原文:Agile Manifesto)」と略して(?)呼んでいます。略して呼ぶことで、前段の「宣言の内容」で述べたように、開発だけに閉じないようなニュアンスにも聞こえますが、やっぱりソフトウェアの開発を大前提とした原則について書かれています。これは上位に位置する宣言の中で「ソフトウェア開発の実践、あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。」と記載されているため、至極当然と言えます。また、先月発売された書籍「アジャイルメトリクス 」では、原則の文章をワードクラウドで可視化する例が紹介されています。面白そうだったので私も試してみました。(下図がその結果です)
この結果からもソフトウェアの開発を前提にしていることがはっきりと読み取れます。
一旦整理する
ここまでの私の理解を一旦整理しておきます。
- 正式な題名は「アジャイルソフトウェア開発宣言(原文:Manifesto for Agile Software Development)」
- 題名は「アジャイル宣言(原文:Agile Manifesto)」と略されることがある
- この宣言はそもそも「ソフトウェアの開発」を大前提としてまとめられている
これらを踏まえて、今思うことについて以下に述べたいと思います。
いま思うこと
アジャイルな開発を目指す試行錯誤の中で「迷った時はアジャイル宣言に立ち返れ!」ということを、これまで何度も耳にし、また、目にしてきました。自身の取り組みの中でも、自分達が今やっていること、やろうとしていることが、果たして正しいのだろうかと迷った時、それに助けられたりもしました。今年ご縁あって本「ぼくのアジャイル100本ノック:親方Project」の一部を執筆をさせてもらう機会がありましたが、何名かの著者の方がそれに近い文脈でアジャイル宣言について触れておられました。確かにソフトウェアの開発を中心に考えれば、今もってそこに違和感はありません。
しかし、前述したとおり、昨今ではアジャイルはソフトウェア開発についてのみならず、もっと広い文脈(アジャイル組織、アジャイル経営、etc.)で使われるようになっていると感じています。例えばアジャイルを実践する手段としてスクラムがありますが、非ITの現場で活用された事例なども目にするようになってきました。そのことは2020年に改定されたスクラムガイドの文面からも読み取れます。(「スクラムガイド(2020年11月)」の「スクラムガイドの目的」から抜粋)
成⻑を続ける複雑な世界において、スクラムの利⽤は増加しており、我々はそれを⾒守っている。スクラムが誕⽣したソフトウェアプロダクト開発の領域を超えて、本質的に複雑な作業を必要とするさまざまなドメインでスクラムが採⽤されている。そうした状況を⾒ると、我々も光栄である。スクラムが広まったことにより、開発者、研究者、アナリスト、科学者、その他の専⾨家もスクラムを利⽤するようになった。スクラムでは「開発者」という⾔葉を使っているが、開発者以外を排除しているのではなく、単純化のために使⽤しているだけである。スクラムから価値を得ているのであれば、そこにあなたも含まれていると考えてもらいたい。
スクラムの起源が1986年に発表された論文「The New New Product Development Game」(野中郁次郎 竹中弘高)であり、当時世界のモノづくりの中心を担っていた日本の製造業の新製品開発の手法を参考にしたものであることを考えると、特別不思議なことではないように思えます。
重要なのはビジネスアジリティを高めることであり、ソフトウェアをアジャイルに開発することは、その要素に過ぎないと思います。そう考えた時、ビジネスアジリティを高める際に、迷った時の拠り所となるものが「アジャイルソフトウェア開発宣言(アジャイル宣言)」で本当に良いのだろうか?という疑問を感じてしまいました。これは決して宣言の内容が悪いとか古くなったと言っている訳ではありません。宣言誕生から20年以上の時を経て「アジャイル」という言葉が表現する領域が想像以上に大きくなってしまった結果なのだと思います。(※ソフトウェア開発の文脈においては、アジャイル宣言は引き続き重要であり続けると思います)
おわりに
もともと「アジャイルソフトウェア開発宣言(アジャイル宣言)」は、2001年に様々なソフトウェア開発手法の提唱者達17名が米国ユタ州のソルトレイクシティの郊外に集まって当時のソフトウェア開発手法やカルチャーに対するアンチテーゼとして「アジャイル」と言う名前を付けて発表しました。それから20年以上の時が過ぎたにも拘わらず、ソフトウェア開発の文脈において、今尚ソフトウェア開発を生業する私たち開発者の心の拠り所となっていることについては本当に感謝と尊敬の念しかありません。
しかし、アジャイル開発を実践する具体的な手段であるスクラム、SAFeなど様々なフレームワークや方法論がビジネス状況の変化と共に今も見直され続けている一方で、アジャイル宣言においてはその機会が無いまま今日に至っているものと思われます。
非ITのビジネスアジリティを考える場合においても「アジャイル」という言葉が使われる昨今のビジネスシーンにおいて、ソフトウェアの開発を前提としない新しいアジャイルの拠り所があると嬉しいなと思う反面、安易に「迷った時はアジャイル宣言に立ち返れ!」と言い放つことがないよう十分気を付けて生きていきたいと思います😅