要件定義とは何か?MECEとの関係や、要求定義との関係を解説します
目次
はじめに
システム開発、ソフトウエア開発の工程において一番最初に行うのが”要件定義”と言われています。この記事では”要件定義はどういうもので、なぜ重要か?どのように行えば良いかなどを筆者の経験も交えて解説したいと思います。
ポッドキャストでも話をしています
↓
以下をクリックしてお聞き下さい
この記事で知っていただきたいこと
以下の2点になります
①要件定義とは何かを知ること
②要件定義の具体的なやり方を知ること
要件定義とは?
- システム開発、ソフトウエア開発を行う上で必ず必要な工程で、それも開発の最初に行うのが一般的です。システムエンジニアといわれる方はこの仕事を行う必要があります。
- システム開発プロジェクトを始める前に、どのようにシステム開発を行っていくかを決めるのが要件定義になります。具体的には、システムに必要な要求や機能をわかりやすく、かつ漏れなく無駄なくまとめていく作業のことです。
- 上記”漏れなくだぶりなく行う”ことを英語の略語でMECEといいます。MECEとは、Mutually Exclusive and Collectively Exhaustive の略で、元の文を訳すと、相互にダブりが無く、完全に漏れが無い という意味になります。日本語では通常順番を逆にして”漏れなくダブりなく”と言ってます。
- システム開発をする側に対して社内案件ではなく”お客様”=クライアントが外部にいる場合は、クライアントの要望をまとめた要求仕様書というのをクライアントから頂くのが基本です。その要求仕様書に基づいて、お客様の要望をどのように叶えるのかを文書としてまとめる作業が要件定義になります。
- なお、お客様が仕様書を書かない場合も少なからずあります。というのはお客様側が文書を書くことに慣れていない場合です。そうした場合は、お客様=クライアントにヒアリングをして要望をお聞きした上で、要件定義を行う必要があります。
- システム開発において要件定義は極めて重要な工程です。IT分野で発生するトラブルのうち、実に40%くらいは要件定義があいまいだったことによると言われています。
要件とは?
要件定義という言葉にとことん拘ってみましょう。要件、システム要件、要件定義、それぞれどういう意味なのかまとめてみました。
要件:重要な用件や大切な用件、必要な条件のこと
システム要件:あるシステムに必要な機能、要件のこと
要件定義:システムに必要な用件=機能や性能を明らかにしていく作業のこと
要求定義と要件定義の関係
この内容を混同している方が大変多いです。実は分かったうえであえて混同している人もいるかと思います。ここでは厳密な要求定義と要件定義の関係について、基本を説明しておきたいと思います。
利用者、発注者=クライアントが行うべき仕事
クライアント側が作成するのは”~したい”という利用者としての希望要望をまとめます。ビジネス、事業で何が必要なのかを記述していきます。
事業運用を考えて必要なこと=要求を洗い出していきます。どこまでクライアントが意識するかは別として、システム物なので、コンピューターシステムに対する要求になります。
クライアントから要求仕様書を頂いて受注側が行うべき仕事
になります。受注者側が作成するのは、”~が必要”ということになります。システムとしてクライアントからの要求にこたえるためには、何をしなければならないかを記述していくのが要件定義になります。
例えば、システム機能や、メモリ容量、通信機能等の利用法も記す必要があります。
要件定義は、繰り返しになりますが、システム開発における上流工程に位置づけられる仕事です。
そういう点では、様々なプログラミングなどの経験、プログラミング言語などの経験も役立つ場合がありますが、要件定義という仕事は必ずしもシステムエンジニア、プログラマが行うとは限りません。
プログラマでない人も要件定義を行うことは可能です。
ただし、今まで記してきたように要件定義をするためにはち密に内容を分析するといった能力、論理的思考力が求められることになります。
まとめ
今回は、要件定義とは何かという観点について記しました。別の記事では、要件定義の流れや、さらに具体的に要件定義で行うことについて解説していきます。
ハートテクノロジーズ株式会社では、システム開発・要求仕様・要件定義・設計などについてのお困りごとをお聞きする30分~60分くらいのオンライン無料相談会を実施しております。
もしご希望の方は、以下の問い合わせフォームの”問い合わせ”欄に【無料相談会希望】と書いていただき、かつ可能であれば現在のお困りごとを書いていただければ幸いです。折り返しご連絡させていただきます。以下をクリックしてお申し込みくださいませ。
関連記事
↓
ハートテクノロジーズ株式会社では、この記事にあるような要件定義の仕方、さらには要件定義含めてシステム開発を行なうためにはどのようなステップを踏んだら良いかなどについて御社の課題に即してご説明したり、具体的なプロジェクトを回すご支援もしております。ご興味・ご関心ある方はお問い合わせいただければ幸いです。
↓
次の記事へ