はじめに
最近基本設計書、詳細設計書を作成する機会があり、気づいたこと、感想などを書いてみたいと思います。
今回初めて設計書作成に取り組んでいるので、学びを備忘録的に書いてみたいなといった感じです。
※一般的にどうかは置いておいて、私の主観なのでご注意ください。
前提
- プロジェクトメンバは10名程度、開発メンバとして参画
- 参考資料は要件定義書、Q&A表(要件定義書の疑問点のすり合わせ用)
- 私の開発経験は、詳細設計をもとにjavaSpring、html、css、SQLでのコーディングを半年ほど行ったのみ→ペーペー
- システムを使う側→顧客、システムを作る側→PJ側と呼ぶことにします
気づき、感想など
PJ参画直後
まず、PJに参画してはじめに感じたことは「参考資料少なっっ」でした。
今まではしっかりした詳細設計書(不足があったり文句を言いたくなった部分もあったが)がありました。私はそれに準じた処理をコードとして落とし込めばよかったのですが、基本設計書作成ではそうもいきませんでした。
基本設計書作成において気づいたこと
-
基本設計書は「顧客がシステムの概要を理解できるように、PJ側が説明することを前提にした設計書」
私がPJメンバーに質問したり、設計書を作成したりしてきたイメージはこれでした。
システムを利用する人が見る画面や画面項目であったり、利用する機能の概要を盛り込むのが基本設計書であると認識しています。 -
基本設計書が作成できるだけの情報が、要件定義書作成時点で存在するわけではない
どうやら作成した要件定義書から不足があれば、それを顧客にQAとして提示し解消する。または、基本設計書で要件定義書とシステムの差分を埋めるように内容を盛り込む。などをして、顧客とシステム要件をすり合わせていくようです。
イメージしていたウォーターフォール型開発は、下流から上流に戻ることはないと思っていましたが、そうでもなさそうでした。たしかに、戻らなくていいくらいに抜け漏れなく検討するのはなかなか難しいですし、戻ることを前提にした方がスピード感はありそうですね。(アジャイルとも言えなそう)
詳細設計書作成において気づいたこと
-
詳細設計書は「開発者が処理を理解するために参照することを前提とした設計書」
基本設計書と比較したときの詳細設計書のイメージはこれでした。「基本設計書は顧客寄り、詳細設計書は開発者寄り」で私はしっくりきましたね。
基本設計書で説明されている画面の動きで合ったり処理方式の説明や、説明されている機能は何を引数としてどのような処理を行い、何をレスポンスとして返すのかなど、コーディングするときに必要な情報を記載するのが詳細設計書であると認識しました。 -
詳細設計書作成工程で完璧に完成させることは難しい
基本設計書と同様、詳細設計書を作成するのに必要な情報が詳細設計書工程の走り出しで出揃っていると思わない方がよいです。
とりあえず、ここまでは作成できる、この部分は後続タスクが完了した時点で正確に記載する。など大まかに進めることも時には必要だと感じました。
最後に
誰かの作成した設計書に文句言うのやめます。設計書なかなかムズイ。
まだ、作成している途中なので、どんどん書き足していきたいと思います。