非アジャイル手法でもアジリティを高めるためにできること
こんにちは。@TakahiRoyteです。
アジャイルというワードを耳にする環境でも、自社や顧客との都合上ウォーターフォールでの開発を求められる、というケースは多々あると思います。今回はそういったケースに対してもアジリティを意識してみようというお話です。
アジャイル vs ウォーターフォールは正しい構図ではない
一般的にアジャイルな開発との対比に使われがちなウォーターフォールですが、実はこの2つは対になるものではありません。アジャイルは状態を指し、一方ウォーターフォールは開発手法を指します。コンテクストを合わせるなら、「スクラム vs ウォーターフォール」であれば正しく対比になりえます。
なぜこの点が重要になるかというと、ウォーターフォールを採用したとしてもアジャイルになれる可能性があるからです(ちなみに本稿の「アジャイル」は「変化を検知し、改善に向けて素早く対応していく」の意味として捉えてください)。
もちろん、手法ごとにアジリティを高めることへの適性は異なるので、スクラムの方がよりアジャイルになりやすい(そもそもスクラムはそれを目的として作られたフレームワーク)という差はあります。この差を踏まえて意識すべきは、どんな手法を使おうとも、いかにチームのアジリティを高められるかという点です。
アジリティを組み込む
では現実問題としてウォーターフォールなどの一般的にアジリティが高くない手法を採用しているプロジェクトに参加する時、私たちに何ができるでしょうか。
ヒントはスクラムやXPなどのアジャイルなフレームワークや、それらに内包されているプラクティスにあります。
例えば、デイリースクラム(朝会)です。3つの質問(ゴールを達成するために昨日なにをしたか、今日なにをするか、ゴール達成の障害となるものを見たか)を聞くことで、単にガントチャートとにらめっこするよりも効果的にリスクを予見できます。
他にも以下の手法などが使えるでしょう:
・インセプションデッキ
・スキルマップ
・ペア(モブ)プログラミング
・テスト駆動開発
・レトロスペクティブ
・完成の定義
自分のチームに何が足りていないかを見つめる
そもそも、上で挙げたプラクティスがアジリティを高める理由はなぜなのでしょうか。スクラムを例に考えてみましょう。
スクラムでは、アジャイルなプロセスの実現を透明性・検査・適応の3本柱が支えています。この3本柱を実現するために、1~4週間の短いスプリントや、デイリースクラムをはじめとした各プラクティスが考えられているのです。言い換えると、この3本柱を他のどんな方法でも良いので構築することができれば、スクラムの価値である、「変化の激しい問題への対応」が実現できる可能性がある、ということです。
なので、自分のチームの状況を見つめ直し何が足りていないかを認識することから始めましょう。そこで感じた不足を各種プラクティスで補うでも良いですし、自分たちで考えた手段で埋めるでも良いと思います。
そういった積み重ねを作ることで、既存の働き方からよりアジャイルな働き方へ移行しやすい土壌も生まれます。
アジャイルに興味がある方は、ぜひ今一度自分の働き方にどうやったらアジリティをもたらせるかを考えてみてください。
それでは良きアジャイルライフを。
よろしければサポートお願いします!いただいたサポートは書籍やテック・アジャイル関連のイベント参加などに使い、レビューの公開をお約束します。