アジャイルコーチが見た開発現場~初めてのアジャイルでつまづく12のポイント~【プロジェクト立ち上げ時②】

アジャイル開発では教科書やガイドを読んだだけではうまくいかない事が多く、実際のプロジェクトではどうしたらよいかという質問も多くいただいています。
そこでアジャイルコーチとして様々なプロジェクトに参画してきた経験から、はじめてアジャイル開発に取り組む企業が陥りがちなポイントについてご紹介し、どのように対処すればよいか解説を行っていきます。
今回は前回に続き、プロジェクト立ち上げ時にプロダクトオーナーやスクラムマスターとして意識して頂きたい注意事項について解説します。
関連記事:
初めてのアジャイルでつまづく12のポイント【プロジェクト立ち上げ時①】
初めてのアジャイルでつまづく12のポイント【プロジェクト立ち上げ時②】
初めてのアジャイルでつまづく12のポイント【プロジェクト開始時①】
初めてのアジャイルでつまづく12のポイント【プロジェクト開始時②】
初めてのアジャイルでつまづく12のポイント【プロジェクト遂行時①】
初めてのアジャイルでつまづく12のポイント【プロジェクト遂行時②】
1.傍観する関係者やチームメンバ
とある会議にて。
「・・・となります。何かご質問のある方はいらっしゃいますか?」
「・・・」
「では、続いて・・・、~省略~、ということでよろしいでしょうか?」
「・・・」
淡々と流れていく時間。特に指摘もなく議題が処理されていく。
このような会議はよくあるシーンだと思います。
本当に全く異論がなければ大変素晴らしいことだと思います。しかし本当でしょうか?
何一つ質問もなく、出席者全員が問答無用で納得できているのか不安を覚える時はないでしょうか?
アジャイルでは、「自己組織化」というキーワードがよく出てきます。
とある目標や課題にむかって自律的に行動し、目標を達成しなさいという考え方です。成熟したスクラムチームは、自分達に期待されていることや現在の状況を把握し、何をすべきか、どう取り組むべきかをチーム自体が考え、必要な行動をとります。そうすることで常によりよい価値を生み出すことができるようになるのです。
このようなチームになるために大事なことは、一人ひとりが”能動的であること”と、チームとして”常に連携できていること”です。
能動的であることとは、周囲の状況を把握し、他のメンバーを助けることであったり、必要な情報発信をしたり、自分の考えや改善提案、アドバイスを述べることを指しています。
そして常に連携できていることとは、随時、現状に変化があったこと、気づいたことなどをメンバーやステークホルダーに共有し、自分達の取り組みに問題ないことを確認することです。
新しいスクラムチームを組成した直後やアジャイル開発を初めて行うエンジニアは、こういった動きができない場合があります。特にウォーターフォール型で開発を行ってきたエンジニアは、指示通りに動くことや余計なことはしないこと、を教えこまれている場合もあり、動きが固くなっているかもしれません。
また、大きなシステム開発プロジェクトで黙々とコーディングをしてきた経験しかない場合は、そもそも密にコミュニケーションをとるべきという考えを持っていなかったりします。
アジャイルプロジェクトを始めるにあたってチームメンバーがどのような態度をとっているか改めて注意深く見てください。緊張して肩に力をいれたまま大人しく座っている人はいないでしょうか?個別に指名するまで発言をしない人はいないでしょうか?過度な緊張や無関心はアジャイルプロジェクトにおいて良い影響をもたらしません。少しリラックスして思ったことを発言できる雰囲気のなかで、自由闊達に議論できるほうが楽しく仕事ができ、結果として良いものが作れると思います。
ここまでチームメンバーについて述べてきましたが、ステークホルダーについても同様のことが言えます。私は、スプリントレビューの在り方について、良ければ「いいね!」悪ければ「悪いね!」と言ってくださいとアドバイスします。
難しい顔をしたまま無言で聞かれていても、有意義なフィードバックは得られません。チームがよりよい開発をおこなうためには、ステークホルダーのリアクションはとても重要ですし、「なんとなくOK」なのか「すばらしくOK」なのか、ニュアンスを伝えるだけでも価値があるのです。
冒頭でお話した静かな会議。改めて見直す必要があるかもしれません。
プロダクトオーナーをはじめて務める方は、下記の記事も併せて読んでください。
【できるプロダクトオーナーの仕事術】
特にエンタープライズアジャイルにおけるプロダクトオーナーにどんな姿勢を求められるか、ヒントが見つかるかもしれません。
2.MVPって何なのさ
初期バックログにおいて、もっとも重要なものとしてMVPという考え方があります。
MVP(Minimum Viable Product)とは、実用最小限の製品という意味になります。
これから作る製品には、様々な便利機能や仕様を盛り込みたくなるものですが、まず最初に作るのは本当に必要なコアとなる機能を盛り込んだ最小限の製品にしようということです。
そう言われても、意味はわかるが実際に定義するのは難しいと感じる方は多いようです。実用最小限とはなんだ?どうやって選べばいいの?と疑問を感じたことはないでしょうか?
まずMVPの解説の前に、前提として、アジャイルプロジェクトで作ろうとしているプロダクトは、本当にニーズに即したものかどうかわからない部分が含まれるという点を理解しておく必要があります。
新規事業など顧客ニーズを明確に把握できていない場合や、既存事業でもこれからのニーズが変わるかもしれない場合には、一旦の仮説としてニーズとそれを満たすプロダクトが定義されています。
つまり、作ってみたけど顧客の反応はいまいちだったということもあり得るということです。
そのため、全ての機能を一気に実装するのではなく、最もコアとなる最小限の製品を作り、それをユーザーに使ってもらうことでフィードバックを得ながら、結果に基づく完成形を目指していこうというアプローチが必要になるのです。
これがアジャイルプロジェクトでMVPを採用する理由です。
それでは、実際にどのようにMVPを選定すればよいでしょうか?
先ほどの話から、ニーズに即しているかどうかわからない機能は、一旦はずしたほうがよさそうです。
また様々な関係者の意見を募ることは大事ですが、全員の合意を得ようと思うと結果的に盛り込みたい機能が多くなりがちです。
そこで、プロダクトオーナー(または候補者)を中心に要件を精査する人を限定して、少人数での要件整理をお勧めします。
そのメンバーで考えるべきことは、
・製品の根幹となるものは何か?
・要件を煮詰めていくと残るものは何か?
・例えば3か月で作れるレベルで考えるとどのような製品か?
これを徹底的に考えて洗練された骨格を作ることを目指します。
慣れていない場合は、どこまで絞り込めばよいか悩むかもしれませんが、まずは大胆に絞り込みましょう。追加することはいつでも簡単にできますが、削るには検討時間と関係者の合意が必要になります。
3.次回へ
次回は続けて、プロジェクト開始時に陥りがちな問題点について解説します。