「ニーズを満たしたシステムを開発できるか不安」
「要件定義において重要なポイントを知りたい」
ONETECHはベトナム
オフショア開発で様々な業務システム(
システム開発、アプリ開発、ソフトウェア開発)を開発しています。
オフショア開発とは日本企業の
システム開発、アプリ開発、ソフトウェア開発を海外に外注(アウトソーシング)することによりコスト削減やシステム開発リソースの確保を行うことです。
今回は何回かにわたり
システム開発についての基礎的なことを整理しブログに寄稿していきます。
システムやアプリの開発を進めるうえで必要不可欠な工程が
要件定義です。
要件定義が疎かになると発注者のニーズや要求を明確にできず、システム開発で失敗するリスクがあります。
予算や時間などのリソースを無駄にしないためには、発注者が
要件定義のコツを知っておくことがオススメ。この記事では業務システムの
要件定義において大切な5つのポイントを解説します。

開発前にチェック!業務システムの要件定義で大切なこととは
システム開発の要件定義とは?
発注者の要求を明らかにして、
システム開発の目的を決定する工程が
要件定義です。実際のシステムを開発する前に
要件定義を行うのが一般的であり、開発者は要求から必要な機能や性能を分析します。
要件定義はシステム開発の方向性を定めるため、何となく実施してしまうと失敗する可能性が大きくなるもの。正しく業務システムを導入するには発注者が入念に準備してから
要件定義を始めることが必要です。
要件定義は最終的に
要件定義書という文書でまとめておきます。

そのため開発会社が公開しているテンプレートを活用して、効率的にRFPを作成することがオススメです。
要件定義と要求定義の違いは?
発注者が「このシステムを導入することによって何をしたい」かを定義することが
要求定義です。
要件定義は、
要求定義を基に「何をしたいかによってシステムを定義」することです。前者は非エンジニアが行います。
上流工程(
要求定義→
要件定義→基本設計→詳細設計)
下流工程(開発→テスト→完成) という全体の流れの中で、「
要求定義」は、
システム開発の
上流工程として最も重要で、そのシステムの品質を最も左右します。後者の要件定義はシステムエンジニアが行うのが一般的です。
要求定義は必要な機能を文章として書く
開発者に発注者のニーズを的確に伝えるには、求める機能をすべて文章に書くことがポイントです。文書にすることで要求が分かりやすくなり、コミュニケーションロスを抑えられます。
例えば、自社ホームページのアカウント登録に関連した要求を開発者に伝えたい場合、以下のように記述します。
● ユーザーはアカウント登録時に名前、性別、生年月日、メールアドレス、パスワードを入力
● 登録申請を受けたら担当者がスパムでないか審査したうえで承認
● 登録申請が承認されるとユーザーのメールアドレス向けに登録完了メールを送信
各機能ごとに要求を記述することで、開発者が発注者の意図を理解しやすくなります。
要件定義はシステム開発の上流工程
まずは
要件定義がシステム開発のプロセスの中でどの位置にあるかを把握しましょう。ウォーターフォールモデルでは文字通り「滝の流れで」開発工程をイメージします。システムの作り始める工程を
上流工程、システムを構築完了までを
下流工程と呼びます。
上流工程は
要件定義からシステム設計の工程です。
下流工程は仕様書をもとにコーディングをして、機能ごとにテストをする単体テスト、機能の関連を含め全体でテストを行う総合テストなどの工程を指します。システム開発は
上流工程が最も大事なのですが、
上流工程は
下流工程の経験がないと設計のイメージがうまくいかず成功しません。システムエンジニアのキャリアパスとして
上流工程を設計するSEやシステムコンサルタントが高給であるという傾向の理由はここにあります。
システム開発の要件定義のコツ
システムの開発において
要件定義するコツは5つあります。
- 要件定義する前に業務フローを整理する
- 発注者へのヒヤリングを行い機能を整理する
- 機能が必要であるということを伝える
- 機能を要求し過ぎない
- 要求にはない非機能要件を確認
それぞれのコツについて詳しく見てみましょう。
要件定義する前に業務フローを整理する
今では数多の企業が
業務システムを導入していて、既存システムの課題点を解決したいケースがよくあります。この場合は
要件定義の前に
業務プロセスやシステムを見直すことが重要です。これが
業務フローを整理するということです。
業務フローを整理する過程において会社のプロセスやシステムを分析することで、生産性の向上を妨げる問題を明らかにできます。この時点でまず
業務フローの見直しを検討し、無駄な業務は捨てるという決断が大切です。また発注者の要求を正確に引き出すには、業務の担当者や利害関係者とのヒアリングも必要です。この過程でこのシステムを導入することで利害関係者にもメリットがあるということを確認しておくことでシステム導入の際に導入をスムーズに進めることができます。
もちろん、システムを見直したり関係者から話を聞いたりするのはコストと時間がかかります。ただ、発注者の問題を解決できるシステムを開発するには、最初に
業務フローと既存システムとの関係など整理することがオススメです。
業務の流れをわかりやすく整理したいなら、
業務フローの可視化に役立つ図解ツール「Lucidchart」もおすすめです。クラウド上でフローチャートを簡単に作成・共有でき、チームでの認識合わせや業務改善にも活用されています。
業務システムとは何か?導入するメリットや実際の事例
発注者へのヒヤリングを行い機能を整理する
発注者は
システム開発についての知識が明るいとは限りません。
要求定義書で機能の洗い出しを行いますが、何度もヒヤリングし確認を行い、システムエンジニアの視点で機能を分析し整理することが必要です。具体的にはデータの処理やシステムの構造のフローに重複や無駄がないか、矛盾がないかをチェックします。また発注者の予算があるので機能ごとに優先度をつけて整理することも上ゆうようです。
機能が必要である理由を伝える
システムに求める要求が妥当であることを開発者に理解してもらうには、発注者が要件の理由を伝えることが重要です。こちらは要求定義書に記載すれば良いのですが、要件定義書ではシステム開発の観点で要求に理由を添えることで開発者が内情を把握でき、的確な設計をすることをサポートできます。
要件定義では機能を要求し過ぎない
要件定義の目標は課題の解決策を決定することであり、システムに求める機能を明確にすることではありません。生産性を高める業務システムを開発するには、発注者が機能を要求し過ぎないこともポイントです。先に述べたように機能が多すぎるシステムは使い勝手の良さ(ユーザビリティ)と反比例します。また限られた予算でシステム構築する際には何かを捨てることも大切です。
要求にはない非機能要件を確認
発注者は、システムの性能や効率性、セキュリティ、保守などの機能には整理しづらい要求を見逃しがちです。初期の
要件定義の段階でこれらの
非機能要件をヒヤリングしましょう。
非機能要件とはシステムのパフォーマンス、セキュリティー、保守運用の検討です。まずは機能要件を整理した後で
非機能要件を整理する必要があります。
まとめ
この記事では
業務システムの
要件定義において重要なポイントを5つ紹介しました。前もって
業務フローや既存システムを見直して、要求を文書化(
要件定義書)することが要件定義で大切なことです。
システム開発で失敗しないために、
業務システムの導入を検討している人は5つのコツを理解しておきましょう。
ONETECHは
ベトナムオフショア開発で様々な
システム開発、アプリ開発をしています。
あらためて12回にわたりベトナムオフショア開発特有のことではなく、発注者が知っておくべき
システム開発の基本的なことについてブログに寄稿しています。
1)
DX推進の鍵!!業務を効率化するシステムとは何か?導入するメリットや実際の事例
2)
システム開発、アプリ開発、ソフトウェア開発の要件定義で大切なこととは
3)
システム開発、ソフトウェア開発の提案依頼書(RFP)・要求定義・要件定義の違いとは
4)
業務システム開発で使われるプログラミング言語・スクリプト言語とは?人気の高い言語の特徴
5)
システム開発の「ウォーターフォール」「プロトタイプ」「アジャイル」「スパイラル」4種類の開発手法とは?
6)
システムの開発工程「要件定義からコーディング、システムテスト、保守運用まで」
7)
システム開発やアプリ開発の見積もり方法を知る。「ボトムアップ」「パラメトリック」とは?
8)
システム開発の外部設計と内部設計とシステム設計書
9)
システム開発の単体テストと結合テストとV字モデルとは?
10)
システム開発のシステムテストと受入テスト、運用テストとは?テストの流れと注意点
11)
システム開発のリリースとリリース後の運用保守とは?
12)
発注者が知っておくべきシステム開発の略語「CRMとは?」「RDは要件定義!?」
ONETECH ベトナムオフショア開発
ONETECHは2013年よりベトナムホーチミンでベトナムオフショア開発会社としてスタートしました。毎年多くのお客様から発注をいただき50社以上のお客様とお取引をしております。

ONETECHではモックアップ(必要最低限の機能を持つプロダクト)を作成しながら顧客と対話しながら開発する事も可能です。
100%日本語対応 ベトナムオフショア開発
ベトナムオフショア開発の10年以上の経験のある経営者やマネージャー、ブリッジSEが100%日本語で対応いたします。
ウォーターフォール型の受託開発はもちろんベトナムオフショア でお客様の専属チームを組織することも可能です。
ベトナムオフショア開発ですが日本側にコンサルタントを配置
また日本法人にも日本人とベトナム人のシステムコンサルタントがおりますので上流からのサポートも承っております。また短期出張でエンジニアが貴社にお邪魔してオンサイトで対応することも可能です。
またテストをベトナムオフショア で実施したいというニーズにもお応えしております。
ベトナムオフショア開発の特徴
ベトナムオフショア の特徴として、ベトナム人は非常に勤勉でとくにITスキルの高い人材が多く、親日国家でもあります。また平均年齢が28歳と若く中長期的にベトナムオフショア のベンダーとして長く利用できるというメリットもあります。中国やインドと比べると人件費も安くコストメリットもベトナムオフショア開発の重要なアドバンテージとなっております。
ベトナムオフショア開発を試してみませんか
ベトナムオフショア 開発をまずは試してみませんか。お試しで数週間のプロジェクトからでも承っております。営業がベトナムオフショア 開発の様々な疑問にお応えいたしますのでお気軽にご相談ください。