見出し画像

要件はどのくらい詳細に書くべきか🤔

エンジニアに要件を伝えるとき、どの程度詳細に伝えるべきか、どの程度詳細に伝えるのが一般的か、という質問をよく受けます。
ちょっとまとめてみます。
※要件を伝える側向けに書いてます。


目的は、期待する成果物を得ること

要件をエンジニアに伝える目的は、
エンジニアに為すべきことを理解してもらい、
その結果、期待した成果物が作られることです。

そのため、要件に情報が含まれていなかったことが理由で、
期待した成果物ではないものが作られたときは、
要件を伝えた側の失敗、
と考えるのが適当です。

ここから考えをスタートするのが重要です。
他責ではなく自責です。

要件を伝えた側は
「確かに要件には書かなかったが、普通は○○とするのではないか、、」
と、考えたくなります。
(私もそういう場面では、そのように考えたくなります🫠)

しかし、「普通」なことを書かなかったことが原因で
期待した成果物が作られなかった、
と受けとめると先に進みやすくなります。

「東京のおじさん」

東京におじさんは何人いるんだろう

日常のコミュニケーションで、
親戚と話すときは、
東京のおじさん にこの間、会ったよ」と言い、
会社の同僚と話すときは
妻の母の弟さんが東京に住んでいて 、その人と先日会ったんです」と言う、
ということは自然に行っていると思います。

日常のコミュニケーションでは、
どんな言い方をすれば相手に伝わるか、を考えて表現を変えます。

つまり、
「東京のおじさん」で伝わる相手も居るが、
「妻の母の弟さんが東京に住んでいて」と言わないと
伝わらない相手も居る、ということです。

相手によって適切な表現は変わる、ということが重要です。

とりやすいボールを投げる

がんばらないと取れないボールはNG

「東京のおじさん」で伝わる人に、
わざわざ「妻の母の弟さんが東京に住んでいて」と言う必要はありません。

一方、「東京のおじさん」では伝わらない人に、
「東京のおじさん」と言っても、当然、伝わりません。

エンジニアに要件を伝える場合も同様です。
そのエンジニアに理解してもらうにはどんな表現が適切か、を判断して、
表現を選ぶ必要があります。

まとめ

  • 要件を伝える目的は、期待する成果物を作ってもらうこと。

  • 要件が適切に伝わらないと、期待する成果物は出来ない。

  • 要件を適切に伝えるためには、適切な表現をする。
    しかし、適切な表現は相手によって変わる。

要件を伝えるとき、まず大切なのは、この三つだと考えています。
特に、「適切な表現は相手によって変わる」ということを強調したいです。


効率よく要件を表現し伝える方法やツール、また、ペアプログラミングやコードレビューなど関連したり間接的に要件を伝える手助けになる手段は、たくさんあります。また、その中には効果が高いものも少なくありません。

例えば、相手と初めて仕事をする場合など、
どんな表現が適切か判断できないとき、イテレーティブな開発スタイルを採用し、試行錯誤のコストを低くした上で、適切な要件の伝え方を探る、という戦略もあり得ます。

また、チームを作るときに、要件の伝わりやすさを考慮することもあるでしょう。

それらの話はまた別の記事で書いてみようと思います。

この記事が参加している募集

PMの仕事

この記事が気に入ったらサポートをしてみませんか?