「アジャイル」という言葉だとか「スクラム」という概念は、かつて自分の所属した組織では、採用しているいないに関わらず、基本的に何かしらの形で大体の組織で聞きました。 しかし、その宣言の中身が本当に何を言わんとしているかは、紐解く必要があります。
アジャイルソフトウェア開発宣言の内訳はこうです。
私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。
特に重要なのは「すなわち~」の後で、既存の「法・システム・仕組みベース」の事柄より上級プライオリティの「価値」を置きましょう、というのが「アジャイル」の実際の意味です。
某国の幹部は近年、「平和的発展は堅持するが、発展はより尊い」とし、「原則なき平和は屈辱のみである」と主張したと言う。その主張の賛否はどうあれ、アジャイル開発論のロジックの構成は、これとかなり似ていると思います。
従って、次のようなことはアジャイルではない。
- 頻繁に修正すること
- 仕様書が存在しないこと
- ドキュメントが整備されていないこと
- 納期が短いこと
- 異様すぎる長時間労働を必然にしていること
また、次のような発想はアジャイルではない。
- 会議は非効率なので不要である。特に頻繁に行うなど、滑稽だ
- アジャイルでは頻繁な双方向的会議は歓迎される
- 仕組みベースの整備のために、ツールを作って標準化を推進しよう
- あながち悪いことではないが、アジャイルのプロセスは自己調整型であるべきで、依存は歓迎されない
- 重要なのは取引先の要望に合わせることなので、仕様書の作成は非効率である
- アジャイルではドキュメントの価値を放棄しない
- 「結果」だけ求めているから、くだらないものは見せるな、プルリクするな
- アジャイルはプロトタイプレベルからのフィードバックを歓迎する
他にもスクラムがありますが、スクラムの本質は「価値」による駆動であり、自己組織化だと考えています。本当にスクラムを重視するのであればデイリースクラムのようなものが必然的に出てくるはずで、「無駄だから朝礼はいらない」なんて話はまず出てこないでしょう。
開発のスタイルは組織ごとに色々な方法があって良いのだと思います。
ただし、アジャイルやスクラムを標榜する場合、それが真実であるかどうかの知識は仕入れておく必要がある。基本的にはこの宣言に立ち返ってみることが重要に見えます。
以下のIPAによる資料は王道について書いた資料で良いと感じている為、記載しておきます。