『「誰が書いても同じコード」は大事なことなのか』どうかよりも。

現役時代*1、ワシが悩まされたのは、各担当者のコードの質の差よりも、せっかく人が収束させようとしている問題を、わざわざ発散へ導く人の存在であった。それは例えば、問題をシンプルにしようとしている時に、わざわざ新たに複雑な要素を取り入れようとする人であったり、既に実装しかけているソフトウェアの仕様を後から変更しようとする人であったりした。まあ、もっとも、仕様変更と言っても、実装が簡素になる上に予算と納期は変わらないのなら歓迎であるのだが。(ぉぃ


特に実装も折り返し地点を過ぎ、納期も間近に迫っているときに問題を複雑にする人には、マジ勘弁してくれと言うほかない。おそらく、ソフトウェアに限らず、物作り全般に言えることだと思うのだけど、ソフトウェア開発での用語を使えば、仕様決定→設計→実装→テスト(デバッグ)、とフェーズは進むし、設計段階で入っていなかったものを実装段階で無理矢理入れようとすればどこかが破綻する。また、仕様を決める段階ではあれこれと入れようとしていた機能も、開発のフェーズが進むにつれて、削ぎ落としていく他ない。これをうっかり途中で新機能を入れることを許したり、一度決まった仕様を後から無理矢理変えようとすると、とたんに開発の終わりが見えなくなってくる。しかも、開発者のレベルではプロジェクトを収束させようとしているのに、管理者のレベルではまだ発散に向かっていたりすると、こんなやっかいなコトはない。ベクトルが180度違っている。もう納期も近いんだから、せめて空気を読んでくれと思うが、現実には意外と全然全く読んでくれなかったりするのだった。あー恐ろしい。(ぉぃ

*1:今はもうリタイヤして自宅を警備する穏やかな日々を送っています。(ぉぃ