要件定義、ちゃんとしてますか??

要件定義には開発しようとしている対象が何か、そのために何をする必要があるのかを明確にする役割があります。

ではもし要件定義がされないまま開発を行うとどうなるでしょうか?

まずは次の問題を解いてみよう!

本題に入る前に皆さんは以下の問題が解けるでしょうか??

問題1
太郎さんは毎日家から1500m先の学校まで歩いて通っています。いつも到着するのに30分かかるとのことです。ある日太郎さんは8時ちょうどに家を出ました。しかし、お母さんが太郎君の忘れ物に気づきます。車を持っていないのでタクシーで追いかけようとします。8時15分にタクシーに乗って時速30kmの速さで学校まで向かいました。実際に太郎君が忘れ物を受け取ったのは何時何分でしょう?

少し考えてみてください。

……

………

いかがでしょうか?

おそらくこんな回答になったのではないでしょうか?

太郎君の歩く速度は 1500(m) / 30(分) = 50(m / 分)
タクシーの速度は分速に直すと 30(km / 時) / 60(分) = 500(m / 分)
なので2人の速度の差は 500 – 50 = 450(m / 分)。
8時15分現在太郎くんとの距離の差は 50(m / 分) × 15 (分) = 750(m)なので
差がなくなるのにかかる時間は 750(m) / 450(m / 分) = 5/3(分) = 1分20秒。
つまり合流するのはお母さんが出発してから1分20秒後なので16分20秒。

では次の問題はどうでしょうか?

問題2
雄太君は太郎君と同じ学校に通っています。ある日雄太君はいつも通りの時間に家を出ましたが、しばらくしてお母さんは雄太君が忘れ物をしている事に気づきました。それはその日の授業で使うものでなんとしてでも届けなければなりません。雄太君が実際に忘れ物を受け取ったのは何時何分でしょうか?

……

………

どうでしょう?

聞くまでもないですが。

決してバカにしているわけではありません

ふざけた問題のように聞こえたかもしれませんが、実際のビジネスで起こりえていることです。例えばこんな感じに。

「最近弊社の売り上げが好調だった時期と比べると2割ほど下がっていることがわかった。そこで売り上げを改善させるためにCRMを導入することに決まった。開発チームは3ヶ月後に運用ができるように準備してくれ」

このようにビジネスの話にすり替えると途端に違和感がないように聞こえます(あなたはそうではないと思いたい)。ですが言っていることは問題2とほとんど同じです。3ヶ月後はおろか、開発すらできませんよね。

先ほどの問題だったら普通
「雄太君が家を出たのはいつですか?」
「忘れ物に気づいたのはいつですか?」
「家から学校までの距離はどのくらいですか?」
など色々聞くでしょう?もしあなたが鋭い人だったら
「電話して呼び戻すこともできそうですが雄太君は携帯電話を持ってますか?」
なんてことを聞くかもしれません。

それが要件定義です。要件定義をしていないということは問題文が問題になっていないのと同義です。

どんなプロジェクトでもちゃんと要件定義をしよう

クライアントは認識していないことが多いですが、ソフトウェア開発を依頼するにあたり課題背景があり、解決策があり、そのための要件が既にあるはずです。それをクライアントからあれこれ手を使って聞き出して整理しましょう。

どんな開発手法を使っていても要件定義は必須です。アジャイル開発だから不要なんてことはありません。スコープの管理方法が違うだけです。

今まできちんと要件定義をやってきてこなかった人はこれを頭に叩き込んでおいてください。

要件定義をしていないということは問題文が問題になっていないのと同義である

P.S

ですが要件定義は簡単な作業ではありません。与えられた課題に対して「何故?なぜ?」と追求していくことに慣れていないと大変でしょう。また、きっちりトレーニングを積む必要があります。
要件定義ができるようになりたいと思っている方はこちらを試してみませんか?

P.P.S

問題1の答えはこちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA