青森県在住の元PG、元SEの新米ITコンサルタント

要件定義―自分で実現したい内容を自分の中で合意する―

»

 はじめまして、私は青森在住の元SEで現在はITコンサルの仕事をしています。開発にかかわったプロジェクトは、CTRONの制御装置から、某携帯キャリアのWebコンテンツ開発、公共向けシステム開発、民間向け販売管理システムなど、いろいろありますが、現在は、ITコンサルタントとしてプログラムを書くこともだいぶ減ってきました。

 今回のコラムでは、Webアプリケーションを開発しながら、過去の開発プロジェクトで苦労した点などを棚卸しして、皆さんにお伝えしたいと思っています。

 まず、一般的な受託開発SEのプロジェクトの最初の仕事(工程)は、要件定義です。某大手メーカーでは、共通フレーム2007やITILなどの規格に沿って自社の手順を確立し、その手順にのっとって作業をします。しかし、本コラムでは分かりやすい開発手順を書き上げたいため、より実践的な内容を書きたいと思います。要件定義は、簡単に説明するとお客さまが実現したい内容を定義し、合意する工程となります。

 今回は、一人漫才のようですが、お客さんは私、開発業者も私なので、自分で実現したい内容を自分の中で合意できれば完了となります。

 それでは、具体的な要件定義の手順を紹介します。

 お客さんから「顧客にアンケートを毎月実施するときに、今までは往復ハガキやFAXを使っていたんだけど、なんかいい方法はないかなぁ。往復ハガキだとハガキ代もばかにならないし、確認したいアンケート内容も限られちゃうんだよね。それで、FAXに変えてみたんだけどお客さんにFAX代金を負担させてしまうことになるし、コンピュータを使って何とかならない?」なんて話を営業担当が聞いて商談開始となります。

 話を聞いた営業担当は会社に戻ってシステムエンジニアに相談した結果、アンケート用のアプリケーション開発を提案することになり、お客さんを訪問し要件の確認(=要件定義)を実施することになります。要件の確認の担当は、営業が実施したり、開発が実施したり、一緒に実施したり、会社によってまちまちですが、契約前作業になるので作業の責任は営業担当となります。

 お客さんを訪問し、提案および要件の確認を実施します。

―――

開発業者:

これまで郵送やFAXで実施していたアンケートですが、先日聞いたお話を検討した結果、Webブラウザを利用したアンケート方法にすることにより、通信コストを抑止し、さらにアンケートの発送作業・集計作業が簡潔になります。

開発費用については、具体的に内容を詰めてからの提示となりますが、これで話を進めてみませんか?

お客さん:

費用が分からないと何ともいえないが、検討してみる価値はあるかも。また、当社が先進的なことを実施していることを当社の顧客にアピールできるかもしれないしな。

開発業者:

それでは細かい話をお聞きする前に、当社の提案が実現できるか1点確認させてください。御社のアンケート送付先の顧客には、インターネット接続されたパソコンがありますか?

お客さん:

多分あると思うよ。うちのお客さんはすべて携帯電話以外の電子メールアドレスを登録してもらっているから。大手との取引はWeb-EDIが当たり前になっているからインターネットなしで商売はできないと思うよ。

開発業者:

では、細かい話をこれからお聞きしたいと思います。

……

 その後、お客さんとやりたいことを整理した結果、以下のような要件の定義となりました。

  1. 1回のアンケートで最大100問まで設問を設定できること。
  2. 設問の回答方法は、単一選択、複数選択、自由入力が設定できること。
  3. 単一選択および複数選択の選択肢は、最大20個まで設定できること。
  4. 単一選択、複数選択を設定した場合は、そのほかとして自由入力欄を追加できること。
  5. 自由入力欄は50文字まで入力可能とすること。
  6. アンケートのURLを電子メールで配布できること。
  7. アンケート配布先の顧客名および電子メールアドレスをCSV形式で登録できること。
  8. アンケートの配布先および電子メールアドレスをCSV形式で取得できること。
  9. 前回以前に実施したアンケートの配布先に対して別のアンケートを配布できること。
  10. 配布されたアンケートに対して回答ができること。
  11. 同一のアンケートに複数回の回答ができないこと。
  12. 回答を途中で中断した場合は、次回のアクセスで中断した設問から回答できること。
  13. アンケートの集計結果を画面で確認できること。PDF出力ができること。
  14. アンケートに未回答の配布先に対して、電子メールが送付できること。

 要件定義が完了した後は、開発工数を積算し見積書の提示となります。今回の案件についての見積もり工数については、同業他社の手前もあり本コラムでは記載しません(聞きたい人は直接ご連絡ください)。

 今回は、お客さんは私、開発業者も私なので見積もりに合意し契約となったことにします。ですが、大概はここで値引き交渉となり、必須以外の機能を減らしたりします。小さい会社で資金繰りに困ってたりするとお客さんの言い値で契約しちゃうときもあったりします。

 それでは次回は、基本設計について書きます。

Comment(2)

コメント

Jitta

面白そうですね。これからの展開に期待しています。

 一点、気になりました。

> 契約前作業になるので作業の責任は営業担当となります。
 営業さんは、どれくらい話を詰められるのでしょう?(詰められる設定なのでしょう?)
過去、営業から回ってきた話と、実際にお客さんと詰めた話の乖離に苦労した経験が山ほどあるので。
例えば、「1回のアンケートで最大100問まで設問を設定できること。」となっていますが、対象のお客様(返答して下さる数)がどれくらいあって、各設問の文字数は最大どれくらいで、1年に何回くらいアンケートを行って、それをどれくらいの期間保持しておくのか。それによってデータベースの規模が変わってきます。最近なら、アンケートを行うシステムを自社内に構築するのか、クラウドを利用するのか、といった所も関わってくるのでしょうか。

川浪

ばたばたしていてレスが遅くなってしまいました。
コメントありがとうございます。

>過去、営業から回ってきた話と、実際にお客さんと詰めた話の乖離に苦労した経験が山ほどあるので。
>営業さんは、どれくらい話を詰められるのでしょう?(詰められる設定なのでしょう?)

営業さんそれぞれで違うのでなんとも言えないです。
スクラッチ開発に限定すると、営業さんが最近までSEをやってた場合なんかはブレが少ないですね。10年前ぐらいにSEをやっていて浦島太郎になっている場合は、ちょっとまずいパターンかもしれないですね。あと、SE経験が無い根っからの営業さんの場合は、一緒に話を聞くパターンが多いと思います。今回の設定としては、一緒に話を聞くパターンで考えていました。

>例えば、「1回のアンケートで最大100問まで設問を設定できること。」となっていますが、対象のお客様(返答して下さる数)がどれくらいあって、各設問の文字数は最大どれくらいで、1年に何回くらいアンケートを行って、それをどれくらいの期間保持しておくのか。それによってデータベースの規模が変わってきます。

上記指摘ありがとうございます。要件の確認漏れでした。
ですが、郵送やFAXで実施していたアンケートなんてたかが知れています。
ディスクも1年間の運用で100Mbyteもあれば十分かと思います。

>最近なら、アンケートを行うシステムを自社内に構築するのか、クラウドを利用するのか、といった所も関わってくるのでしょうか。

上記の指摘もありがとうございます。
これも書いていませんでしたね。安いホスティングのサーバを使ってPHPかJavaで作ろうと思っていました。お客さんによってはホームページを持っていて、その場所に間借りして構築ができるパターンもあります。

コメントを投稿する