ドキュメントが嫌いなエンジニア、ベンチャー企業
時々、「わかり易いコードを書けばドキュメントが不要」とかいう話を聞いたりもします。
詳細設計などについては確かに、変更も多いし、コードさえ読みやすければ、不要なドキュメントもあるかもしれません。
情報の共有をコードにしろ、ドキュメントにしろ明確に、チームとしてここをみればいいというのがあればいいと思いますが、ただ怠惰の結果としてドキュメントがなく、後付的な「コード至上主義」は情報の共有を果たしているのか甚だ疑問です。
今の開発は細かく技術が分断している
15年ぐらいまえは、サーバサイドの言語だけでいろいろ済ませることもできたかもしれません。
翻って、2019年あたりのWeb開発はどうでしょうか?最近は、サーバサイド、フロント、インフラ、SaaSなど外部との連携など、フルスクラッチで少ない資源でシステムを作る時代ではないです。
とにかく、いろいろな要素や職種の人が協力して一つのシステムを作り上げます。
- 参考:一人でフリーランスとしてWebプログラマーをする限界
- 参考:2000年~2019年にかけてWebのフロント開発は進歩しているのか?
- 参考:5G、IoT、SaaS、AIに備えて高速・並行処理に有利なWeb開発用プログラミン言語の習得を
技術や職種が分断しているときの「共通情報」としてのドキュメント
コードをみればいいやというのは、リソースが少なければそれでいいかもしれません。
ですが、現在のようにプログラム言語に関しても、いろいろ分断していたり、外部のAPIなどを使うようになると、ソースコードだけみていたらシステムの情報が分かるわけではありません。
いろいろな要素や職種が連携すればこそ、母語や社内の共通の言語でかかれたドキュメントが必要になるのだと思います。
基本設計、外部設計などユーザー視点や共通情報は最低限ドキュメントにして共有する
プログラムの中身についての詳細設計は変更しやすくドキュメントとして残すのがいいのかは疑問があります。
ですが、基本設計、外部設計などユーザーさんの視点での機能仕様・画面仕様やシステム構成など全般に関係する情報はドキュメントとして決まったフォーマットで作成して、ユーザーさんやチームなどで共有すべきです。
小さい会社とかフリーランスの人はこのあたりの整備ができておらず、「炎上」することもあるように見られます。
今いちどドキュメントの大切さを見直す
本当は、時代を問わず、仕様書・設計書などのドキュメントは必要なのだけれど、今のWeb開発は今まで以上にその大切さがあると思っています。
また、時代に即した設計書の内容も必要になってくると思います(APIとかSaaSの運用設計とか)。