アプリ開発時の要件定義とは?目的や具体的な進め方などを徹底解説
アプリ開発を行う際に、一番最初に行うことといえば「要件定義」です。
「要件定義では何をするのか。」
「要件定義はなんのためにやるのか。」
「そもそも要件定義ってなんなのか。」
要件定義とは、普段聞きなれない言葉ですが、良いアプリを開発するために最も重要な業務となります。
要件定義の目的や進め方、どういったことを決めなければいけないかを解説していきます。
1.アプリ開発における要件定義とは
アプリ開発における要件定義とは、その名の通り【要件】を【定義】する業務です。
クライアント(アプリを発注した会社)のオーナーや各担当者と開発会社のプロジェクトメンバーが長ければ数か月間議論し、アプリの画面や機能、運用方法などを決定していく業務です。
・要件定義の役割
要件定義とは、アプリの開発工程に入る前段階でアプリをどういうスケジュールで何をどうやって作っていくのかを決めていく作業です。
アプリ開発を依頼したクライアントのオーナーや担当者の要望や要求を整理し、それらが実現できるアプリの機能や画面を事前に決める必要があります。
これらが決まらないままだと開発会社のエンジニアやデザイナーは何を作ったらよいのかわからないですし、適当な決め方をすると後々言った言わないのトラブルになってしまいます。
アプリ開発のプロジェクトメンバー全員の共通認識をまとめ、どこに向かっていくのかを明確にする地図のような役割を持っています。
・要件定義のゴール
アプリ開発における要件定義のゴールは、開発する全ての機能、画面や挙動、サーバーやセキュリティ面といった非機能要件を決定し、プロジェクトメンバー全員が何をしたらよいかわかるような書類(ドキュメント)を作成することです。
・成果物とは
要件定義における成果物とは、機能一覧、画面一覧、非機能一覧や要件定義書などアプリを開発するために必要な情報が書かれているドキュメントのことを指します。
アプリの開発規模や開発手法に応じてドキュメントの種類や量は変わってきます。
2.要件定義の進め方
・要件定義の進め方を「定義」する
要件定義を開始する際に要件定義をどのように進めていくのかを「定義」する必要があります。
どのように話会うのか、いつまでに誰が何をやらなければいけないのかを事前に確認することでスムーズな要件定義を始めることができます。
例えば要件定義の最初に決める項目としては以下のようなものがあります。
・要求定義をする
進め方が決まったらまずはクライアントのオーナーや担当者の要望、要求を整理します。これを要求定義といいます。
この要求定義は、「あれがやりたい」、「これがやりたい」といった希望を整理する作業です。
あとで「実はこれがやりたかったのに!」ということが出てこないよう要望、要求は全て整理します。
・要件定義で決めること
要求定義が終わったらそれをもとに
「どのような機能が必要か」
「どういった画面が必要か」
「サーバーやセキュリティなどの非機能はどういったものが必要か」
などを決めていく必要があります。
・機能を定義する
アプリで実現したい挙動や利用方法をもとに必要な機能を整理します。
各機能を実行するためにそれぞれがどう連携するかなどを検討します。
・画面を定義する
クライアントの要求項目や実装する機能に応じて必要な画面をすべて整理します。
要件定義では各画面の細かいデザインまでを決める必要はありません。
どの画面が何画面必要か、どの画面からどの画面に遷移するのかなどを整理します。
・非機能を定義する
非機能とは画面、機能面以外の要件全てを指します。
画面、機能以外は全てとなり、一般的に独立行政法人情報処理推進機構(IPA)が定める「非機能要求グレード」に沿って作成されます。
例えば以下のものがあります。
3.まとめ
アプリ開発における要件定義は最も重要な業務となります。
要件定義の質が高ければ必然的にプロジェクトの質も上がり、無駄な作業や業務や行き違いが減り、結果コストを抑えたり、リリース時期が遅れないなど多大なメリットがあります。
逆に要件定義がうまくできていないと、トラブルや遅延、機能の漏れなどにつながってしまいます。
開発工程の指針となるため、密にコミュニケーションをとり良い要件定義ができるようにしていきましょう。