アジャイル開発:万能薬じゃないけどなぜみんな使うの?
皆さんはこんなことを考えたことがありますか?多くのチームが伝統的な開発手法を捨てて、なぜアジャイル開発に移行するのでしょうか?先週、あるクライアントが頭をかきながら私に聞きました。「アジャイル開発はいいって言うけど、なんでうちのチームではまるでテトリスをしているみたいなんだ?どこかに引っかかってる感じがするんだけど…」。これは非常に典型的な質問です!今日はこの話題を掘り下げて、少しでも失敗を減らすお手伝いができればと思います。
アジャイル開発とは何か?
簡単に言うと、これはアジャイル開発方法であり、2001年にプログラマーたちによって生み出された『アジャイル宣言』が今や業界のバイブルとなっています。その中には4つの柱となる理念があります:
- プロセスやツールよりも人間同士の関係性を重視する
- 詳細な文書よりも動くソフトウェアを重視する
- 契約交渉よりも顧客との協調を重視する
- 計画に固執するよりも変化に対応することを重視する
伝統的なウォーターフォール型開発との比較は、自転車と電動スクーターの違いのようなもの——ウォーターフォール型はまずホイールを取り付け、それからフレームというように段階的に進めますが、アジャイル開発とウォーターフォール型開発との違いは、いつでもタイヤを改造しながら走れる柔軟性を持つことです。特に要件が天気予報のように頻繁に変わるプロジェクトに適しています。
アジャイル、実際どうやって遊ぶの?
正直に言えば、以前私もデイリースタンドアップ会議なんて時間の無駄だと思っていました。しかし、とあるプロジェクトが破綻しかけたときに毎朝15分の「雑談」だけで70%の遅延リスクをカットできたんです。デイリースタンドアップの流れは実はとてもシンプル:
- 昨日何をした?
- 今日は何をする予定?
- どんな問題に直面している?
ただし報告会みたいにしてはダメです。ポーカーを打つように、迅速な意思決定とお互いのサポートが必要です。そうそう、おすすめしたいのがGanttableというツール、Excelよりも視覚的にスケジュール管理できるので便利ですよ。
異なる分野での活用法
- ソフトウェア開発:最も古典的な戦場、小刻みに進むことが代名詞。例えばアプリ開発なら、まずはメッセージ機能だけでも実装し、その後でビデオ通話機能などを追加していく
- マーケティング:私が見た中で最も秀逸だったのは、ECサイトが618(ショッピングイベント)前に2週間で広告素材を反復改良し、コンバージョン率を大幅に上げたケース
- 教育業界:ある学校がコース開発にアジャイルを適用し、各単元終了後に学生による授業案投票を行い、効果が40%向上
ただ覚えていてほしいのは、橋やビルのように要件が明確な大規模プロジェクトでは、ウォーターフォール型の方が安定している可能性が高いということ。つまり、「スイス軍刀」でロケット修理しようとしないこと、正しい道具選びが大事なんです。
よくある失敗事例
初心者がやりがちな間違いとして、アジャイルをなんでも解決する鍵と思い込むことです。去年、友達の相談に乗ったとき、彼らのチームはScrumを使って20人規模のプロジェクトをやろうとしていたんですが、結局会議がウォーターフォールより煩雑になってました。アジャイルの真髄は「継続的改善」にあるので、フレームワークに縛られすぎないことが肝心です。また見落としがちなのが文書作成の重要性、かつてあるクライアントが「アジャイルの精神では文書不要」と言っていて、引き継ぎ時に爆弾が炸裂してしまったことも——繰り返しますが、動くソフトウェア ≠ 文書ゼロ!
正直に言いますが、今の世