見出し画像

システム開発におけるドキュメントについて

弊社(M&I Works)は、インターネットビジネスに関するコンサルティングから、企画・制作・開発・ホスティング・保守サポート・システムエンジニアリングサービスまでのすべてのサービスをご提供することにより、インターネットのすべてを統合したトータルソリューションをワンストップでご提供しております。
今回は、開発チームと営業チーム共同にてシステム開発においてお仕事のお話を頂く際などに「現在使用しているシステムのドキュメント(仕様書)がない」や「新規開発中のシステムおいて炎上しているがドキュメントがない」などが事例が多くあると思いますが、システム開発におけるドキュメントとは何かをお客様およびシステム開発会社の双方の視点を入れつつ記事にまとめました。


システム開発におけるドキュメントとは

システム開発の工程において、ドキュメント制作に要する時間は決して少なくありません。
その一方で、各開発工程で作成されるドキュメントについては、その必要性が疑問をもっている方も多いのではないでしょうか?
一般的なシステム開発におけるドキュメントとは、どの様なドキュメントがあるか説明いたします。

システム開発におけるドキュメント

※1 要件定義書と基本設計書を1つのドキュメントにまとめて、要件内容と画面イメージをまとめて、お客様と開発イメージを共有する場合もある。
※2 現在は、単体テスト~システムテストをシステム化して一連の動作を検証する場合もある。

会議や打ち合わせ時におけるドキュメント

近年は、システムにて議事録と課題管理表を管理する事がある。
例:BacklogやRedmineやConfluenceやJiraというシステムが有名。

スケジュールや開発工程におけるドキュメント

近年は、WBSにて会議や打ち合わせ時のドキュメント管理と共にシステムにて管理する事がある。
例:BacklogやRedmineやConfluenceやJiraというシステムが有名。

納品におけるドキュメント

システム開発におけるドキュメントとは誰のためにあるのか?

各ドキュメントの重要性を理解するために大切なことは、「誰のためのドキュメントなのか?」を考える事です。
システム開発で作成するドキュメントは公式機関などから許可や申請を行うなどの形式的に作るものではなく、お客様およびシステム開発会社の関わる人々が円滑にコミュニケーションの記録や開発経緯などを残す目的があります。
それぞれの目的とは何かは次のようなものです。

要件定義書

システム化する業務というのは抽象的なものです。何をシステム化してどの様な機能を実装するのかという内容を明確化する事で、お客様とシステム開発会社が認識のずれを起こさないことが目的です。
そのため、要件定義書はお客様だけでなく、システム開発会社自身の双方のためのドキュメントです。
他にも基本となる開発方法(システムを動作させる基本的な環境)や開発期間など抜け目なく各項目を記載し、重要となる点についてはお客様視点で記載する事が大切です。

基本設計書

要件定義書で決定した事項はまだシステム化する概要の様なものなので、それをもとに具体的に画面レイアウトや入出力する帳票フォーマットといった形で仕様を落とし込んでいきます。
このドキュメントはお客様のために作成するものでもあり、またシステム開発会社が複数スタッフが携わるデザイナーやエンジニアに開発の指示をするものでもあります。
何を作るという工程では基本となる設計書が大切であり、これは無形商材となるシステム開発でも、有形商材となる製造業や建築業でも同じことです。
大まかな挙動を擦り合わせ、システムとして必要な内容をお客様と共に洗い出していきます。

詳細設計書

基本設計からさらに画面アクションや処理内容といつた仕様を落とし込んでいくものであり、システム開発会社の開発者向けにシステムに必要な技術資料をまとめていきます。
ただしお客様によっては詳細設計書の提示を求めてくる場合もありますし、システム開発会社が他社と協業して開発する場合にシステムの説明に使用する場合もあります。
処理フローの定義や、システムに必要なサーバ構成やデータベース設計などシステム開発者視点で作成されることが多いですが、お客様に提示する際はお客様がわかりやすい内容に置き換えることが大切です。

この様に、「誰のためのドキュメントなのか?」を考えることにより各開発工程において作成する事でドキュメントの重要性に気付くことができます。
ただしシステム開発会社によっては「設計書は都度更新が難しく工数(費用)が掛かるから、ソースコードのコメントからドキュメント化する」という考え方もありますが、往々にして後にソースコードにコメント記述がなくなりドキュメントがないとという事があります。

ドキュメントの作成と管理

各ドキュメントは、それを利用するお客様・システム開発会社にとって閲覧性や可読性が高くなければなりません。
また人によって解釈が変わらない様、完結に必要事項が記載されている事が望ましく、仕様や要件の変更は即座に反映されている必要があります。
また、ドキュメントの提供媒体や作成方法も変化していきます。納品物や成果物として制作されるものも、現在ではPDFなど電子データで提供されることが多く、作成段階でも共同制作のスタイルをとる事も多いため、作成・更新・共有など制作フロー全体を網羅したツールやプラットフォームを利用することも多くなってきています。

まとめ

今回はシステム開発で用いる関連ドキュメントについて、記載致しました。
様々なドキュメントがある中で、お客様とシステム開発会社のシステム開発に関わる人々が円滑なコミュニケーションができ、適切なドキュメント作成と管理が行われ、システム開発の生産性向上や品質向上とともに、システムの定着化や浸透に貢献されればと思います。

あとがき

システム開発を行う弊社では、システム開発のお仕事のお話を頂く際に「現在使用しているシステムのドキュメント(仕様書)がない」や「新規開発中のシステムおいて炎上しているがドキュメントがない」というお話が時折ありますが、自社のシステムサービスを提供している会社や自社で運営しているサービスなどでドキュメントがないとお伺いすると、正直会社運営として大丈夫ですか?と思える場面が多々あります。
ドキュメントがないという事は、提供しているサービスに対して合意形成の
記録もなく今後もシステムを運用するお客様およびシステム開発会社として責任を全うしていると言えるのでしょうか?
近年は、給与管理や契約管理などの経理作業もほとんどシステム上で管理している事がほとんどだと思いますが、運用担当者が様々な事由で居なくなった際に、引継ぎを受ける担当者やシステムを改修や移行する際に自社のシステムにドキュメントがない為に動作内容が分からなかったりするのではないでしょうか?
1つの例ですが、自宅や自社ビル・店舗開業の際に建築物の設計書となる設計図面・正構図などがなくて家やビルや内装工事が円滑に行えるでしょうか?出来ない事が多い、別途大掛かりな建築確認調査が必要なのではないでしょうか?
そう考えると、システム開発のドキュメントも同様にドキュメントは大事であり今後の自社サービスの運営/運用や改修などには必要です。
自社でシステムサービスを提供している企業では、特に今までのシステム開発でのドキュメントはその会社の文化を表しているといっても過言ではないといえ、適切なドキュメント作成と管理が行われ、システム開発の生産性向上や品質向上とともに、システムの定着化や浸透に貢献されればと思います。

この記事が気に入ったらサポートをしてみませんか?