煽りタイトル申し訳ありません。
この記事は福岡若手Sier_bc Advent Calendar 2019の8日目の記事です。
前回の4日目の記事と同様、あまりテクニカルな話ではありませんのであしからず。
はじめに
昔、自分の身の回りであまりにもアジャイル開発に無理解な人がいたために書きました。
したがって、この記事を読む人の対象は
- アジャイル開発に触れたことがない人
- アジャイルソフトウェア開発宣言を知らない人
です。さらに、注意として
- 筆者による主観
- 筆者の確証バイアス
が含まれているかもしれません。ご自分で情報に触れてみてください。
そもそもアジャイル開発の話をする前に
この開発宣言で重要なことは、
(前略)
この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、
価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。
ということです。IPAの解説にもあるように、
左記のことがらに価値があることを認めているんですよ!
だから、例えば「プロセスやツール」にも、「包括的なドキュメント」にも、価値があることを認めているから、要らないなんてことはないんですよ。
ただ、左記のことがらよりも右記のことがらにより価値をおいているだけです。要は比較しているだけ。
アジャイル開発を誤解しないで!
昔、アジャイル開発を理解してない身の回りにいたとある偉い人が、
アジャイル開発ってのは、設計書を作らないんですよ(迫真)
と言ってたんですよ。そんなわけないだろうと。そもそも__「設計書を作らない」__の胴元はどこよってGoogle先生に聞いてみましたが、
- 設計書(ドキュメント)を作らないというのは誤解だ
- 無駄な設計書(ドキュメント)を作らない
といった説明ばかりでした。おそらく、__「無駄な」設計書を作らない__という説明が、__設計書を作らないんですよ(迫真)__に繋がったのではないか、と今では考えています。
アジャイルソフトウェア開発宣言が伝えたいこと
とはいっても、正直アジャイルソフトウェア開発宣言も言葉足らずなところはあるかもしれません。これまたIPAの解説にもありますが、
アジャイルソフトウェア開発宣言で伝えようとしていることは、まずマインドセットがあって、そのうえで「プロセスやツール、ドキュメント、契約、計画」を考えるべきである、ということなのです。このマインドセットは「個人と対話、動くソフトウェア、顧客との協調、変化への対応」として簡潔に表現されていますが、後述の「原則」を踏まえてもう少し具体的に表すと次のようなことを示しています。
ということであり、具体的には
• 「対面コミュニケーション」
個人同士の対話を通じて相互理解を深めることで、よりよいチームが作られる。
• 「実働検証」
動くソフトウェアを使って繰り返し素早く仮説検証をし、その結果から学ぶことがよりよい成果を生み出す。
• 「顧客とのWin-Win関係」
お互いの立場を超えて協働することにより、よりよい成果と仕事のやり方を作ることができる。
• 「変化を味方に」
顧客ニーズやビジネス市場の変化は事前計画を狂わす脅威ではなく、よりよい成果を生み出す機会と捉える。
ということです。なお、上記の__マインドセット__とは、__「暗黙の了解事項」__という意味で捉えるといいと思います。とにかく、上記のことを意識しつつ、「プロセスやツール、ドキュメント、契約、計画」を考えるべきなのです。
まとめ
以上で、タイトルに関することを述べさせていただきました。近年はアジャイル開発手法である__「スクラム」__を採用されている企業が多いように見受けられますが、是非とも開発宣言を御一読いただき、認識の確認をしてみるのもいいかもしれません。