システム開発には様々なフェーズがあります。プログラムを組むだけではなく、どんなシステムを作るのか設計する設計フェーズや、作ったシステムが正しく動作することを確認するテストフェーズがあります。その一番最初のフェーズにあるのが「要件定義」というフェーズです。
この要件定義はプロジェクトによって中々進行しないことがあります。要件定義フェーズが遅れに遅れたけど、システムそのものをオープンさせる日程は変更されず、後に続くフェーズを担当する人達が地獄を見るという話はよく聞く話です。
この要件定義というフェーズは誰に責任があり、要件定義フェーズの遅延は誰が悪いのかについて考えてみます。
要件定義とは
システム開発における要件定義とは、システムに備わる機能をどんなものにするのかを具体的に検討する前に、そもそも何のためにシステムを必要としているのか、満たさなければならない利用者の要求は何なのかを明確に定義するフェーズです。
注文住宅で言えば、具体的に屋根や壁をどういったものにするのかを検討する前に、
- マンションにするのか戸建てにするのか
- その家には何人で住むのか
- 駅からの距離はどれくらいの土地を用意するのか
- 駐車場は何台分必要なのか
このような「満たさなければならない要求」を明確にしていくのが要件定義です。当然のことながら業者側で一方的に要件定義の内容を決定することなどできませんので、必ず利用者側も要件定義フェーズでは深く関わることになります。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
要件定義が進まない時
では要件定義が進まない時というのは、そのプロジェクトではどのようなことが起きているのでしょうか。その内容を端的に表現したツイートがありますのでこちらをご覧ください。
ラーメンの注文で例えていますが、要件定義が進まない時というのは正にこのツイートと同じような状況が実際のプロジェクトでも発生しています。
これをご覧になった皆さんは、お客さんとラーメン屋さんのどちらに問題があると感じましたか?この記事の先に進む前に、ぜひ一度ご自分でも考えてみていただけたら面白いと思います。
どちらが悪いと感じるかは人それぞれ
上記のツイートへの反応の非常に面白いところは、「お客さんが悪い」「ラーメン屋さんが悪い」という意見が、人によって全く異なるところです。同じ現象を見ているのに人によって受け取り方が全く違うのです。
お客さんが悪いのか、ラーメン屋さんが悪いのか、どちらが正解ということはありません。どちらにも一定の理があるから意見も様々に分かれるのだと思います。
このツイートはラーメンの注文の場面で例えていますが、これと同じことは実際のプロジェクトでも起きてるんですよね。プロジェクトの要件定義が進まない時に、顧客側の立場に近い人だと「開発会社が悪い。もっと顧客に寄り添った提案をしろ」と言うことが多いですし、開発側の立場に近い人だと「顧客が悪い。さっさと決めるべきことを決めてもらわないと先に進めない」と言います。
どちらにも自分の正義があるので、自分の正義だけを相手にぶつければここで衝突することになります。そしてコミュニケーションがうまくいかずに、要件定義が全く進まずに頓挫してしまうのです。
顧客は真剣に要件定義に取り組むべき
要件定義は顧客(利用者)も深く関わる必要があります。どんなに開発サイドの人間が手取り足取り色々と提案をしたとしても、最終的に意思決定をするためには顧客にも真剣に考えてもらう必要があります。
上記のツイートだと、ラーメン屋さんから「何ラーメンにします?」と聞かれていることに対して、何一つ正面から答えていませんよね。何ラーメンを作るのか決めなければならないのに、これだと先に進むことができません。実際のプロジェクトでも同じことは度々発生します。
顧客側からすると、選択肢としてどんなラーメンがあるのかわからずに意思決定ができないのかもしれません。何を作るか決められないけど、迫りくる時間へのプレッシャーから、いつまでに作るのかばかりを気にしているのかもしれません。
色々と言い分はあるにせよ、わからないことがあるのであればラーメン屋(開発会社)に聞くべきですし、真剣に考えているのであればわからないままスルーして意思決定しないということはやらないはずです。
要件定義をうまく進めるためには、顧客側も要件定義に正面から取り組んでいただく必要があります。
実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>
業者は顧客の立場にたってコミュニケーションするべき
要件定義は最終的に顧客に意思決定してもらう必要があることは間違いありません。その意味から、私は要件定義の最終的な責任は顧客側にあると考えています。
しかしだからといって一方的に「顧客が決めてくれない」とぼやいているだけでは、専門家としてその仕事を請け負っている意味を考え直さなければならないかもしれません。
お客さんが何ラーメンにするのか決めてくれないのであれば、いつまでに決めてもらわないと希望する時間までに間に合いませんよということを伝える必要があるかもしれません。お客さんが決めやすいように、こんなラーメンがありますよと選択肢を提示したり、おすすめを提案したりする必要があるかもしれません。
それでもあらゆる手を尽くしても顧客が真剣に取り組んでくれないということであれば、そのまま進めてもそのプロジェクトが成功することは絶対にありませんから、「うちのラーメンはお客さんには売らないよ」と、そのプロジェクトから撤退するという選択も、プロとしての最終的な責任です。
まとめ
何かの物事がうまく進まない時に、悪いのは「顧客or業者」の二者択一で考えてしまうことも多いですが、一方的にどちらかだけが悪いケースばかりではないようです。上記のツイートの反応を見ればそのことをご理解いただけるのではないでしょうか。
私自身、今回の自分のツイートへの反応を見て色々と学ぶものがありました。要件定義(その他のことでも)がうまく進まずに「相手のせいだ」と考えている人がいたら、ぜひ一度今回ご紹介したツイートを思い出していただけたら幸いです。
※アクシアでは要件定義からのシステム開発、あるいは要件定義のみのご支援も行っておりますので、お困りの企業様はお気軽にお問い合わせください