システム要件定義の手順と求められるスキルについて

はじめに

システム要件定義は、システム開発を行う上流工程で「どうシステム化するのか」を決めることを言います。よく「要求定義」と「要件定義」は混同されますが、「要件定義」にする内容を決める作業が「要求定義」にあたります。顧客の要求をどのようにシステム化していくのかを決める、開発において土台となるものと言えます。主に「目標設定」「事前調査」「サイトの要件・内容の検討」「製作スケジュール」の4つにわけシステム要件定義を行います。

目標設定

目標設定では「定性目標」「定量目標」の二軸に分け、「顧客に楽しんでもらうための演出」「月間100万ダウンロードを目指す」などを設定していきます。定量目標はプロジェクト完遂後の実現度を図る為に、より具体的に達成出来るものを設定することが望ましいです。

事前調査

そして事前調査によって得られた結果・情報をもとに要件や内容を決定し、「サービスにどんな機能を持たせるか」「サーバーは何を使用するのか」を検討します。市場やターゲット層に合わせてモバイルアプリケーションにするのか、PCサイトにするのかといった検討も必要です。そのために競合他社分析・自社の強みを把握し、現実的に達成できるか・無理のない範囲でできるかを図ります。

制作スケジュール

最後に「制作スケジュール」を決定します。当初の目標に合わせてデザイナー・コーダー・プログラマーの作業分担を行い、スケジュールの管理・運用後の体制完備を行います。要件や機能毎に作業工程を分担し、スケジュール調整を行いプロジェクト完遂を目指します。プロジェクトを進めるうちに思わぬ場面で問題が発生しますが、問題を振り返る際やプロジェクトメンバー変更時など、全体を理解するために「システム要件定義」は重要なツールとなります。このように、全体構造を決めるシステム要件定義や設計ができる人材は、必然的にプロジェクトへの貢献度が高くなるため、非常に求められる人材と言えます。

求められるスキルとは?

一見容易に見えるシステム要件定義ですが、システム開発において最も重要となる工程として、以下のようなスキルが求められます。

・コミュニケーションスキル

「要求」と「要件」の間にズレが生じないよう、細部までヒアリングするスキルです。顧客の要求に対して、「コンピューターの動作を理解し、アナログな部分も含めてどのような動きになるのか」を理解しヒアリングする必要があります。また、システム化出来ない部分も明確にしていかなければならないため、どうしても曖昧になってしまう部分は後々仕様バグとして浮き彫りになっていきます。IT業界で重視されるコミュニケーションスキルは、システム要件定義においても非常に重要なスキルとなっていきます。

・システムの完成をイメージするスキル

要件定義はアナログをデジタルに置き換える作業です。プログラミングをする上でユーザーの要求を細部まで表現するために、「要求がシステム化したときにどのような動きをするのか、ユーザーオペレーションはどのようになるのか」を具体的にイメージできるスキルが必要です。そのためには、下流工程であるプログラミング経験があるとスムーズにイメージが出来ます。

・システム完成までの工程を逆算するスキル

システムは細やかなプログラムの集まりであることから、大きなまとまりとしてシステム化した際、どのようなプログラムがどこで動くのかを逆算することで、工数の把握・スケジュールの調整にもつながります。そこに伴い開発担当の役割分担も想像することで、その後の設計もスムーズに進みます。

・ドキュメント化するスキル

最後にドキュメント化する際に、システムの詳細や動作を言葉で正確に表現するスキルが必要です。プロジェクトの規模によっては数百人単位で目にする場面がある為、誰が読んでもわかりやすく、またシステムアップデートの際にも確認しやすいドキュメントでなければなりません。そのため、ドキュメントの作成前には表現方法・ドキュメントフォーマットを統一しておく必要があります。

システム要件定義で全てが決まる

いかがでしたでしょうか?全ての開発において、「システム要件定義」で全てが決まるといっても過言ではありません。全てを決める要件定義においてミスがあると、開発工程はもちろん、ユーザーの業務も止めてしまう可能性があります。プロジェクトを完遂するために要求の細部まで把握・運用・保守までミスがない様決定をしなければなりません。

もちろん、一つのミスもなく進むことはありませんので、何か問題が起きたときに「システム要件定義書」を振り返ることでスムーズにプロジェクトが進められることが重要です。一人だけの作業ではなく様々な人がかかわって一つのプロジェクトが実行されるため、基礎からしっかり学ぶことでより良いサービスの提供につながる様、システム要件定義を綿密に行っていきましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です