仕様書とは?開発事例をもとに成功する仕様書の書き方を解説

仕様書とは?開発事例をもとに成功する仕様書の書き方を解説

「仕様書」とは、Webサービスやアプリなどのプロダクトを作るうえで満たすべき要件をまとめた開発者への説明書のこと。「どこにどのような機能を持たせるのか」「どこからどのように遷移させるのか」といったプロダクトのあるべき姿を記載します。
開発の要となる重要な要素だけに、作成に苦労している企画者やディレクターの方も多いかもしれません。
特に海外で開発する場合は言語や距離の問題で依頼者と開発者の間の意思疎通が難しく、仕様書の重要性がさらに高まるでしょう。しかし、これは仕様書さえしっかりしていれば国内であれ海外であれ難なく開発を行えるということでもあります。

そこで本記事では、国内外問わず幅広く案件を担当し、自社サービスの開発に携わった筆者が、重要視している仕様書作成の注意点をお伝えていきます。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

仕様書とは? 

Webサービスやアプリの開発を進める際、「仕様書」という言葉を耳にすることが多いと思います。まずは、開発における仕様書の意味合いをおさらいしていきましょう。

仕様書とは「どこにどのような機能を持たせるのか」「どこからどのように遷移させるのか」といったプロダクトのあるべき姿を記載したもの

受託開発の場合は受注側・発注側で一緒に協議しながら制作していくケースが多く、要件定義で定められた要求を満たしていることが求められます。

仕様書には複数の種類があり、「●●仕様書」のように目的や機能ごとの資料がさまざまな開発フェーズで展開されます。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

仕様書の重要性:なぜプロジェクトの成否に関わるのか?

仕様とは、満たすべき要求事項のこと。その定義が曖昧になっていると成果物に対して認識齟齬が生まれてしまうため、仕様書は開発において“絶対的な存在”と考えた方がいいでしょう。

エンジニアもプロジェクトマネージャーも仕様書を基に開発を進めるため、あるべき姿である仕様がまとまっていないと良いプロジェクトとは言えません。

仕様が曖昧だと開発途中の仕様変更が生まれやすくなり、工数の増加につながります。さらに、仕様変更は発注者が考える以上にコストがかかる作業ということも見逃せないポイントです。できるだけ仕様変更が減らせるように、あらかじめいろいろなパターンを想定しておくことが肝心です。

もちろん技術的な知識が乏しいと難しい部分はありますが、ユーザーの導線を落とし込めているかどうかによって実装までにかかる時間が大きく変わることにも留意してください。

スタートが大切な開発において、あらかじめ準備できる部分は可能なかぎり整えておくことをおすすめします。

設計書との違い

「仕様書」と同様に、Webサービスやアプリの開発に欠かせないのが「設計書」。それぞれ意味合いや役割が異なるので、まずはその違いを整理しておきましょう。

「仕様書」は完成イメージを明確にした資料であるのに対し、「設計書」は完成するまでの制作工程を明確にした資料

つまり「こんなWebサービスやアプリを作りたい」という要求に対し、仕様書は着地・結果を示すもので設計書は制作過程を示すものということです。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

仕様書の種類

そもそも仕様書にはいくつかの種類があり、それぞれ目的や記載する内容が異なります。
Webサービスやアプリを開発するプロジェクト・マネジャーやディレクターは仕様書を作る機会があります。また、種類や内容によってはクライアント側が作成すべきものもあります。ここでは3種類の仕様書についてご紹介いたします。

要求仕様書

要求仕様書とは、開発するWebサービスやアプリが持つべき機能、特性、特徴などをまとめた書類です。作成にあたっては、業務要件など適切に定義されているかといった観点も重要です。メインで作成するのはクライアント側になりますが、本仕様書を用いて要件定義を進めるため、開発ベンダー側と細かくすり合わせを行い、要求を満たした内容に詰める必要があります。したがって、いつ、どこで、だれが、どのようにといった5W1Hの構成を意識して作成するとよいでしょう。

外部仕様書

外部仕様書は基本設計書とも言われます。要求仕様書を受けて開発者が機能やシステム構造を具体化した文書です。具体的には、画面レイアウトやUI/UXデザイン、帳票、入出力データの種類など、機能面における細かな点を決めていきます。外部仕様書の作成者は開発ベンダー側となります。外部仕様書はユーザー側から見えるシステムの機能の仕様についてまとめるため、ユーザビリティが考慮された設計となっているかなど、クライアント側も積極的に確認しましょう。

内部仕様書(詳細仕様書)

内部仕様書は詳細仕様書とも言われます。さらに細かく分類すると機能仕様書と技術仕様書に分類されます。

機能仕様書

機能仕様書は、Webサービスやアプリを開発する際の要件、性能、画面仕様、操作手順、テスト要件をまとめた文書です。開発ベンダー側のPM(プロジェクトマネージャー)やSE(システムエンジニア)が、クライアント企業の要望を聞き取り作成します。
機能仕様書を作成する際に、抜け漏れや見落としがあると、開発に支障が出てしまうため、構造的に要件を記述することが必要です。そのためには、文と文の主従関係が分かりやすいように、主文・補足文といった構成がおすすめです。
機能仕様書が作成されることで、開発するシステムについて開発ベンダー側やクライアント側が共通の認識を持ち、要件定義や設計でミスや不備が発生しないようにする役割を果たします。

技術仕様書

技術仕様書は、機能仕様書をもとに、記載した機能を開発するための手法をまとめた文書です。プログラマーの間で認識の齟齬がないようにするために用います。開発ベンダーのシステムエンジニアがプログラマーと相談しながら作成します。
具体的には、プログラミングの土台となるデータ構造の設計、関係データベースの設計、機能のアルゴリズム、開発ツールなどを記載します。ただし、すべての機能に対して仕様書を作成する必要はなく、複雑なコンポーネントや、他のプログラマーが再利用する可能性のあるコンポーネントを解説したり、機能仕様に必要な作業項目に対して技術的な裏付けを提供できるだけでも大丈夫です。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

わかりやすい仕様書の特徴

それではさっそく過去の案件を例に、良い仕様書・悪い仕様書を分析していきましょう。
まずは、筆者の経験上「こういう仕様書にしておけば間違いない」と実感した“わかりやすい仕様書”の特徴を解説します。

画面遷移図がしっかりしていてわかりやすい

画面遷移はWebサービスやアプリを利用するうえでユーザビリティに直結する重要な要素。また、どのように遷移させるかという部分ではさまざまなケースが想定されることから、設計自体にも大きな影響を与えます。
仕様書内に画面遷移図があると、システムの全体像を関係者が素早く理解/共有でき、画面間の相互関係も明確になります。つまり、画面遷移図があることにより、全体像を俯瞰して確認できるので、機能間の関係性や影響に対する考慮漏れを減らすことができます。

イメージ画像が入っている

「イメージ画像」と単に文字だけで記載している仕様書では、Webサービスやアプリの完成像を正しく伝えることができません。
あらかじめ仕様書内にイメージ画像を挿入しておくと、サービスの目指すべき方向性とビジュアル面のイメージ共有がより一層深まります。

下記に実際の仕様書の一部を掲載するので、ぜひ参考にしてみてください。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

図やビジュアルをつけて解説すればイメージがよりわかりやすくなる

図やビジュアルをつけて解説すればイメージがよりわかりやすくなる

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

シーケンス図が用意されている

シーケンス図は、システムの設計を視覚的に把握するために用いられるもの。時間軸に沿ってクラス・オブジェクト間のやりとりを表現することができます。
ユーザーがどういうアクションをして、それに対してシステム側でどのように対応しているのかという一連の流れを把握しておくことはソフトウェア開発上で非常に重要です。
工数はかかってしまいますが、のちのち開発上の認識齟齬が生まれないように準備しておくことをおすすめします。

細かな部分についても説明がある

コンテンツの文字数制限、ポップアップ表示されるメッセージ、フォームの入力チェックの文言など、細かな部分まで仕様書に落とし込んでおくことも非常に有効です。
例えば、既に決まっている事実を書き連ねるだけではなく、なぜこうした作りになっているのかという背景や理由までしっかりと記載されていると、仕様変更や改版が入った際に修正しても問題ないかをすぐに確認することができます。
また、仕様書の段階で細部まで厳密に決めきれていることは稀だと思いますが、開発中のコミュニケーションコストの削減にもつながるので可能な限り確定している要素は仕様書内に落とし込んでおくといいでしょう。また、決めきれていないことや保留となっていることがある場合でも、その事実を記載しておくだけでも意味があります。
さらに、仕様書が変更された際は内容をその都度漏れなく更新し、メンバー全員に最新版を共有するようにしましょう。共有漏れを防ぐためにも、ブラウザ上で閲覧でき、リアルタイムに情報を反映できるツールを活用するのもおすすめです。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

わかりにくい仕様書の特徴

次は逆に、筆者の経験上「こういう仕様書は本当に困った」という“わかりにくい仕様書”の特徴を解説します。

画面遷移のイメージがない

画面遷移図はリリース後のユーザーの行動・導線を把握するうえで重要な役割を担っています。事前にユーザーの行動パターンをしっかりと考えておけば、想定外のトラブルを起こりにくくすることができます。
例えば、画面遷移図を用意しなかったことにより、似たような画面を複数作ってしまったり、初めて仕様書を見た人が全体像を掴むためのキャッチアップに時間がかかってしまったりする恐れがあります。
念入りに画面遷移図を作成するのは工数がかかって大変ですが、のちのちのリスクを避けるためだと考えれば手を抜くことはできないはずです。

プレゼン用の企画書がそのまま仕様書になっている

Webサービスやアプリの開発経験が少ない人の場合、プレゼン用に作ったようなパワーポイントの資料(企画書)を仕様書と混同してしまっていることがあります。
「こういうことをやりたい!!」という戦略的な狙いは伝わりますが、これだけでは「どんなWebサービスやアプリを作りたいのか」という具体的なイメージが湧かず、実際に開発を進めていく段階で手が止まってしまいます。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

仕様書において重要なのは、企画書に記載されている要求から、それを実現するために必要な機能や性能を要件として定義し、しっかりと明記していることです。

プレゼン時に制作した資料はあくまでも企画書としての役割で仕様書は別物ということをきちんと理解しておきましょう。

図やビジュアルがない

いくらミーティングでイメージを熱く語っても、メールやチャットなどのテキストベースで説明しても、イメージを深く共有することはできません。
「百聞は一見にしかず」とことわざにもあるように、図やビジュアルを用意して解説すれば相手にはっきりとイメージを伝えることができます。
特に海外で開発する場合、言葉の壁を乗り越えるためにも視覚的に訴えることが大切です。下記のようにイメージ画像を挿入して仕様書を作成するようにしましょう。

イメージ画像を挿入しておけば、アプリの完成像が共有しやすくなる

イメージ画像を挿入しておけば、アプリの完成像が共有しやすくなる

内容がざっくりしすぎている

仕様書の段階で不確定要素が残っているのはあまり望ましくない状況です。ざっくりとした曖昧な記述のままで開発が進んでしまうと、明確化しなかった行間の部分の工程で認識齟齬が生まれてしまう懸念があります。

仕様書において重要なのは、事実を濁さずに記載することです。つまり、「こうだと思う」「かもしれない」のような憶測情報を書き込んではいけません
特に海外で開発する際には十分な配慮が必要です。国内で開発するのであれば、意図を汲み取って対応してもらえることもあるかもしれませんが、海外で開発する際に国内と同様の対応を期待するのは難しいです。
海外での開発においてコミュニケーションコストと品質低下のリスクを削減するためには、最初の段階から可能な限り要件を詰めておくことが大切です。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

仕様書のサンプルと書き方のポイント

仕様書の重要性については先の章でお伝えしましたとおり、プロダクト開発において欠かせない重要な資料であり、認識の齟齬を生まないためにも、作成しておく必要があります。
しかしながら、実際に仕様書といってもどういったものなのかイメージがつかない方もいらっしゃると思います。ここでは、一般的な仕様書のサンプルイメージと書き方のポイントについてご紹介いたします。
仕様書は目的によって異なりますが、基本的にどの仕様書でも構成は同じです。まず目次を記載し、全体が把握できるようにしてから、システム開発の前提条件やシステムの概要など、それぞれの項目について説明していきます。
まず、各仕様書に共通する書き方のポイントとしては、

①明確な目的を持って記載してあること

②必要な情報を正確に記述していること

が求められます。

また、仕様書は、開発チームやステークホルダーとの共通理解を深め、コミュニケーションを円滑にする資料であることを意識します。
その時点での必要な情報を適切に捉え、プロジェクトの進行に伴って生じる変更には、柔軟性を持って対応することも重要です。また、クラウドツールなどを用いて、アクセスしやすい格納場所の配慮、同時編集やリアルタイム性などを重視することは、レビュー頻度の向上や効率化に繋がります。その際には、編集履歴の管理を徹底し、こまめに更新することで、連携ミスや意図しない情報の上書きなどを防ぐことも重要になります。
なお、仕様書は開発による目的を達成するだけでなく、将来的な保守や運用にも活用できます。プロジェクトの終了後も、仕様書は貴重な資産と捉え、適切に管理し、機能追加や改修に応じて適宜メンテナンスを行うことが大切です

要求仕様書の書き方のポイント

要求仕様書のポイントは、システムの利用を通して達成したいことを明確に定義してあることです。また、要求仕様書を元にした「要件定義」では要求を実現するために必要な機能、性能を明確に記載する必要があります。その上で要求事項には優先順位をつけていることも重要です。

外部仕様書の書き方のポイント

要求仕様書で決めた要求機能を具体化するのが外部設計なので、元となる要件定義が不明確だと具体化できません。外部仕様書を作成する前に、十分な要求定義が出来ているか関係者全員で確認するようにしましょう。
外部仕様書では、要求仕様書に書かれた内容を実際にシステム的に矛盾がないか、技術的に可能な形に落とし込むことになります。
外部仕様書が完成したら、レビューを行います。レビューでは、クライアントにシステムの仕様を理解してもらい、承認を得るため、わかりやすく説明しましょう。レビューにはクライアントから承認を得る目的のほか、実現可能性や設計の際に気づかなかった問題、開発チーム内の認識のずれなどに気づいて修正するという目的もあります。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

画面定義書のサンプル画像1

画面定義書のサンプル画像2

外部仕様書のひとつである画面定義書のイメージ

詳細仕様書(内部仕様書)の書き方のポイント

詳細仕様書はこれを見たプログラマがだれでもプログラミングができる状態がゴールです。
したがって、ポイントは、レイアウトが整っていて読みやすいこと、画像や図表、フローチャートを使っていてわかりやすいこと、細かな仕様を簡潔に伝えていること、用語の定義が明確になっていることです。
業界用語や固有名詞については認識の齟齬を防ぐため、章末に定義を記載することや、冗長な表現ではなく箇条書きにするなど、簡潔に記載されていると読み手であるプログラマにとって親切な仕様書になります。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

仕様書の書き方:お役立ちツールを紹介!

ここまで仕様書の特徴や書き方のポイントを解説してきましたが、実際に仕様書を書くときはどのようにすればいいのでしょうか?
頻繁に活用されている定番ツールの紹介を通じて、仕様書の書き方を紹介していきます。

Figma

Figmaは、プロダクト開発でよく用いられるデザインプロトタイピングツールです。フロントデザインで仕様書を作成する際にこのツールさえあれば事足り無いことはほぼありません
ブラウザ上で操作でき、シンプルな使用感で簡単にUIデザインやグラフィックデザインを作ることができます。
また、共同作業もできるので、チーム間でデザインを共有する際にも便利です。何度もファイルをダウンロードする必要がなく、ブラウザ上に常に最新の状態がアップデートされるため、最新版のファイルが埋もれたり共有漏れが発生することもありません。

drawio

drawioは、モジュール図やアーキテクチャ図を描く際によく用いられる無料の作画ツールです。
図の作成にはPowerPointやGoogleスライドなどさまざまなツールがありますが、drawioは、他のツールと比較してもさまざまなバリエーションの図を簡単に描画でき、アイコンなどの素材も豊富です。また、単一ファイルをバージョン管理できるのも利点です。
こちらもFigmaと同様ブラウザ上で操作できるため、GithubやDropBox、Googleドライブへの連携も楽です。

PlantUML

PlantUMLは、コードベースでシーケンス図などのUMLを描画できる無料ツールです。
このツールの特徴は、前述のようにコードベースの描画が可能である点。前述のFigmaやdrawioなどのGUIツールとは異なる使用感ですが、コードベースでの描画が可能なので、GitHubと連携することで変更差分を管理でき、仕様変更時に簡単に差し込み・削除が可能といったメリットがあります。
また、作成したダイアグラムはテキストファイルとして保存されるため、ファイルサイズが軽量になることもメリットといえるでしょう。

Confluence

Confluenceは、さまざまな企業の社内ナレッジシェアに活用されているWebベースの企業向けWikiです。
直接的に仕様書の作成には関係ありませんが、仕様書作成前の情報共有や、仕様書にするほどでもない情報の共有に最適なので、仕様書作成のコミュニケーションにおいて重要な役割を担ってくれるツールです。
こちらもオンライン上でリアルタイムで共同編集でき、常に最新版にアップデートされるので無駄なやりとりが発生せず、工数の削減になります。

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

まとめ:アプリやWebサービスの成功の鍵は仕様書が握っている

開発するアプリやWebサービスの完成した姿について、とことん思案できるのが仕様書を作る醍醐味。

「こんな機能があったら便利だろうなぁ」と思案したり、浮かんだアイデアを「どういった仕様で作る」という部分までしっかり落とし込むのはとても重要なことです。

アプリやWebサービスが成功を収めるための大きな鍵を握っている部分であることを忘れずに、しっかりと取り組みましょう。

★わかりやすい仕様書を作るための3つのポイント

① できるだけ詳細に書く
② 図や実際のイメージ画像を使う
③ 遷移やデータの扱い方などあらゆるケースをできるだけ具体的に想定する

➡︎【資料ダウンロード】アプリ開発の企画~発注の教科書<2023年最新版>

アプリ・Webサービスの開発を検討している方へ

モンスターラボは、2200件以上のサービス・プロダクト開発の実績から得られたデジタル領域の知見を活かし、企業のDX推進戦略をあらゆる面からサポートいたします。

ご提案・お見積もりの段階から、デジタル領域の知見を持つコンサルタントをアサイン。新規事業の立ち上げ・既存事業の変革などのビジネス戦略を上流工程からサポートいたします。

開発プロジェクトでは、UXリサーチ・設計、UIデザイン、ブランド開発、デジタルプロダクト開発、グロースハックまでの全行程をワンストップで提供。

モンスターラボが提供するサポートの詳しい概要は、下記のボタンから資料をダウンロードしてください。
DX支援サービス紹介資料ダウンロード

直近のイベント

記事の作成者・監修者

平田 大祐(株式会社モンスターラボ 常務執行役員)

平田 大祐(株式会社モンスターラボ 常務執行役員)

2004年IBMグループに入社し、IBM ITスペシャリストとしてシステム開発に従事。 2009年からベンチャー企業にて受託開発、コンテナ型無人データセンターの管理システム、ドローン開発などソフトウェアからハードウェア開発まで幅広く関わる。チーフテクノロジストとして2015年にモンスターラボへ入社し、2018年4月より最高技術責任者であるCTOに就任。 プロフィールはこちら