【はじめに】
皆さん、こんにちは。いつもの外人です。久しぶりに戻って来ました。今回はAIや機械学習とは少し離れて社会人もしくはSEとして持つべきのスキルを共有していきたいと思います。今回のテーマは要件定義です。ちなみに筆者はSE2年目でございます。(笑)
概要
SEの皆さんがよく知っているV字モデルです。開発においてこの流れはとても大事です。実際筆者がある企業でやる際いきなりコーディング&実装でしたのですごく困りました。
要件定義とは
システム開発において要件定義とはどういった機能を持つシステムをいつまでに、どういったスケジュールで作っていき、いつ納品するのかを顧客とシステム開発側で合意することです。その合意の内容をまとめたものが要件定義書となります。
つまり、要件定義は顧客が何が必要なのかを定義する段階でそれをどのように実現するのかは後の工程の話になります。
要件定義の工程で必要な観点
1.業務のフローの把握
実際定義する前に顧客の業務フローに何か問題はないのか、営業ツールはできているのかなどをある程度可視化する業務フロー図を作ります。そういったフロー図を基づいて最終的にどういったシステムを作ろうかを設定します。
これで既存のシステムの対応が可能になったり、新たなシステムを開発しなくてもいい状況になったりします。
2.ヒアリング
打ち合わせの際にどれぐらい顧客の要求、要件を正確に理解しているのかによってドキュメントの正確度(品質)にも影響があります。単に顧客の要件を理解することだけではなくその要件が今回作ろうとするシステムに必要なのか、提案した予算より低い金額でもっと立派なシステムが出来上がるのか、納期の時間が縮小できるのか、などこういった状況をきちんと共有することによって顧客側はもっと喜んでいるはずです。
3.スケジュールの設定
世の中のすべてのプロジェクトはこのスケジュールが大切です。いつかのうきなのかを確認し、各フェーズにどれぐらいの日数が必要なのか、などこの全体で来なマスタースケジュールがないとプロジェクトが失敗になる原因の一つになります。
4.ドキュメント
どのドキュメントも同じだと思うんですが、やはりドキュメントってそれを書いた人だけが見ることではないので誰が見ても筆者が理解した意味で理解できるドキュメントが完成度が高いドキュメントだと思います。プロジェクトって機関に関係なく事情が変わるのでいきなり新しい人が入っても混乱が発生しないようにすることがドキュメントのぞんざい理由だと僕は思っています。
まとめ
簡単な書類作成だと思うけどそんなに重要なの?と思っている方がもしいらっしゃいましたらその考えは綺麗に手に持って燃えるゴミに捨てて下さい。ただの書類が今後のプロジェクトの未来を決めます。それほどどのプロジェクトにも最初の段階はとても重要です。
【まとめ】
今回も足りない知識で何かを書きましたね。いつも思っている通りこの記事が皆さんに少しでも役に立つとそれで筆者を幸いです。もちろん何か間違えた部分があったら是非是非コメント残して下さい。見ますんで。ではでは、またお会いしましょう。