いろいろ足りない

不足分を補いたい

コードを書かない人間に設計はできるのか問題

よくある命題。
kuranuki.sonicgarden.jp
いくつか調べてリンクを貼ろうとしたのだけれど、いきなり答えが出た。

「仕様の設計」は、ソフトウェアを作りたいと思う人(プロダクトオーナー)には、必ずしもプログラミングのスキルは必須ではないですが、そのソフトウェアのプログラミングを行うプログラマが一緒に入って設計しなければ、良い設計は出来ないでしょう。

ソースコードの設計」は、間違いなくプログラミングのスキルは必要になります。そもそも現代のプログラミングにおいて、ソースコードの設計とコーディングは不可分であり、それがもし分かれているとしたら、相当に非効率なことが起きているはずです。

別にプログラミングができずとも設計はできるとは思うけど、常に違和感がそこにはあった。
自分なら実装のしやすさを優先してこうするのになーと思う程度に非効率なものが生み出されているのだが、その非効率さが気付かれることはない。*1
何も知らない人間が適当に設計した結果、無茶な変更が入ったり、そこに危険性が隠れていたりと、良い設計にはならない。
故に、コードを書かない人間の設計は良い設計になりづらい、辺りを答えにするのはどうだろう。

*1:設計する側もレビューする側もコーディングできない場合が多い