skillup

技術ブログ

ドキュメント作成

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

投稿日:

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

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

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

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

ドキュメントのメリット

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

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

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

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

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

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

作る際のポイント

情報の同期を意識する

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-ドキュメント作成
-,

執筆者:


comment

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

関連記事

no image

業務管理アプリの商品コードに関して

一般的な業務管理アプリを作っていると商品や顧客などもオートインクリメントのidではなく、独自の仕様で決められた「商品コード」などを持っていることが一般的です。 昔通販がらみのシステムを使っている時も商 …

no image

テスト分類について

一般的なテスト工程での分類や個人的に大事だと思うこと Contents1 全プロセス共通1.1 テストデータ作成バッチ1.2 ローカル、開発、ステージング、本番の分岐2 PT(プログラムテスト)、単体 …

no image

使える設計書作成に関して シーケンス図

使える仕様書ですが、細かいロジックなどシーケンス図も結構役に立つのでは・・と思いましたね。 シーケンス図とは下記のようなものです。 https://cacoo.com/ja/blog/what-is- …

no image

アジャイル開発について

エンジニアとして仕事をしてから7〜8年立ちましたが、その間9割近くはいわゆるアジャイル開発でやってきたと思っていました。今は比較的大規模な開発をしておりますので、ウォータフォールですが・・・ が、先日 …

no image

ドメイン決定&業務フローとの対応確認

Contents1 ドメイン決定2 業務フローとの対応2.1 実際の業務とエンティティ、画面の遷移2.2 ドメインのCRUD分析 ドメイン決定 業務フローを抽出し、エンティティを抽出した段階で次にドメ …