これは何?
- これは、「アジャイル宣言」について自分の言葉でまとめたもので、3つのうちの1つです。
- その1)「アジャイル宣言とは?新しい価値観の提示 - Qiita」
- その2)「アジャイル宣言を理解すると、何が美味しいの? - Qiita」
- その3)「なぜアジャイル宣言が誕生したのか?何を変えようとしているのか?」(本記事)
- その1)2)3)の順に読むことを想定していますが、それぞれ単独でも読めます。
- なお、この文書での「アジャイル宣言」とは以下の2つの原文を指します。
はじめに ~ アジャイル宣言は、不親切で難しい?
アジャイル宣言そのものには、具体的な開発手法/技術についての言及はありません。
これはつまり『アジャイル宣言で「何が大切か?(新しい価値観)」は伝えたのだから、具体的にどうするか?(開発手法やどんな技術を使うか)については自分たちで考えなさい』ということです。
-
これって不親切で、難しいことを言ってるように思いませんか?
-
「そんな意地悪しないで、もっと具体的(どんなツール使えばいいの?どんなコミュニケーション手段をとるのがいいの?など)に教えてよ!」と思いますよね。
-
なぜ『具体的な開発手法/技術を示さなかったのでしょう?』
-
実は『開発手法/技術を書いてしまうと、アジャイル "宣言" ではなくなってしまうので、書けなかったんです』
-
「え?どういうこと?」と思いました?
-
順を追って説明してみます。
アジャイル宣言は、なぜ誕生した?
なぜ『アジャイル宣言に、具体的な開発手法/技術が書かれなかったのか?』
それは、アジャイル宣言が誕生した経緯を振り返ることで見えてきます。
- 1)近年、世の中の変化のスピードが増した結果、今までの『開発手法/技術』で成果を出すことが難しくなってきた。
- 2)しかしながら、新しい『開発手法/技術』を考えたとしても、世の中の変化によって、すぐにその手法/技術は陳腐化してしまう。
- 3)だから、新たな『開発手法/技術』を**探求し続けなければならない。**
- 4)「そうだ!新たな開発手法/技術をどういう基準で取り入れるべきか?」をまとめよう!そして「これをチームの行動理念として実践しよう!」
つまり『これを大切にすれば(新しい価値観=開発手法/技術の選定基準)、今の時代にマッチしたソフトウェア開発ができるのでは?」をまとめたものが「アジャイル宣言、及び、アジャイル宣言の背後にある原則」なのです。
アジャイル宣言は、何を変えようとしているのか?
アジャイル宣言は、新しい価値観への転換を促しています。
-
「特定の開発手法/技術だけでは、世の中の変化と戦うことができなくなった」という現実を受け入れ、
-
「世の中の激しい変化にさらされても、使う開発手法/技術を素早く柔軟に変え続けることで、成果を出し続けるぞ!」という宣言
ここで、勘違いしてほしくないのですが『これまでの開発手法/技術がダメだ』と言う意味ではありません。『これまでの開発手法/技術が通用する場面は今もたくさんある』と思います。アジャイル宣言の本質から考えると『これまでの開発手法/技術、新しい開発手法/技術、**この全部**を選択肢として、自分たちの状況に合うものを選ぶことができる』ということに意味があるんだと思います。
まとめ
-
近年の世の中の激しい変化についてゆくために、開発手法/技術を1つに絞り込むことをあきらめた。
-
代わりに「開発手法/技術を柔軟に変える為には何が大切か?(新しい価値観=開発手法/技術の選定基準)」をまとめた。
-
これがアジャイル "宣言" である理由(=具体的な開発手法/技術が書かれていない理由)です。
-
ちなみに、この文章での「具体的な開発手法/技術」のことは、一般的には「プラクティス」と呼ばれているものです。
-
「これをやってればいいよ!」だったのが、「常に良いやりかたを考えてやってね!」が求められるようになったので、本当の意味での実践は大変そう。。
-
妄想ですが「アジャイルやってます?」「はい。やってますよ」「スクラムですか?」「ウォーターフォールです!」って言いきれたらすごくカッコいいのかも?