詳細設計イラネ?

本当は「TeedaWTPEclipse 3.3 Europa」の続報を書きたいのですが、情けないことに帰宅時間が遅いせいで進捗ゼロという深刻な状況もあって、再び話は開発プロセスに。

詳細設計いらなくね?

簡潔に書いてしまうとこれだけで済んでしまいますが、最近こんなことを考えています。


ソフトウェアの開発方法って、日々進化してますよね。JavaのブレイクやLLの台頭もあって、一昔前にプログラマと呼ばれた役割がこなしていたより、はるかに多くの仕事がプログラマと呼ばれる役割に課せられてます。若い人たちはどんどん優秀になってますし、中にはデザインパターンに代表されるようなOODを理解して、実践できる人がガシガシ開発しています。(例外も、いる)

汎用機全盛の時代ならまだしも、今の時代にこういった若い人たちに対して詳細設計書を書いてあげなくては、と考えることが今の時代どれだけメリットがあるでしょう?むしろ詳細設計を含めて、モジュールなり画面なりの開発を任せてしまうというケースが殆どだと思います。


となると、システムを開発するスケジュールの上に詳細設計という工程は不要ではないか、と思うわけです。
お客様が内部仕様書をよこせ、というのであれば内部仕様書を書かなくてはなりません。でも、それを詳細設計という工程で行うのではなく、システムの開発とは全く別のタスクとして行えば良いんです。

そうする事で、モジュールを実装して試験をして、その過程で機能の概要に「若干の修正」が発生した場合に過去に作った詳細設計書を片っ端から直したり、あるいは忘れた頃にまとめて直したりという、恐らく最も苦痛な作業は無くなるのではないかな、と思ったりします。


そこで考えるのが、詳細設計という工程を外した場合、本当にそれでプログラムが実装できるのかということ。
自分は、可能だと思います。タスクとしての詳細設計は、実はなくなりません。そのプログラムを担当するエンジニアが、要件と開発規約から実際のソースに落としこむという作業は必ず必要です。が、そのアウトプットはプログラムソースがあれば十分です。


というところまでで、ひとまずおしまい。明日からはこの自分の発想への反論を考えてみます。