アジャイル宣言とは？新しい価値観の提示

2018/11/14追記

- これは、「アジャイル宣言」について自分の言葉でまとめたもので、３つのうちの１つです。
  - その１）「アジャイル宣言とは？新しい価値観の提示 - Qiita」（本記事）
  - その２）[「アジャイル宣言を理解すると、何が美味しいの？ - Qiita」](https://qiita.com/gounx2/items/5bb0972234009bd46e0a)
  - その３）[「なぜアジャイル宣言が誕生したのか？何を変えようとしているのか？ - Qiita」](https://qiita.com/gounx2/items/b5381186856eb54e48c9)
- その１）２）３）の順に読むことを想定していますが、それぞれ単独でも読めます。

# これは何？

今さらと言われそうですが、アジャイル宣言について自分の言葉でまとめてみます。

# 始まり

注意、以下は全部でたらめです。

- なんかアジャイルという開発手法があるらしい。
- 早く開発できるらしい。
- 計画も設計もドキュメントもいらないから、早く安く開発できるらしい。
- ウォーターフォールを2週間で繰り返せばアジャイルになるらしい。
- 朝会やるらしい。(今までと同じだな)

これではダメなので、原文からの理解を試みます。

# 『アジャイルソフトウェア開発宣言』の原文を読んでみた。

『アジャイルソフトウェア開発宣言』の原文
http://agilemanifesto.org/iso/ja/manifesto.html

    アジャイルソフトウェア開発宣言

        私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、
        よりよい開発方法を見つけだそうとしている。この活動を通して、私たちは
        以下の価値に至った。

            - プロセスやツールよりも **個人と対話** を、
            - 包括的なドキュメントよりも **動くソフトウェア** を、
            - 契約交渉よりも **顧客との協調** を、
            - 計画に従うことよりも **変化への対応** を、

        価値とする。すなわち、左記のことがらに価値があることを認めながらも、
        私たちは右記のことがらにより価値をおく。

        Kent Beck,Mike Beedle,Arie van Bennekum,Alistair Cockburn,
        Ward Cunningham,Martin Fowler,James Grenning,Jim Highsmith,
        Andrew Hunt,Ron Jeffries,Jon Kern,Brian Marick,Robert C. Martin,
        Steve Mellor,Ken Schwaber,Jeff Sutherland,Dave Thomas
        © 2001, 上記の著者たち
        この宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。 

正直、この原文を呼んでも、シンプルすぎてよくわかりませんでした。

# 次に『アジャイル宣言の背後にある原則』を読みました。

『アジャイル宣言の背後にある原則』原文
http://agilemanifesto.org/iso/ja/principles.html

    アジャイル宣言の背後にある原則

        私たちは以下の原則に従う:

        - 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。

        - 要求の変更はたとえ開発の後期であっても歓迎します。
        　変化を味方につけることによって、お客様の競争力を引き上げます。

        - 動くソフトウェアを、2-3週間から2-3ヶ月という
        　できるだけ短い時間間隔でリリースします。

        - ビジネス側の人と開発者は、プロジェクトを通して
        　日々一緒に働かなければなりません。

        - 意欲に満ちた人々を集めてプロジェクトを構成します。
        　環境と支援を与え仕事が無事終わるまで彼らを信頼します。

        - 情報を伝えるもっとも効率的で効果的な方法は
        　フェイス・トゥ・フェイスで話をすることです。

        - 動くソフトウェアこそが進捗の最も重要な尺度です。

        - アジャイル･プロセスは持続可能な開発を促進します。
        　一定のペースを継続的に維持できるようにしなければなりません。

        - 技術的卓越性と優れた設計に対する
        　不断の注意が機敏さを高めます。

        - シンプルさ（ムダなく作れる量を最大限にすること）が本質です。

        - 最良のアーキテクチャ・要求・設計は、
        　自己組織的なチームから生み出されます。

        - チームがもっと効率を高めることができるかを定期的に振り返り、
        　それに基づいて自分たちのやり方を最適に調整します。 

なんとなくわかったような気がしてきました。

# 次に、アジャイル領域へのスキル変革の指針(IPA) を読みました。

もっと、分かりやすい説明がありました。

アジャイル領域へのスキル変革の指針～アジャイルソフトウェア開発宣言の読みとき方 2018年4月
https://www.ipa.go.jp/files/000065601.pdf

    (p2 より引用)
    本書は、「アジャイルソフトウェア開発宣言」および「アジャイル宣言の背後にある原則」を
    日本の企業風土、組織文化を考慮し、分かりやすく解釈することで、より多くの方に
    アジャイル開発を理解していただくことを目的としています。

    (p4 より引用)
    IPA解釈版、アジャイルソフトウェア開発宣言

        - 「対面コミュニケーション」
            - 個人同士の対話を通じて相互理解を深めることで、よりよいチームが作られる。

        - 「実働検証」
            - 動くソフトウェアを使って繰り返し素早く仮説検証をし、その結果から学ぶ
            　ことがよりよい成果を生み出す。
        
        - 「顧客とのWin-Win関係」
            - お互いの立場を超えて協働することにより、よりよい成果と仕事のやり方を
            　作ることができる。

        - 「変化を味方に」
            - 顧客ニーズやビジネス市場の変化は事前計画を狂わす脅威ではなく、よりよい
            　成果を生み出す機会と捉える。

    (p7～ タイトルのみ引用)
    IPA解釈版、アジャイル宣言の背後にある原則

        - 原則01 顧客の満足を求め続ける
        - 原則02 要求の本質を見抜き、変更を前向きに
        - 原則03 成果物を2-3週間で、リリースし続ける
        - 原則04 全員で共通の目標に向かおう
        - 原則05 人の意欲は信頼から
        - 原則06 顧客も開発チームも直接対話で
        - 原則07 進捗も品質も現物で
        - 原則08 一定のペースでプロジェクトにリズムを
        - 原則09 よい技術、よい設計、よい品質の追求
        - 原則10 ムダ＝価値を生まない、を探してヤメる
        - 原則11 よいモノはよいチームから
        - 原則12 自分たちのやり方を毎週、調整する

さらに、理解できたように思えてきました。

# アジャイル宣言を一言で言うと「新しい価値観の提示」です。

(一言で言うこと自体無理があるのを承知で書いています)

さらにネットや本で調べたところによると、

『アジャイルソフトウェア開発宣言』とは一言で言うと、個人的には
『ソフトウェア開発において、何を大切にするかを記したもの＝新しい価値観(判断基準)の提示』と解釈しました。

# まとめ

- アジャイル宣言そのものには、具体的な開発手法についての言及は無く、現在多く普及しているのはスクラムです。

- アジャイル宣言にそった開発手法(スクラム)を使っていたとしても、より深く理解するには「新しい価値観＝アジャイル宣言」の理解が欠かせないと思いました。（スクラムやってる ≠ アジャイル宣言を理解/実践している）

- 「アジャイル宣言以前の価値観でソフトウェア開発を行ってきた関係者(＝開発者はもちろん、営業担当、経営者、顧客なども)」は、これまでの価値観が常識として邪魔をするので、アジャイル宣言の本当の理解/実践は簡単ではないように感じます。