システム開発において仕様書はとても重要です。
今回この記事では仕様書について紹介し、種類や作成する方法についてお伝えします。
仕様書の理解は必要であり、外注する場合も必ず目を通すものになります。
そのため、システムの開発を外注に任せようと考えている方は必見です。
目次
システム開発において重要な仕様書とは?
仕様書を作成する目的
仕様書にはいくつかの種類が存在し、用途は多岐に渡ります。
例えば、どういった機能を備えたシステムを開発したいのかが記載された仕様書、ソフトウェアの動作が記載された仕様書、どのように機能を開発するのかが記載された仕様書など用途に応じた複数の仕様書が存在します。
そのため、目的に応じて必要な仕様書を作成します。
例えば、どういったシステムを開発したいのかを伝えたい場合は「調達仕様書」を用いて、開発側を要望を伝えます。
このように何をしたいかによって、仕様書を使い分けることが重要です。
設計書とは何が違うのか
設計書も仕様書と同じようにシステム開発において重要な書類ですが用途が異なります。
設計書は完成するまでの工程を明確にした資料であり、仕様書は開発されたシステムを説明する資料になります。
例えばあるWebサービスを開発したいという要求に対して、それを実現されるための機能をどのように開発するかを示した書類が設計書です。
一方で、開発したWebサービスへログインするための情報やどのような機能を備えているかを記載した書類が仕様書です。
仕様書は誰が作るのか
技術面に関わる仕様書はシステム開発を受注した側が作成します。
具体的には、エンジニアを統括するPMやテクニカルディレクターと呼ばれる人達が作成します。
基本的には開発に関する仕様書の作成には発注者側が関わることはありませんが、どういったシステムを開発したいかを伝えるための仕様書は発注者側が用意する必要があります。
仕様書の種類
調達仕様書
調達仕様書とは開発したいシステムをどのような条件で構築するのかをシステム開発側へ示すものであり「要求仕様書」とも呼ばれています。
受注側のニーズについて記載するもので「ログインフォームを作成してほしい」や「研修用のコンテンツを構築してほしい」など何を作れば良いのか、実際に何をすれば良いのかが掛かれています。
これを基に要件定義を進めて、プロジェクト終盤には要望するシステムは開発することができたのかを確認します。
機能仕様書
機能仕様書とは開発するソフトウェアの動作が記載されたものです。
調達仕様書に掛かれていた受注側のニーズにはどのような機能を作って対応していくのかをまとめていく仕様書です。
ソフトウェアだけでなく、デザインした画面の設計書、機能一覧などもこの仕様書に含まれます。
機能仕様書は資料を閲覧しただけで開発チームが着手できるように丁寧に作らなければならないほど重要な資料になります。
なお、この資料はプロジェクトマネージャーやテクニカルディレクターなど上流工程に携わる人が受注側と協力して作成していきます。
技術仕様書
技術仕様書とは、機能仕様書に記載されているシステムを開発していくために、どんな手法を使っていくのかを記された文書です。
別のプログラマーが再利用する可能性があるコンポーネントを解説したり、複雑なコンポーネントを記載するもので全ての機能に対して仕様書を作成する必要はありません。
技能仕様書はテクニカルディレクターがプログラマーと相談・確認しながら作っていきます。
基本的には技術仕様書の存在は発注側には関係ないものではありますが、開発後の保守性をさらに高めるために技術仕様書の作成依頼お願いすることもあります。
仕様書を作成する方法
仕様書の書き方
仕様書は書き方一つでプロジェクトが成功するか失敗するか左右する重要な資料です。
そのため仕様書を書く時は以下が重要になります。
- 仕様書は正しい日本語で記載する
- 仕様書の目的を明確にする
- 読み手が混乱しないように用語は統一する
- 前提と制約を記載する
上記内容を意識していき以下の内容を盛り込むようにします。
- 機能仕様
- 画面仕様
- インフラ構造
- データ構造
これをしっかりと記載して良い仕様書を作成していくのです。
仕様書を作成する際に参考にするWebサイトがあり「このようにしてほしい」といった伝え方をするケースもあります。
これだとライバルの模倣となりオリジナリティに欠けてしまい開発側から「開発の意義」が薄れてしまう危険性もあります。
テーマや内容を具体的に記載することで開発者側も想定する以上の方法を提示してくれるかもしれません。
模倣したいシステムがあっても丸投げするのではなく、仕様書にどの点を取り入れたいのか明記載するようにしましょう。
テンプレートやサンプルを活用する
1から仕様書を作るのは非常に大変で時間がかかります。
そんな時はテンプレートを活用して作成していくのも一つです。
テンプレートはデジタル庁が作成したものや、有志によって作成されたものなど様々です。
各サイトによって、仕様書のテンプレートが異なるため、自分に合うものを見つけていきましょう。
デジタル庁に掲載されているテンプレートは下記よりダウンロードすることができます。
仕様書を作成する際の注意点
要件を網羅する
仕様書の一番の目的はどんなシステムを作って何がしたいかを開発側に明確に伝えることです。
先ほどもお伝えした通り、システム開発において仕様書は重要資料でありプロジェクトの成否を左右します。
これを念頭におかないと「後になって聞いていなかった」や「知らない」というケースが出てきてしまい、場合によっては仕様の変更、納期が延びる、予算が上がるなど不利益が出ます。
わかりやすく記載する
システム開発において仕様書はとても重要ですが、専門用語や難しい言葉を並べれば良いわけではありません。
図を使って説明する、箇条書きなど見やすくするなどシステム開発が成功する仕様書には様々な工夫がされわかりやすく記載されています。
どんなユーザーがどんな風に使うのか、ストーリーを描けるのか、矛盾やひっかかり、不明点などは持たれないかなど、一番大切なユーザーへのイメージを共有しわかってもらうためにはワイヤーフレームを図とともに示すことが非常に有効です。
「こんな風にしてほしい」や「優しい感じで」などの曖昧な表現を削除して、誰が見ても誤解せずにすむ質の高い仕様書を用意するのが肝心でしょう。
また、選択肢を用意することで幅が広がり、より良い開発に進むことも多いため、複数の選択肢を用意するのも仕様書を作る際では重要になります。
パッケージ開発なら仕様書は少なくて済む
パッケージ開発であれば既存システムで使用しているものや標準化されているものを活用するため機能仕様書や技術仕様書を作成する工数が減り、仕様書が少なくて済みます。
仕様書が少なければ、その分費用がかかりません。
さらに、パッケージ開発は工数も削減できるためコストを抑えることが可能です。
機能が標準化されていれば専門的な知識が必要なくても開発に関わっていけるため、システム開発後の運用やアップデートもしやすいです。
まとめ
システム開発における仕様書についてお伝えをしました。
様々な仕様書がありますが、どれも重要な資料です。
書き方一つでプロジェクトの成否が決まると言っても過言ではありません。
仕様書ごとに役割が異なり、見る人は異なりますが、基本的にはわかりやすくしっかりと記載しなければなりません。
もし、マッチングサイトの開発を考えているのであれば当社のマッチングサイトがおすすめです。
「マッチングサイト」に必要な機能は網羅しているため仕様書に記載する項目は少なく手間もかかりません。
開発する際もGUIベースで搭載することができるので開発工数も大幅削減します。
サポートも充実しているので、もしマッチングサイトの開発を検討しているならマッチングクラウドを活用してみてください。