Posted at

よい要件定義は個別の実装を上回る価値がある(かもしれない)。

技術を開発しようとするときは、どう良い開発要件の定義をできるかだ。


重要な理由


  • 開発の目的・ゴールに対して影響する。

開発の目的が組織の中で共有されることによって、組織の中で必要な協力を得られる体制を作ることにつながる。



  • 何が実現できれば価値があるのかを明確にすること。

     適切な要件定義は、そのゴールを達成すれば、価値があると判断されていることを示している。

     例えば、自動車会社が歩行者検出に対して示した次のデータセットは、何を実現すれば

    価値があるのかを示しています。

    http://www.gavrila.net/Datasets/Daimler_Pedestrian_Benchmark_D/daimler_pedestrian_benchmark_d.html


    • 適切な要件定義は、ゴールを明確にします。
       何を実現すべきなのかを示すとともに、何を実現したら開発を打ち切れるのかも示します。
       どこまでの性能が必須なのかを示さない場合には、開発を打ち切ることができません。
       開発を継続するには、多大なリソースを必要とします。一人の技術者が1年間従事し続けるだけで、その給料や社会保険料や間接部門に関わる費用なども含めたコストが発生します。
       ですから、どこまでできたら十分なのかを示し、次の段階に引き継げることが必要になります。

    • よい要件定義は、本当に必要なことを言い切るので、無駄をそぎ落としてあって、何を開発すれば十分なのかを明らかにしてくれます。




悪い要件定義


  • 本当に必要なものを反映していない。そのためにその内容を達成しても、なんら価値を生じない。

  • 無駄に実現の可能性を損なう要因を加えている。その要因を取り除けば、実現が容易になり、しかも製品・サービスとしての価値を損なわない場合がある。

  • 悪い要件定義は、開発者に対して実現の手法に対して無駄に制約を増やしてしまいます。

  • 無意味な束縛を減らせば問題を解決しやすいように定義し直すことができます。

  • それによって実現可能性を高めることができるし、必要なハードウェアリソースを減らすことができます。

  • 悪い要件定義のままにしておくことは、その業務の推進を難しくします。

  • 悪い要件定義のままにしておくことは、その開発要素を含むプロジェクト全体の状況にも影響します。


「良い」研究とは? (引用元 http://ibisml.org/ibis2018/files/2018/11/kanade.pdf)

カーネギーメロン大学故アラン・ニューウェル(AllenNewell)教授

“Good science responds to real phenomena or real problems.”良い科学は現実の現象、現実の問題に応答する。

“Good science is in the details.”良い科学はちょっとしたところにある。

“Good science makes a difference.”良い科学は差を生む。つまりインパクト

https://www.cs.cmu.edu/~hzhang/Newell.GoodScience