• 締切済み

要件定義プロセスの重要性につきまして

「システムの欠陥のほとんどは、要件定義プロセスで埋め込まれている」と言われているのは なぜでしょうか? V字モデルでは要件定義でのバグの埋め込みはユーザ受入テストまで検出されないため、 システム開発の後半にバグが検出されると手戻りが大きくなるという問題は理解できますが、 「要件定義プロセスで"埋め込まれている"」と言われていることの理由がわかりません。 当然要件定義は開発の冒頭なのでイメージとしては理解できますが、具体的に教えて ください。よろしくお願い致します。

みんなの回答

noname#208507
noname#208507
回答No.4

『「システムの欠陥のほとんどは、~ 具体的に教えて ください。』 こう定義されたの要件に対して、少なくとも四つの回答があり、全て異なっている。 この中に「自分が欲しい回答と違う」と思うものがあれば、それが具体例である。

  • catpow
  • ベストアンサー率24% (620/2527)
回答No.3

私は仕事がプログラマですが、自分が使うためのプログラムを作ることもあります。 軽く設計して作ってプログラムが動きはじめたとき、以下のようなことが起こります。 1)できあがったプログラムを動かした瞬間に「こういう仕様のほうが良かった!」と修正したくなる。 2)こんな仕様であるなら、さらに○○の機能があったほうが使いやすいと追加機能が欲しくなる。 3)プログラムを動かすことで、本来の目的に役立つ要件がやっと理解できてきて、ゼロからやり直したくなる。 つまり、利用者として一番わかっている自分自身が、自分の為に要件定義し、プログラミングしても、要件定義の変更が起こるのです。 まあ、これは「バグ」「システムの欠陥」という言い方にはならないと思いますが、「要件定義プロセスの問題」であることは確かでしょうね。 そして、こういう問題が発生するのを防ぐことは出来ないと思います。 なぜなら、システムを作って欲しいと要望する人も、システムを受注して作る人も、何が「正しい要件定義」であるか誰も知らないのですから。 ですので、最近は、「とりあえず素早く動くものを作って、それを見て、再設計・再開発のサイクルを回す」なんていうアジャイルな手法が増えているのだと思います。 もちろん、理想は、最後までゆるがない「要件定義」が最初からあるほうが、開発はスムーズに進むと思います。 だから「要件定義プロセスが重要」っていうのは、そのとおりであり、そこに誰も知らない”問題”が埋まっているなら、開発後半でそれが判明するのは、当然の成り行きですね。

回答No.2

昔から、要件定義フェーズで要件一覧や、機能一覧を作っていく作業になりがちです。 結局、ユーザーが機能の中で何を求めているのか、本当に何がしたいのかをヒアリングできているつもりで、できていないのが原因の時があります。 そうなると、ユーザーテストや受入テストで、不具合として報告されたりするのです。

  • washi001
  • ベストアンサー率41% (158/380)
回答No.1

システムの利用者=ユーザー、システム構築者=メーカー として回答します。 ちなみに私はメーカーです。 簡単に言うと、ユーザーは、受け入れテストの時に初めてそのシステムにさわって、「思っていたのと違う」という後だしじゃんけんをしてくるわけです。 Web画面でいうと、「このボタンを押したとき、こんな画面が出ないと困る」とか、「ここにリンクがないとあれが出来ない」とか、しょーもない事が大半ですが。 この差分が、「欠陥」とされてしまいます。 ユーザー受け入れテスト時のユーザーからの指摘を、「欠陥」とされないために、メーカーは必死に要件定義プロセスで要件定義書なるものを作成し、証拠として残そうとしますが、作りたいものを考える人(ユーザー)と、実際に作る人(メーカー)が違うので、そこに意思疎通の差分が生じて、最後まで残るわけです。 本当は、要件定義はユーザーが行うべきプロセスなのですが、実態は、ユーザーが要件定義書に何を書いたらよいのかわからないので、メーカーやコンサル会社が作成を代行し、要件定義書で合意を取る事が多いと思います。 V字モデル、といっても、ユーザーの要件定義は、その工程だけで終了するのではなく、後工程において出てくる成果物(画面やデモシステム、取扱説明書)などで、メーカーが随時、要件レベルを確認していくのが大事なのではないかと、私は思います。

関連するQ&A

  • 開発プロセス(プロトタイプ/スパイラル/インクリメンタル)

    システム開発プロセスについて整理しています。 整理した結果、以下のような理解をいたしました。 合っていますでしょうか。 ・プロトタイプモデル 「要件定義を行い、早期に試作品を作成してユーザの要求と開発側の認識に ずれがないか確認する」プロセスが含まれているウォータフォールモデルがベースの開発モデル。。 ・スパイラルモデル 独立性の高い機能をサブシステムに分解し、それぞれ要件定義、 設計、製造、テストを行いプロトタイプを作成する。 そのプロトタイプを顧客に見せ、フィードバックを得てから 再度プロトタイプを作成してゆく開発モデル。 ・インクリメンタルモデル システム全体の要求定義を行い、機能ごと製造~テストを経て段階リリースする開発モデル。

  • 要件定義が出来るようになりたい!

    システム会社の営業職に転職をして半年が経ちます。受託開発の仕事がメインですが今までプログラムも触った事もないので、お客様が話されていることを全く理解することができません。今、システムの流れなどを理解するために自分で、プログラムをかいてみようと考えております。どうすれば、要件定義ができるほどシステムを理解できるのでしょうか?

  • これを英語でなんと言うのですか?システムの要件定義・・・

    これを英語でなんと言うのですか?システムの要件定義・・・ 英語のインタビューなどで自分の職歴を説明する時、下記のことを伝えたいのですが、どのようにいえばいいのでしょうか? 〇 私はシステムの要件定義等に関わり、業務可視化、システムにするかしないかの切り分け、システム開発における要件定義にかかわりました。外部のベンダーがすぐに開発に着手できるようにして、システム構築部分で貢献しました。御社の業務でも貢献できると思います。 〇 要件定義、業務可視化、切り分け作業、など英語でどのように言えばいいのでしょうか? よろしくお願いします。

  • 仕様書?設計書?要件定義書?

    仕様書・設計書・要件定義書、これらの違いがいまいちパっとしないのですが、どう言う違いがあるとかんがえたらよいのでしょうか? 要件定義書は顧客の要求をまとめたもので、それに基づき作成するものが仕様書と理解していますが、仕様書と設計書の違いとはどのような違いでしょうか? 境界の目安がわかればおしえていただけるでしょうか? また、システム設計書と外部設計書の違いもいまいちわかりません。 教えてください。 よろしくお願いいたします。

  • システム企画について

    システム開発におけるシステム化計画、要件定義とソフトウェアライフサイクルにおける 企画プロセス、要件定義プロセスは同じものでしょうか。システム開発=ソフトウェア開発 と考えてよいのですか。 テキストでは、ストラテジ系とマネジメント系に分かれて書かれていたので、混乱しています。 宜しくお願いします。

  • システム開発について

    システム開発におけるシステム化計画、要件定義とソフトウェアライフサイクルにおける 企画プロセス、要件プロセスは同じものでしょうか。 システム開発=ソフトウェア開発と考えてよいのでしょうか。 テキストでは、ストラテジ系とマネジメント系に分かれて書かれていたので、 混乱しています。 宜しくお願いします。

  • サーバ構築の要件定義書の作成方法

    サーバ(ファイル、DB、メール等)構築、もしくはネットワーク構築の要件定義書の書き方など初心者向けの書籍、サイトなどはありますか? 未経験ネットワークエンジニアで社内インフラ担当に配属され、給与システム導入のため、WEB、DBサーバを構築することになりましたが、段取りとう勝手がまったくわかりません。「要件定義」だとおもにプログラム、システム開発についてはよく見るのですが、ネットワーク構築、サーバ構築の提案書、要件、仕様書、基本仕様、詳細仕様などの手順、流れ、書き方などの勉強方法がわかりません。 実践あるのみ、なのかもしれませんが、参考になるものがあれば教えてください。どうぞよろしくお願いいたします。

  • 要件と仕様の区分けについて

    現在、外部にシステム開発を委託しています。 委託先と当社の役割分担として、業務要件の提示は当社、システム要件定義以降は委託先と決めていますが、どこまで当社の側から業務要件として提示すべきか、委託先と揉めています。 具体的には、「画面・帳票をどんなレイアウトにしてどんな文言(出力する項目ではなく、項目を出す欄のタイトル)を出力するか」は、要件なのか仕様なのかです。(仕様であれば、外部委託先が案を当社に提示して合意するというプロセスになる) 当社の考えとして、レイアウト、文言にこれでなくてはいけないというものがない限り、要件ではないと考えており、どんなレイアウトにして、タイトル文言はこうするというのは、外部仕様として委託先から提示を受けたうえで合意するという流れを想定しています。 要件と仕様の定義・区分けは、一般的にはどのように考えればよいか、ご教示ください。

  • アプリの検証方法について、お願い致します。

    現在、アプリをアウトソースで作成して頂いています。 もうそろそろアプリが開発できて、 こちらでそのアプリに問題がないか検証しなくてはいけません。 そこで (1)よく利用する手法で、アプリにバグがないか、要件定義書通りに開発してくれたか チェックする検証方法や検証プロセスを教えて頂けませんでしょうか。 (一般的にはレビューというのでしょうか・・・。) (2)アプリ開発時、OKを出す基準というものはあるのでしょうか? 以上、宜しくお願い致します。

  • UMLによるシステム設計について

    私はSIerの新入社員です。 システム設計について勉強しています。 特にウォータフォールモデルとUMLについてです。 今度、研修を兼ねて社内で使うツールの開発に参加することになりました。 ウォータフォールモデルに従って、要件定義から始めるのですが、 要件定義と外部設計の境界がわかりません。 要件定義書にはどこまで書くものなんでしょうか? あと、UMLの各モデルが、ウォータフォールモデルのどの工程に登場すべきなのかも今だわかっていません。 UMLのモデルについては大学で学びました。 しかし、それをウォータフォールモデルと繋げてイメージすることができません。 まず要求定義の工程ではUMLのどのモデルが出てくるのでしょうか? またユースケース文書はどの工程で書くのでしょうか? ↓私が想定しているユースケース文書です。 http://www.ibm.com/developerworks/jp/webservices/library/ws-tip-docusecase.html まとめますと、 (1)要件定義書にはどこまで書くのか(要件定義と外部設計の境) (2)ウォータフォールモデルの各工程にはどのUMLモデルが登場するのか (3)ユースケース文書はどの工程で書くのか(要件定義?外部設計?) 以上3つの質問です。 UMLはオブジェクト指向設計で用いると思うので、Javaのカテゴリで質問させていただきました。 会社によって設計書の書き方は大きく違うと思いますが、 「一般的にはこうしているはず」という話でも良いですし、 「うちの会社ではこうしている」という話でも良いですので、ぜひ教えてください。

専門家に質問してみよう