駆け出しエンジニアだからこそ知って欲しいこと #2 -コードは設計書である-

f:id:MasayaStripes:20200411125945j:plain

こんにちは、マっさんです。

前回書いた記事からの続きです。読んでない方は、こちらから読んで下さい。

masastripe-tech-note.hatenablog.com 

※コードは一切出て来ません。※

コードこそが設計書である 

よく、ソフトウェアの製造において、ハードウェアの製造プロセスと間違える方がいます。

まず、「設計」して設計図をアウトプットし、そしてその設計図からインプットとして、物理的に「製造」します。これはハードウェアとしては、正しいプロセスです。

 

しかし、これはソフトウェアの製造プロセスと対比するのは間違っています。

よくソフトウェアの製造プロセスをウォータフォールモデルで表しています。このプロセスは間違いではありませんが、皆さんの捉え方が誤っている可能性があります。

 

上流の「基本設計」から「詳細設計」「プログラミング」「テスト」「デバック」まで、全て「設計」であり、そのアウトプットが、設計書である「コード」です。

 

 

「製造」に当たるのは、リリースビルドとなります。つまり、製造はプログラマではなく、コンパイラやビルドシステムが行うことです。

 

この様に考えると、プログラミングとは設計行為であり、あらゆる文書作成プロセスのなかで、真にエンジニアリングにドキュメントと言えるのは、コードだけです。

 

つまりは、改善対象はコードである。

プロジェクトを行っていると、たくさんの改善が入ります。そして多くの場合、基本設計だけ行ってコーディングが行われない改善が数多くあります。

 

例えば、成果物として、「基本設計書」「詳細設計書」などを挙げる方がいますが、実際のところ、これらの設計書を改善したことろで、 今動いているシステムが良くなりますか?

決してなりません。

 

設計書のアウトプットはコードでしかありません。CASEツールUML作成はアウトプットではありません。

 

コードこそアウトプットであり、改善すべきなのは基本設計書ではなくコードなのです。

 

まとめ

少し短いですが、この考え方は大規模になっていけば行くほど、良いプロダクトを作って行くには必要な考え方です。皆さんは設計書おじさんにはならないで下さいね。

 次回

masatech-note.info