
はじまり
ウォーターフォール(以下WF)開発をしていると、予定通り進んでいるかの判断がしづらく、納品前や結合試験前といった取り返しの付かないタイミングで進捗がかなり良くないことが発覚し、顧客や関係各所にご迷惑をおかけしてしまうことがあるかと思います。本来であれば、遅れを早めに検知して早急に対策を打ちたいところですが、開発者も認識していなバグが原因になったり、仕様の理解不足があったり、一部機能が足りていなかったり、開発者が進捗を過度に楽観視していたりと、様々な要因で順調そうに見えるプロジェクトが炎上することがあります。その上、一度進捗の遅れが発覚したとしても、その後に同じだけスケジュールをずらせばうまくいくわけでもありません。
では一体どうすれば締め切り前に納品物に不備があることを早めに検知できるのでしょうか。結論から言えば、アジャイル型の開発にしてしまうのが一つの結論です。より詳細に、実際のコンサルの事例を交えて解説するので最後までご覧ください。

アジャイルコーチの相談はこちらから
【期間限定!先着5名まで無料相談】→お問い合わせフォーム
事例紹介
実際にあった事例を紹介します。受託開発を主とした会社Tは、創業してまだ5年ほどだったこともあり、メンバーが増えつつありましたが開発のプロセスまでは整備されていませんでした。
そして、問題は起こりました。顧客に約束した期日に開発中のシステムが全然見せられる状況ではありませんでした。実は、以前にも期日があったのですが、フロントエンドができてないだけなので、フロントエンドだけ作れば見せられると伝えることで、その場を落ち着かせていました。しかし、実はバックエンドもフロントエンドも、進捗は思わしくなく、これから開発するとしても多くの時間を使ってしまうことが明白でした。
このような状況が続けば、今後受注できなくなるだけではなく、損害賠償請求にまで発展し大きな負債を負ってしまいます。経験上、こういう会社はあと5年も持ちません。
私の講演をきっかけに、その会社のCEOから依頼されて、アジャイル開発の導入と発注者である顧客へのアジャイルの導入説明をしてほしいとの依頼を受けました。
問題点
顧客側
課題1:動くシステムが提供されなかった。
課題2:システム開発スケジュールが予想できなかった。
課題3:顧客自身もプロダクトの理解が浅かった。
課題4:仕様変更ができなかった。
開発側
課題1:経験の浅いメンバーが多く見積もりやスケジュールの管理ができなかった。
課題2:バックエンドが得意なエンジニアが多く、フロントエンドの開発が進んでいなかった。

介入
問題点がわかったので、それぞれに対して適切な方法でカイゼンを行いました。以下の通りです。
顧客側
課題1:動くシステムが提供されなかった。
解決方法: 隔週で少しずつ動くシステムに触れるようになり、「実は進捗してない」が無いようになった。
課題2:システム開発スケジュールが予想できなかった。
解決方法:全機能に対して大まかな見積もりをし、開発の実績を元にいつどこまで完了できそうかのスケジュールを顧客が把握できるようにした。
課題3:顧客自身もプロダクトの理解が浅かった。
解決方法:顧客とユーザーストーリーマッピングのワークショップを実施し、プロダクトの理解を深め、アジャイル開発に必要なプロダクトバックログの作成まで行った。
課題4:仕様変更ができなかった。
解決方法:同程度の機能を諦めることで、開発が始まってからも仕様の変更を柔軟にできるようになった。
開発者側
課題1:経験の浅いメンバーが多く見積もりやスケジュールの管理ができなかった。
解決方法:相対見積もりの方法を指導し、これまでの実績からいつ何ができるかをスケジューリングした。
課題2:バックエンドが得意なエンジニアが多く、フロントエンドの開発が進んでいなかった。
解決方法:分業制でリソース効率を重視していた開発から、隔週で動くものを提供することを重視したフロー効率重視の開発に変えてもらった。

よくある失敗と対策
よくある失敗として、顧客をPOとしてスクラム開発をしようとしたものの、顧客が忙しすぎてPOとしての役割を全うできないということです。そういった場合は、顧客の代わりにPOの仕事を肩代わりするProxyPOを社内に置くことがうまくいくテクニックです。当たり前ですが、POとスクラムチームのコミュニケーションの機会が少ないと、意図が伝わらなかったりするので、手戻りが多くなります。それに、開発側からも、「POが役割を全うしてくれない」といった不満が生まれ、開発チームのモチベーション低下にも繋がります。POとコミュニケーションが頻繁に取れているチームと、そうでないチームではアウトプットの量に2倍以上の差がつくことも珍しくありません。
ProxyPOがPOとして十分な能力があることに越したことはありませんが、頻繁にコミュニケーションを取れないPOと開発チームで製品開発をするくらいであれば、未経験者から育てながらProxyPOをやってもらうことも大いに成果に繋がります。
アジャイルコーチの相談はこちらから
【期間限定!先着5名まで無料相談】→お問い合わせフォーム
まとめ
WF開発で炎上して顧客からの信頼を失いかけていた開発チームが、アジャイル開発で顧客に隔週で進捗を共有することで信頼関係を築き、プロジェクトが成功した例を紹介させていただきました。
ポイントとしては、一度顧客の時間を確保して、バックログ作成まで行ってしまうこと、社内にProxyPOを立てて開発チームと頻繁にコミュニケーションすること、フロントエンドとバックエンドのように分業化せずに、機能ごとに完成させていくことです。
これをやらないと、アジャイル開発を導入してみたものの、顧客の想定と違ったものを作ってしまったり、進捗が遅すぎて開発工数がかかりすぎてしまいます。このような開発をしていては、顧客からの信頼を失い最悪の場合は損害賠償になり、大赤字の開発プロジェクトになってしまいます。
これを避ける一番の対策としては、アジャイル開発の経験が豊富なコーチからコンサルを受けることです。現在、私は初回無料で相談を受け付けていますのでこちらからお問い合わせください。無料相談された方にはもれなくkawagoi式アジャイルチェックリストも差し上げます。
アジャイルコーチの相談はこちらから
【期間限定!先着5名まで無料相談】→お問い合わせフォーム
コメント