アジャイル開発(スクラム)
アジャイル開発とは「必要とされる、意味のあるモノを手にできるようにしよう」という作り手とユーザーやクライアントとの間にある「共通理念」を実現してくれる開発手法と言えます。
簡単に言うと「早く(ただし少しだけ)形を作る」活動です。
しかし、アジャイル開発は「軽量、理解が容易、習得は非常に困難」と表現されているのです。
「軽量」というのは、重厚な要件定義書を必要としないこと。
「理解が容易」というのは、スクラムの特徴をはっきりと示したスクラムガイドは20ページも満たない分量であること。
しかし「習得は非常に困難」なのです。
アジャイル開発を実践しようとして直面する最大の問題は、圧倒的な実践知不足であるということです。
アジャイル開発における混乱といしては主に3つあります。
1つは「作るべきものの決め方の混乱」
重厚な要件定義書が必要ないとはいえ、要求なり要件なりプロダクトとして何が必要なのかの何かしらの情報が必要なことには変わりないのです。
2つ目は「合意形成についての認識違い」
「形にしてから考える」という作戦が妥当かどうかの判断が必要です。もし1〜2時間のコミュニケーションで作るモノの認識を合わせることができるなら、コスト的に高くついてしまいます。
3つ目は「変更が不可能になることへの関係者の不満」
プロダクトとして「何が必要なのかをチームと関係者が早く理解するため」であり、計画上フィードバックを受け入れる余地がないという状況では、何が必要かわかっても変更を加えることができません。
こうした、アジャイル開発における習得の難しさからプロダクトを失敗してしまい、元の開発手法に戻してしまう。それだけでなく、失敗が原因で今後やり方に対して制限が強化されることも考えられます。
僕たちもアジャイル開発に乗り出し、約3ヶ月程経ちますがお世辞にもうまくいっているとは言えません。ただ、試行錯誤しながら開発プロセスを柔軟に変えていくことができる現状の環境をいかにモノにできるか。
それを会社の資産として残すことができるかが重要だと考えます。
こうして「正しいものを正しくつくる」を再読するのもなんとかせねばと思うからこそです。