skillup

技術ブログ

ドキュメント作成

開発時最低限必要かつ有用なドキュメントに関して

投稿日:

ウォーターフォール型の開発をかれこれ1年近くやっております。

自分がやってきた仕事とすると別職種に近いようなイメージでしたが、得ることも多かったため、ここに記しておこうと思います。

以前書いたことの記事に近いかなあ・・・

使える設計書作成に関して

ドキュメントのメリット

まあ、これ自体が納品物になるのが現実的にはあるのですが、実開発作業での最大のメリットは

仕様の認識の統一、作業の分業化

が一番大きいかと思っております。

今までの自分がやってきた現場はこれ作ってください見たいなお客さんに見せるレベルのパワポからプロダクトを作ることが多かったのですが、これだと仕様の認識に齟齬があった時はもちろん、何より分業ができないという大きなデメリットがあります。

特に設計ができないレベルのプログラマ(世間的には設計をしないのがプログラマのようですが)に仕事を任せることができるのが大きいですね・・・

ドキュメントがあることで仕様の認識を統一でき、作業の分業が可能になるのが一番メリットとして大きいかなあと思っております。

作る際のポイント

情報の同期を意識する

あるあるパターンなのがドキュメントの状態が古くなってしまって、コードとドキュメントのどちらが正なのかがわからなくなってしまっているという状態です。なるべくコードとの修正をセットにする、理想論を言えばマークダウンで作り、コードレビュー時にコードとセットで付与し、修正がなければマージしない・・・というのがベストでしょう。

Excelを使う場合は、マクロなどが利用できて、情報の同期ができるようにしておくのがポイントかと思います。テーブル設計だと定義書とDDLがセットになっていることやマイグレーション管理などができると理想でしょう。

出来るだけ少ない量にする

同じ情報を書く場所が多くなると、情報の差分がどうしてもできてしまうことが多いです。例えばパラメータを機能設計書とAPI仕様書にかくとその分差分量が増えてしまうので、出来るだけ作る量、ドキュメントを少なくなるようにしましょう。

チェックポイントをあらかじめ決めておく

レビュー時に指摘ポイントがコロコロ変わってしまうことなどがあることも多いです。そのため、統一したなるべく少ないチェックポイントでレビューするのが良いでしょう。

フォーマットを決めて、入力欄を出来るだけ少なくする

品質の統一という点から入力欄を出来るだけ少なくすることでばらつきを抑えることができるかと思います。このようにすることでドキュメントの統一を取れるようにするのが理想かと思います。

必要だと思うドキュメント

これ自体が納品対象になるとかはおいておいて開発時に必要なものとして、以下を考えてみました。

  • テーブル定義書、ER図
  • 機能設計書(テーブルとプログラムの処理フローが最低限わかるもの)
  • テストデータ書、テスト仕様書
  • API仕様書(機能設計書と同期できるタイプのもの)

他に設定ファイルなどに入れたり、そこから起こせるものとしては

  • システム設定値関連
  • ログ設計書
  • メッセージ仕様書

などですかね。これらはできればExcelで作るにしても、マクロで設定ファイルが自動作成できて、そこから情報を同期できるようにしておくのがベストだと思います。

あとは画面繊維図とかですかね・・・これまで自分が担当してこなかったんですが、サクッと作ることができればあったほうがいいと思いますね。

-ドキュメント作成
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ドキュメント作成(要件定義〜設計)のポイントについて

4月から新しいプロジェクトが始まり仕事がドキュメント作成(要件確認書、基本設計、詳細設計)などをしております。この仕事自体が自分にとってあまりなじみのないものだったので、そこで思ったことなどを。 Co …

no image

コード静的解析ツールを使った際の気づきなど

最近のプロジェクトでコード静的解析ツール(phpcs,phpmd)を使った際の気づきなど コードを書きながら常時エディタがチェックするタイプのものでないとまず無理(保存するたびでも無理だし、コミット時 …

no image

仕様の把握で見るポイント

新しい現場に入って技術的な部分はもとより仕様の把握などでポイントになる点などを。 Contents1 ER図2 ステータス変更3 プレイヤー(イベント)整理4 タイムテーブル5 マトリックス表6 ダミ …

no image

ER図作成ツールについて(Mac版)

ER図作成ツールについてMacで色々と調べましたので、メモを。 フリー限定で。 ちなみにwindowsを使っていればA5:SQLが一番使えるかと思います。 以前も下記リンクで説明させていただきました。 …

no image

単体テスト仕様書について

おそらく開発者が書きたくないものの筆頭になるかと思う単体テスト仕様書ですが、うまく使うと有益なコミニケーションツールになります。 Contents1 ユーザーのフロー体験・説明書2 前提となるデータ3 …