skillup

技術ブログ

ドキュメント作成 プロジェクト管理

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

投稿日:2021年7月17日 更新日:

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

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

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

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

ドキュメントのメリット

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

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

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

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

準委任でやってる場合は問題にならないと思いますが、請負の場合はそもそも仕様が明確になっていないと相手側が見積もりが正確に出せない。仕様変更なのかバグなのかの境界が明瞭にならずトラブルになる。

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

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

作る際のポイント

情報の同期を意識する

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-ドキュメント作成, プロジェクト管理
-,

執筆者:


comment

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

関連記事

no image

プログラムからとExcelからのテストデータ作成

テストデータの作成ですが、プログラムから作成するケースとExcelからシコシコ作ってSQLをがんと入れる場合があります。Excelつってもマクロを使ったりするんでプログラムですし、実際にはPHPとEx …

no image

ディレクション時に重要な視点

ディレクション(ベンダーや内製時)時に留意するポイント Contents1 開発ルールの構築2 アサインと人材スクリーニング3 言葉の共通化(特にアウトプット)4 問題化のキャッチアップ5 リソースの …

no image

設計業務での改善点など

比較的大規模なプロジェクトの設計段階で思ったことなど。会議など頻繁に開かれると思いますが、聞いているだけだったり、各人が色々なことを喋って内容がまとまっていなかったり・・結局何をやりたいかわからなくな …

no image

業務フローの分解について

上流工程を担当するようになり、プロジェクトマネジメントや、要件定義、業務フロー分解などについて勉強しておいたほうがいいなーと思い、最近では読書をしております。 本日読んでわかりやすかった本は「はじめよ …

no image

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

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

アーカイブ