skillup

技術ブログ

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

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

投稿日:2020年10月3日 更新日:

私自身、この仕事を7〜8年やっておりますが、設計書作成については常に悩まされておりました。

設計書のメリット・デメリットとしては以下のようなものですかね。

メリット

  • メンバー間での仕様の認識を統一できる
  • 出戻りを防ぐことができる
  • 開発進捗の遅れの影響を防ぐことができる
  • 責任の所在を明らかにできる(請負契約の場合)
  • 外部に委託することができる

デメリット

  • 形式的に作られているものも多い
  • 現実の開発との差分が出てしまう(更新する文化が廃れてしまう)
  • 作っても費用対効果が良くない(作る時間に回した方がいい)

対策

設計書はコードから起こす

現実のシステムとの差分が起こらないように、ER図であればschemaから起こすとか、API仕様書であればLaravelの(Laravel API Documentation Generator)みたいなツールですかね。

要は作るのに手間がかからない、自動化されているのであれば文化として廃れることがないので、これが一番いい気がします。

設計をした方が工数がへる、楽

設計をした方が工数がへる、ラクということになればみんなその通りにやるので、この仕組みを取り入れるのがらくな気がします。

分業する場合はどうやっても作るしかないので、必要性が出てきます。

設計→コードの仕組み化

コードから起こすといっても限界があると思うので、ある程度の仕組み化が必要になってくると思います。

一般の仕事の仕組み化と同じですが、できるだけ個人の意識に頼ることは防ぎたいので、レビューのプロセスを経ないと次のプロセスに移行できない。みたいな仕組みとして存在するパターンですかね。

個人的に必要だと思っている設計書について

ダミーデータ付き+テスト仕様書

えーこれはまだ見たことがないので、理想論です。

一般のテスト仕様書って形式的なものが多いと思うのですが、ダミーデータがあれば状態の復元がすぐにできますし、開発をする上でものすごく楽になります。

イメージとしてはPHPUnitの中に組み込む感じで、そこから仕様書を復元できるようにすることですかね。

夢物語と思っていましたが、migrationを組み込んでおけば前提となるマスタデータなどを入れておき、そこからデータを入れることは難しくないのでは・・?と思いました。

API仕様書

昨年度のプロジェクトで作ってました。フロントのエンジニアと一緒に仕事をするときに開発が出来上がってないときに、

  • まずAPIのINとOUTの形だけ決める
  • テストデータでリクエストとレスポンスの形を決めておく

これだけで仕様書の出来上がりです。

グルーピングされたER図

グルーピングということが重要なのですが、ER図があればデータの移り変わりなどがイメージできるのでやはりあると仕様の理解が格段に進みますね。

ER図自体の作成はwinだったらA5SQL、Macならwwwsqldesignerが簡単で便利です。

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

執筆者:


comment

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

関連記事

no image

CI/CDに関する取り組み

CI/CDに関して知識としては5年以上昔から持ってましたが、実際にプロジェクトの中に取り組むことができるようになったのはつい最近なので、取り込みが現実的なものに関してどのように取り組んでいくかといった …

no image

総合試験でのテスト内容など

現在のプロジェクトが総合テストの段階に入っておりますが、総合テストで見るべき観点など。実際に自分らはテストしてなくて、障害があったときの対応をしているのですが(汗) Contents1 シナリオテスト …

no image

テスト項目の作り方(縦項目について)

テスト項目の作り方について。 単体テスト書のレビューをしていて、なるべく効率的に網羅的にできるテスト仕様書の作成について。 納品物としてではなく、開発の高速化と品質をあげるためのテスト仕様書を。 Co …

no image

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

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

no image

テーブル設計に関するメリデメ

昨日も書いた記事なんですが、基本的に実装にしても設計にしてもこれが最強っていう手法はなくて(あったとしたら全員がそれを使うのでそもそも選択肢という概念がなくなる・・)メリットデメリットをしっかりと考慮 …

アーカイブ