基本設計書や詳細設計書(外部設計書、内部設計書なんて言うときもあります)、テーブル定義など、システム開発では複数のドキュメントを書くと思いますが、何のために書いていますか?
タスクで振られるからでしょうか?
システム開発で様々なドキュメントを書くのにはちゃんとした理由があります。
その理由には大きく三つあります。
- 考えを整理するため
- 誰かに伝えるため
- テストするため
こう言った点を意識しながらドキュメントを書くのと書かないのとでは、その質が変わってきます。
それでは、具体的にみていきましょう。
考えを整理するため
ドキュメントを書く理由の一つは、「考えを整理するため」です。
設計ドキュメントなど、要件をもとにどのようなシステムを作り上げるかを考えるのですが、システムはとても複雑なもので頭の中だけで考えることは出来ません。
役割や条件により画面を制御したり、様々な計算をして数字を導き出したりと複数の事柄を同時に考えていかねばならず、頭で考えているだけでは抜けや漏れが出てきます。
なので、文書や図に起こしながら、少しずつ頭の中を整理し、考えを詰めていきます。
複雑な設計程、しっかりとドキュメントにしながら進めると良いでしょう。
と言うことで、ドキュメントは、考えを整理するために書くのです。
誰かに伝えるため
ドキュメントを書く理由のもう一つは、「誰かに伝えるため」です。
システム開発をしているとウォーターフォール開発と言った開発手法を聞くことがあると思います。
ウォーターフォール開発とは、システムに求められる要件から設計を導き出し、実装し、テストすると言ったシステム開発の工程をしっかり分けて、その工程が完了すれば次の工程へと移る開発手法です。
このウォーターフォール開発を採用していると、工程毎に必要な人を連れてきて要員単価や人数を最適化することが出来ます。
この工程をまたがり情報伝達する媒体がドキュメントになります。
その他にも、開発が完了してシステムを運用保守するような時に、どのようにシステムが成り立っているかを調べたりする時にもドキュメントを使います。
そうです。
ドキュメントは、次の工程等で作業をする人に向けて書くのです。
テストするため
ドキュメントを書く最後の理由は、「テストするため」です。
システム開発をすると、そのシステムが要望の通りに作り上げられているかをテストする必要があります。
そのテストは何をもとにするのでしょうか?
有識者の感に基づいてやられるのでしょうか?
いいえ。
それは、テストの前に合意された内容に基づいて行われます。
テストの前には、ウォーターフォール開発で言えば、要件定義や基本設計、詳細設計と言った工程があります。
その工程毎に合意された内容をテストするのです。
さらにその内容は誰かの頭の中にあるのではなく、設計書と言う形でドキュメント化されるのです。
なので、ドキュメントは、テストをするために書くことになるのです。
まとめ
今回は、システム開発でドキュメントを書く理由を考えてみました。
システム開発でドキュメントを書く理由には下記があります。
- 考えを整理するため
- 誰かに伝えるため
- テストするため
こう言った理由をしっかり理解した上で、ドキュメントを書くタスクを行うと、より質を上げることが出来るでしょう。
では、また。