設計とか、詳細設計という言葉あやふやなのがいけない。

当たり前だが、ソースコードを書かないと動くものはできない
そのソースコードの設計というものが存在する。
これはプロジェクトを成功させたいなら絶対にやらないといけない作業。

このソースコードの設計というものは、大雑把な要求や開発や基本方針のみで設計するもの。
たとえばデスクトップアプリなのかウェブアプリなのかモバイルアプリなのか
サーバーは一台でやるのか、複数台使うのか、クラウド使うのか、
言語は何を使うのか、フレームワークは何を使うのか、珍しい機能、特徴的な機能は何か

これらの大雑把な開発方針からソースコードの設計を行う。
このソースコードの設計プロセスからできあがるものは、実際に動くスケルトンシステムだ。
動くものを作るのだから、ソースコードを書ける人がやるしかない。

作るシステムの機能は備えていないが、その機能を実装することが容易な設計。
そして開発プロセスまで含まれる。機能開発よりも先にそこまで作りあげてなきゃいけないんだよ。
ボタンを押したらどういう処理が行われるとか、そんなのはあとで考える事。
ありえないと思うかもしれないが、フレームワークはどうだ? 先に作られているだろう?

このソースコードの設計を詳細設計とか言ったり、詳細設計に含めたりするからいけない。
コードを書けない素人にも出来る作業だと思われてしまうし、要求分析、設計の後でやるものだと思われてしまう。
俺は(システム)アーキテクチャとか言っているが、
もっと適切な、コードを書ける人にしかできない設計という名前をつけたほうがいいだろう。