詳細設計は本当に必要なのか

プロジェクトによって呼び方はまちまちですが、ウォーターフォール開発では設計書の作成が基本設計と詳細設計に分かれています。基本設計はユーザに提供する機能や操作を定義し、詳細設計は実装に必要な内部的な仕様を定義します。


ウォータフォール開発の定義として基本設計と詳細設計にわかれているとどうしても同程度の設計書の記載が必要なイメージがありますが、重要度の観点から見れば明らかに基本設計の方が重要度が高いです。


基本的に実装、単体テストが問題無く実施できるのであれば詳細設計書は不要だと思います。COCOMOの指標においても詳細設計は実装、単体テストと同じくくりになっています。しかし、小規模開発では詳細設計書が無くても問題無い事も多いですが大規模開発になるとどうしても共通化すべきライブラリや整理しないと実装が難しい部分が出てきます。その場合はチーム内の意思疎通をはかる上でドキュメントを作成する必要があります。また、実装を行うために必要なサンプルコードや規約等のルール決めもこのフェーズで行う必要が出てくるので実装の準備期間として必要な側面もあります。


レビューを実施するために詳細設計でソースと全く同じ処理をユースケース等で記載するような場合もありますが、レビュアーがソースコードを読めるのであればソースコードをレビューしたほうが確実に内容を理解する事ができます。また、最近の言語では言語毎に特有な記述もあり一概にフローチャートやユースケース等の設計書で現すことが困難な事も多いので設計書を書くくらいなら実装とレビューを徹底した方が良いと思います。


目次に戻る