この文章は、ブログThe Agile Warriorの「The Agile Inception Deck」を、著者Jonathanの許可をもらってChatGPTを使って翻訳し、読みやすいように監修したものです。Thank you Jonathan!
*
アジャイル手法が完全に無視している分野の1つが、プロジェクト憲章です。以下の質問は、そのギャップを埋め、最初のコードが書かれるはるか前に、プロジェクトを正しい方向に向かわせられる軽量ツールです。
次のプロジェクトをはじめる前に尋ねるべき10の質問
最初はとても希望的観測ではじまるものです。プロジェクトを開始するときに、あなたとあなたのチームは、すべてにおいて同じ認識を持っていると状態だと思います。しかし、実際に構築し始めると、それぞれが異なる意見を持っていることがわかります。このような状況が、あなたにも起きていませんか?
プロジェクトがはじまったときに、あなたとあなたのチームは同じ方向を向いている・・・こんな風にスタートするプロジェクトはどれくらいあるのでしょうか?
そして、何かを構築しはじめると、チームメンバーが完全に異なることを考えていたと気がつきます。
プロジェクトではこういったことがよく起きます。合意がないのに、合意があると思い込んでしまうのです。
優れたチームは、このような事態に対処しながら適応することができますが、出発する前に不注意な人を傷つけたり殺したりしてしまうので、ムダな対応とも言えます。
私がThoughtWorksにいたとき、この問題を解決するために「アジャイルインセプションデッキ」という軽量のプロジェクト憲章ツール(訳注:プロジェクト憲章とはプロジェクト開始前に合意形成を作るための文書のこと。従来型開発だとお客さまと開発で作り、ルール的に扱ってプロジェクト遂行していく)を作成しました。これは、「プロジェクトを開始する前に尋ねるべき10の質問と回答」というものです。
これら10の質問は、2つの目標を持っています。連携と期待値のすりあわせです。
連携のすりあわせとは、私たちがここにいる理由、何をしようとしているのか、そしてどのように進めていくかについて、あなたや他の全員が同じ認識でいることを確認するものです。とても基本的な確認となります。
一方、期待値のすりあわせは、このプロジェクトを成功させるために必要なことを、あなたのチームやステークホルダーに明確に伝えることを指しています。つまり、プロジェクトのルールを定義します。
はい、われわれはご要望の案件を構築できます。いいえ、それはそんなに難しくはないです。そのために必要なものは・・・。
早い段階で上記のような会話を行い、お客さまに最高のサービスを提供するために必要な10の質問を知ってもらう必要があります。回答を決めつけないこと。明確に尋ねてください。
お客さまが本当に必要としているものをどうやって知ればいいでしょうか? まずは、お客さまにたずねてみましょう。
1. われわれはなぜここにいるのか?
そもそも、なぜそれを作るのかがわからなければ、優れたプロダクトを作れません。なぜ?と問うことで、あなたやチームは、開発中に賢い判断を下すために必要な文脈を得られます。
例えば、ある建設会社のある建設現場において、どの道路が何日まで閉鎖されたかをマッピングするオンライン道路閉鎖システムを開発するように依頼された場合を考えてみましょう。
あなたやチームが解決策を構築するのに役立つ明白な質問は「なぜ?」と問うことです。そもそも、なぜ会社はこのプロジェクトに資本を投入しているのでしょうか?
安全性のためなのか? 規制上、必要性が求められたのか? それとも、建設現場での資材や物品の効率的な移動のために交通整理をするためでしょうか?
プロジェクトの第一の原動力を知り、理解することで、デリバリ時に必然的に生じるバランスの取れたトレードオフを行うための洞察力を得られるはずです。なぜかを知らなければ、そんなことはできません。
2. エレベーターピッチを作成する
プロジェクトには、多くの人々ごとに多くの意味があります。エレベーターピッチに回答することで、プロジェクトがそうでないことを確認します。
優れたエレベーターピッチは、エレベーターに乗るのと同じぐらいの時間で、あなたのプロダクトが何なのか、誰のためのものなのか、なぜ特別なのかを人々に伝えます。
良いものを作るのは、思っている以上に難しいものです。しかし、一旦できあがると、とても気持ちがいいものでしょう。エレベーターピッチを使って、抽象的な大きなコンセプト(ほとんどのプロジェクトがそうです)を、タイトでリアルで具体的なものにすばやく落とし込むのです。
3. プロダクトボックスを設計する
お客さまの視点でプロダクトについて一生懸命考えることは、常にクールなものです。プロダクトボックス(プロダクトの化粧箱)を作れば、お客さまの視点に立てるだけでなく、仕事時間を使ってチームで絵を書いたり、色を付けるのが許されるため、チームビルディングにも最適です。
凝ったものや洗練されたものを考える必要はありません。ただ自分自身に問いかけてみてください。
- 人々がこのプロダクトを買うトップ3の理由は何でしょうか?
- そして、このプロダクトの魂をあらわしたスローガンがひとつあるとすれば、それは何でしょうか?
4. やらないことリストを作成する
「はい」というのは簡単です。しかし「いいえ」と言うのは難しい。やらないことリスト(NOTリスト)によって、まず第一歩を踏み出し、このプロジェクトの一環として、あなたがやらないことを設定します。
「やらないこと」を声に出すのはパワフルです。チームがスコープ「内」であるものに集中し、スコープ「外」であるものをすべて無視することで、多くのムダを省けます。スコープ「内」にあるものから、すべてのハイレベルなユーザーストーリーが流れてくるのです。
また、スコープに入るはずのものが、何らかの理由(通常は時間とお金)でスコープに入っていないこともよくあることです。こういったものは後回しにするよりも、今解決したほうが良い結果を生み出します。
これはまさに「やること(Big rock)」を選択するスコープ設定練習になります。ここで述べられていることはすべて「このプロジェクトの一環としてやるべきことであり、選びぬかれたやるべきことさえやれば大丈夫だろう」ということです。
5. ご近所さんに会いに行こう
プロジェクトのコミュニティが想像以上に大きいことに気がつかず、危うくプロジェクトを失いかけたことがあります。誰もが自分と自分の所属するコアチームだけがすべてだと思いがちです。しかし現実には、ほとんどのプロジェクトが成功するためには、プロジェクトに日々参加している人たちだけでなく、さらに多くの人たちが必要です(大企業では特に)。
「とりまくプロジェクトコミュニティ」という質問は、本番リリース前に誰とあって関係を築くかを、あなたやチームに前もって考えることを目的としています。これは関係者に対する礼儀の問題だけでなく、彼らがあなたが求めるときに備えて準備し、必要なときにサポートできるようにするためののものでもあります。
6. 解決策を示す
チームを選ぶことはアーキテクチャを選ぶことと同じ意味を持ちます。なにかをはじめる前に、全員が解決策に同意しているかを確認する必要があります。
「技術的アーキテクチャ」によって、あなたが考えている解決策をチームに予告します。もし、このプロジェクトを特定のツールやアーキテクチャで解決しようと考えているのなら、前もって伝えておいたほうがよいでしょう。会社の標準アーキテクチャが急にでてきて驚かされるのは避けたいですよね。
また、すべての答えを持っていない場合は、これを機会に白状しましょう(問題ないですよ!)。チームに知ってもらいましょう。
7. 夜も眠れなくなる問題を尋ねる
プロジェクトでは、さまざまなことが起こりえます。対処できることもあれば、そうでないものもあります。この質問によって、心配する価値のあるリスクを特定し、そうでないリスクには心配しないようにします。
例えば、経済の崩壊を防げませんし、顧客がエンジニアリングの技術担当副社長に昇進するのも防げません。だから、気にしないでおきましょう。
一方で、専任のチームメンバーの確保は、あなたが管理できて戦う価値がある問題です。
この質問は、プロジェクトが開始する前に、クレイジーさを訴え、このプロジェクトを成功させるために必要なものを求めて戦うチャンスなのです。要求したものがすべて手に入るとは限りませんが、要求して損はないのです。
8. サイズを調整する
「どれぐらいの大きさなんだろう?」という質問は、「パンの箱よりも大きいですか?」に答えるようなものです。このプロジェクトに何日かかるか、前もって正確に言えないものです。しかし、だいたい3ヶ月、6ヶ月、9ヶ月のどれになるかぐらいはわかります。
この質問を行うには、高レベルのストーリーの計画と見積もりが必要です。やらないことリストが役に立つでしょう。そして、少なくともステークホルダーに、このプロジェクトがどれぐらいの規模なのか、チームからは何が見えているかを知らせるために、いくつかのハイレベルな数字を考え出す必要があります。
ここで重要なのは正確さではありません。このプロジェクトが、あなたの持っているリソースで少しでも実現可能かどうかを判断するのが目的です。
9. 何を犠牲にするか明確にする
すべてのプロジェクトには、スコープ、予算、時間、品質といったレバーがあります。このうち、どれが最も重要で、どれが柔軟に対応できるのかを、事前に把握しておくとよいでしょう。
あるプロジェクトにとっては、予算がすべてです。時間(納期)が重要なプロジェクトもあります。
いざというときに、(希望する)スコープで融通がきくのか、それとも日程に余裕があるのがわかるように、前もってこの話をする必要があります。
もうひとつ話し合うべきことは、「このプロジェクトを成功に導くために必要なもの何か」です。それは使いやすさでしょうか? シンプルさでしょうか? スピード? 柔軟性? 安全性? これらを書き出し、プロジェクトをスタートする前に全員のレーダーに映るようにします。このような高レベルの目標は、物事が暗くなったときの道標になります。
10. 必要なものを示す
この質問は、すべてのステークホルダーが数多を悩ませる次の質問。すなわち、このプロジェクトにどれくらいの時間と費用がかかるのか? です。
販売前のプロダクトであれば、予算がすでに決まっているかもしれません。この場合、このプロジェクトが与えられた条件下で可能かどうかを、簡単な予算案を立てて確認するだけで住みます。
また、このプロジェクトを成功させるために、どのようなチームが必要化を示すチャンスでもあります。チームの規模、スキルセット、実現に必要なクロスファンクショナルスキルの組み合わせなど、ここで期待値を設定できます。
大切なのはバスに適切な人を乗せること
プロジェクトのインセプションデッキは、魔法ではありません。単に、適切な人々を部屋に集め、厳しい質問を行い、その結果をステークホルダーやチームの皆と共有するものでしかありません。
完成までには数日から1〜2週間かかることもあり、通常は3〜6ヶ月の計画に役立ちます。しかし、プロジェクトに対する最初の期待値を設定するためには貴重なツールであり、チームやプロジェクトがどういったものであるかを関係者に思い出させるツールでもあります。
よって、次のアジャイルプロジェクトをはじめる前に、最初に厳しい質問をして、すべての関係者の足並みを揃えておくようにしましょう。そうすれば、あなたはプロフェッショナルとみなされるようになり、最初のコードが書かれる前からプロジェクトを成功に導けます。
翻訳後記
最近、立て続けにインセプションデッキの相談を受けています。これは偶然でしょうが、さまざまな現場で、チームの立ち上げや共通認識づくりに苦労されているのだと思います。
書籍『アジャイルサムライ』のブームによって、インセプションデッキは市民権を得て、各種ブログや記事、スライド等で詳しく解説されてきましたが、Jonathanのブログはわかりやすく、読みやすく、はじめやすい内容になっています。まさに、インセプションデッキをこれからはじめて作る現場にぴったりなのではないかと思います。
インセプションデッキをより深く学びたい方向けに、Jonathanはトレーニングコースも提供しています。Udemyでも「The Agile Inception Deck」コースを公開しているので、あわせてご確認ください。
PS・・・明日は令和版のインセプションデッキを公開予定です。お楽しみに。