開発するにあたって設計書、レビュー、コメント、コーディングルールとかはいらない
酒の肴や日頃の愚痴を言い合うときに、
「設計書を書くのが面倒くさい」「コーディングルールうざい」「レビュアーが細かい」とかで盛り上がることがあると思います。
私の結論としては
- 設計書を作成する必要はない
- 各種レビューを行う必要はない
- ソースにコメントを書く必要はない
- コーディングルールなんて必要ない
です。
とはいえ条件がいろいろあるよね
案件の受発注の時や、自社サービス開発の時には、設計書がいるのか要らないのかの議論があるかもしれない。
そこには「QCDの観点で時間がない」だったり、「スタートアップなのでまずは動くものを作りたい」だったりの諸条件があるだろう。
もちろん、「一人でサービス作ってます」「○○人でチームを作って開発しています」なんてのもあるはずです。
リスクとは危険という意味がある。
しかし、経済や金融の分野では「リスク=不確実性」です。
IT業界だからリスク=危険がなければ各種不要でしょうか?
サービスという観点でいえば各種がそろっていないことで「リスク=不確実性」が生まれる事も考慮する必要があるのでは?
けどやっぱいらないよ、だってスキル高いしコミュ力高いし聖人だから
条件はいろいろあると思いますが、結局いろいろな作業は面倒なだけなので要らないという意見が正しいと思います。
スキルの高い人は、膨大な量の設計書を作成するよりも、その時間をコーディングにあれるだけで、思ったものが作成できてしまうからです。
だから設計書はいらない。
正しいものを常に作れるからレビューは必要ない。
スキルの高い人は、誰の何年前に作ったソースコードであってもいともたやすく読み解いて改修や新規追加をしてしまうからです。
だから、コメントを書く必要もない。
コーディングルールがなくても素晴らしいソースコードになる。
コミュニケーション能力の高い人は、相手がどこのだれであろうと、ニーズや意図をくみ取り、素晴らしいアプリケーションを作れるからです。
だから設計書はいらない。
正しいものを常に作れるからレビューは必要ない。
コミュニケーション能力の高い人は、相手に言われたことを完璧に覚えていられるので、何年たっても正しい仕様を覚えていられるからです。
だから設計書は...
聖人であるあなたは、いつでも質問に応じてあげる度量を持っていて、仕様の確認を滞りなく行えるからです。
だから...
聖人であるあなたは、苦手な人が忙しそうにしていても、素晴らしいアプローチで滞りなく一緒に作業を行えるからです。
...
けど、いるよ、自分はスキルが低いコミュ力低い、悪人だから
ただ...私のようにスキルが低く、コミュニケーション能力も低い悪人には各種作業が必要です。
スキル高いしコミュ力高いしな聖人の方には申し訳ないのですが...。
こんな私なので、自信がありません。「正しいもの」=「設計書」があると、道標(正解)があるようで作業が行いやすいです。
だから設計書が必要で、作ったものが正しいものかレビューが必要です。
「正しいもの」の共通認識を持つために設計書をください。
スキルが低く、理解しづらいコードを書く可能性があるので、レビューをしてください。見やすいコードの指標としてコーディングルールを教えてください。
スキルが低く、ソースを見ても理解ができないので、わかりやすいコメントを書いていただけると助かります。
コミュニケーション能力も低く、間違った理解をすることがあるので、設計書をください。
そしてコメントを書いてください。
悪人なので、苦手な人とは極力しゃべりたくありません。話をしなくてもすむ質の設計書をください。
悪人なので、設計書がないと自分の非を認めないなんてあるかもしれません。
とはいえ結局できない人間のわがままなので
ただ 結局 設計書、レビュー、コメント、コーディングルールはいらないのが正しい
もしすべてを完璧にこなせるなら。
それ以外の人は、しょうがないからめんどくさくても忙しくてもある程度の設計書とかコーディングルールとか作りましょう。エンドユーザにはまったく見えないところなのでサービスとしては関係ないかもしれない。それでも、中身がよいと、修正や新規追加のときに少しだけよいものが作れるかもしれない。
ということを思い立ちました。
見えない部分にまでこだわって、ただ、こだわりすぎてお客さんに迷惑がかからないように
そんな風に「いい感じ」に開発をしていくのがいいと思います。