短い間隔で動作するソフトウェアを見せようとするとすべてが改善される
みなさんこんにちは。@ryuzeeです。
今回は、自称「アジャイル開発をしている」といいつつ、定期的に謎の進捗報告会をJiraで行ない、「効率がどうたら」と口癖のように言っている人たちへの説教です。
スクラムでもスクラムでないやり方でも何でも構わないのですが(その違いは大きな問題ではない)、動作するソフトウェアを定期的に披露しようとすると、さまざまな改善が芋づる式に進みます。
披露しようとすれば、一気通貫で動作し、目で見て分かり、評価可能ものを作ることになります。 部品だけを作っても見えないし分かりません。例えばUIモックだけを作っても実際の操作感は分かりません。 何より動かないものや触れないものは真剣に見ません(モックを事前に送付してコメントがさして無かったのに、実物を見せたら大量にあーだこーだ言われた経験を持つ人は多いでしょう)。
一気通貫で見えるものを提示しようとすれば、短い期間で色々な種類の仕事をこなさなければいけません。 いちいちチーム外と都度調整して作業を依頼し、納入を待っていては時間が長くなってしまい、頻繁に見せられません。 そこでチームのなかに必要なスキルを揃える(新たに獲得することも含む)ような改善が進みます。 誰かが休暇や病欠になって仕事が止まってしまうのも避けたいので、チーム内のスキルのオーバーラップが進みます。結果的にチームは安定した量の物を作れるようになっていきます。
そもそも披露できるだけのものを期間内で作るスキルがなければ、まずスキル習得のための練習に投資したり、スキルのある人をチームに加えたりすることで、チーム力自体を向上させるよう改善します。
さて披露するにしても、見せた相手が関心がある物を見せないと、そのうち時間の無駄だと考えて、見に来てくれなくなります。 それを防ぐにはテーマや目玉が必要になってきます。テーマや目玉は計画セッションで考えてもいいですし、もう少し前から考えてもいいのですが、いずれにせよプロダクトの状況や参加者の関心を考慮して決定することになるでしょう。 つまりチームは常日頃から今後のことを考えて準備をするように改善します。
そうして見る人が関心を持ちそうなモノを毎回披露していると相手はチームのことを信頼します。そうなれば自分たちの時間をより自由に使えるようになり実験もしやすくなります。結果として仕事のやり方の改善がさらに進みます。
最後に、なぜ動作するソフトウェアを定期的に披露しないといけないか? それは、プロダクトの価値はチームの外側で決まるからです。 チームのなかに留めている限り、どんなアイデアも妄想に過ぎません。さんざん時間とお金をかけた挙げ句に大失敗するリスクを抱えています。 「私の考えた最強のアイデア」が本当に最強かどうかを決めるのは、チームではなく、チームの外側の人たちです。 したがって、動作するソフトウェアを定期的に披露することは、無駄にお金と時間を使うリスクにも対処しているのです。
内容に関するご意見やフィードバックは、Twitter: @ryuzee までお知らせください。
それでは。