"Done is better than perfect." はどのくらいの質の "Done" なのか
保身
この話はどちらかというと個人開発の話である。また議論というよりも決意表明である。あと断言や主語が大きいが、それは勢いで書いてるからである。
本題
perfect を 100 点のクオリティだとすれば、done を 80 点だとして行動しようとする。人によっては 60 点かもしれない。しかし、実際には 60 点すら目標が高い。そもそも 50 点以上をとろうとしている時点で目標が高い。目指すべきはいいとこ 30 点である。まずは 10 点くらいがよかろう。しかし、それでも done のほうが偉いのだ。なぜなら大体の場合 50 点以上を目指すと途中で挫折して結果何も成果がなくなり、0 点になるからである。
勉強すればするほど、知識があればあるほど、そのプライド(自負)が邪魔をして done が難しくなってくる。「このクオリティじゃあ世に出せない」と思ってしまう。とくに賢くなった我々は「質」を求めたがる。もちろんそれも大事なのだが、「量」の価値を軽んじている。最近では「量」こそが「質」を形作っているように思える。この「質」と「量」の関係は成果物だけでなく経験にも言えるだろう。クオリティを求めるのは立派だが、自分の設定した「高すぎるクオリティ要求」によっていつまでも完成に向かわない。
done できないもう一つの理由は必要以上に保守性を気にしだすことだ。しかし、そもそも一度でもデプロイしなければ「継続的デプロイ」など無意味と化す。世の中には保守性を無視したプロダクトがまあまあ存在し、それを見たり管理すると保守性を開発段階から考えたくなるのもわかるし、その精神性は大事で改善は重要だ。しかしある程度の保守性を捨てて開発しなければリリースができなかったのも半分くらい事実だろう。保守性は一つでもリリースして初めて効力をもつ議題である。そもそも保守性を気にしている時点でその人はそれなりに良い品質のコードを自ずと書けているだろう。それ以上の保守性を自らに課しているだけにすぎない。
このような “done できない症候群” を患った人々はどれくらい世の中にいるのだろうか。少なくともその一例を私は知っている。それは紛れもなく今の自分だ。だからこそ今、徒然なるままにキーボードをとり、どこを叩かれても文句の言えないリファクタリングしがいのある記事を書いているのである。そしてこれから、そのような記事を書き、そのようなプロダクトを作っていく所存である。
余談
友人とともに書いた記事「React コードを隠したまま GitHub Pages でサイトを公開する」をきっかけに自分のポートフォリオサイトを最近作った。人というのは穴があれば埋めたくなるものである。サイトに載せるコンテンツがなさ過ぎてどうにかして埋めなければならない。
Discussion