
基幹システムのアジャイル開発第2回。~議論しなくていいの?~
先日、社内の基幹システム刷新に向けた開発がスタートした件について書きました。アジャイル開発をうたっているものの、会社としてそういった取り組みをしたことがほぼないこと、私自身も理解ができていないこともあり、前回は会議の目的が曖昧なままで議論が発散して収拾つかなくなったと書かせていただきました。
毎週少しずつ要件定義を進めていくということで、第2回が開催されました。検討する内容は変わらず、開発画面のレビューになりますが、会議の進め方が大きく変わりました。
今回は、会議の目的が明確に示されました。
開発画面の要件定義という意味では、「今決めないと進まないこと」と「後で修正できる・開発機会を設けているので、いま定義する必要がないこと」を明確に分けてくれました。
そうすると、「この表に入れるべき項目はありますか」「この項目は必要でしょうか」など、ピンポイントに確認がされていきます。どんどん進んでいきます。まあ、ほぼイエス/ノーで回答できることばかりなので当然と言えば当然です。
ノーの項目があれば話が長くなるかもしれませんが、システム自体が安全を見て開発されているようで、省かれていることがあまり無いのでそういう議論もありません。
そんな感じなので、予定していた90分の会議が60分で終わりました。前回とは大違いですが、どうもすっきりしません。
今回感じたのは、「論点を絞りすぎると議論にならない」ということです。
前回は、
「出来るだけ早く意見を集めて開発スピードを速めるべくフリーに質問を投げたら収拾付かなくなった」
今回は、
「コントロールしやすいように確認ポイント絞ったら意見が出なかった」
これに対して私がすっきりしないのは、「自分の事業や業務に沿った提案や議論をするつもりだった」からです。でも、今回は「今決めなければいけない項目の確認」が目的だったため、提案をする場面ではなかった、ということになります。
きっとこの違和感が今までの私たちの働き方とアジャイル開発の違いなのだろうと思います。
今までの私たちは、想定されるリスクなどを皆で持ち寄り、あらかじめ何でもできるようにしておいたり、そうできるように時間をかけてきました。
今回、私も自分の知見を披露しようとしていました。
でも、アジャイル開発は(今のところの私の解釈だと)将来変わりうる環境を想定するのではなく、そうなったときに対応する、という考え方なのだろうと思います。
私たちの今の業務の進め方がベストかわからないですし、将来ベストかもわかりません。わからないことは考えすぎても意味がありません。
でも私たちがそこに時間をかけてきました。
今回は、そうではなく、必要最低限の要件決めをして、早くシステムを動かして、常に適応していく、という進め方であり、それを頭に入れなければいけないと思いました。
一方で気を付けたいな、と思ったのは、この新しい考え方を受け入れなければいけないと思いつつ、「将来のことはわからない」といって考えるのを止めてしまってはいけない、ということです。
環境はコントロールできませんが、それに対峙する自分はコントロールできるわけで、そこがなくなるとブレまくってしまいます。
自分たちは、このシステムや業務で何を大事にしていくのか?自分たちが意思決定するときに何を大事にするのか?そのためにどんな情報やコミュニケーションが必要なのか?は考え続けなければいけないと思います。
このシステムの開発において、心配事の議論は不要かもしれません。でも、自分たちが大事にすることのコンセンサスをいかにとるか、見えるようにするか、がアジャイル開発をリードしていくうえで非常に難しいポイントなのだろうと思います。
この先、この開発運営がどのように進化していくか、また共有していこうと思います。