兵は拙速を尊ぶ

仕事は雑でも速ければ良いという意味ではなく、「兵は拙速(の成功)を聞くも、未だ巧(最善策)なるも久しき(時間をかけ過ぎたものの成功)を見ず」との孫子の言葉に由る。
要するに最善を求めて手間をかけ過ぎたものは、逆に成功から遠ざかる。過ぎたるは猶及ばざるが如しという意味。



ある時期無敵を誇ったナポレオンの軍は、必ずしも高機動力とか、高速移動ではなかった。が、いつ、どのくらいの速度を出して、どこに移動できるかを、一定の計算のもとに計画通りに実行することができた。
ナポレオンの軍の移動は、軍楽隊をつけて行進して常に一定のリズムで歩くように訓練されており、どのマーチを使っているときは、1時間で何km移動というのが決まっていた。故に、移動の距離とタイミングを正確に合わせることができ、兵力を重要な一点に、位置的にも時間的にも集中することが出来たので強かった。

そのあたり、砲科の出身で数学的なセンスがあったナポレオンの特筆するべき長所なのだろう。絶対的な速度の速さは必ずしも重要ではなく、必要な機会に必要なだけ兵力を集めることができるというのが重要だったということだ。

ナポレオンの凋落はロシア遠征に失敗したところから始まる。ナポレオンはロシアの冬将軍に敗れたことになっているが、ナポレオンとて馬鹿ではないので、ロシアの冬が狂ったように寒くて暖かい国の軍隊が戦闘力を大きく落とすことは当然分っている。それなのにハマってしまったのは、当時のロシアがろくに道路が整備されていないド田舎で、冬はカチカチに凍っている凍土が、夏場は緩んで泥濘になってしまい、歩兵はともかく重たい砲兵は移動が著しく困難になってしまうため、ナポレオン軍の長所である、定時定速定量の移動による兵力の集中というのが出来なくなってしまったのが本当の敗因なのではないかと思う。冬将軍の恐ろしさは知っていたが、夏場に道路が腐ってしまうというところまでは調査不十\分だったのではないだろうか。

というのは全くの私見であって、どこかの歴史の資料で読んだわけではないので、全然的外れかも知れないが、ナポレオンの長所がなんであったのかを考えると、誰もが知っている冬将軍に負けたのではなく、予\想以上にド田舎だったロシアの悪路に負けたのではないかという気がする。



システムの開発も拙速を尊ぶ。どんだけ品質が高い素晴らしいシステムでも、納期に間に合わないのは全くのアウトだ。バグ混じりでも、必要な機能\が全て実現されていなくても、とにかく契約で決めたある時期に形だけでも稼動するものを納品しなければならない。
かと言って早ければ早いほど良いというわけでもなく、スケジュールより前倒しで早く仕上がったからといって、多く金をもらえるわけではない。

理屈でいけば、スケジュールで切った期間を使い切って、その期間で可能\な限り品質を高めるべきなのだろうが、実際にはそうはならず、拙速に前倒しで作業して余った時間を、他の仕事に使って小遣い稼ぎするとか、別の火を噴いているプロジェクトにヘルプで投入するとかいったリソ\ースの使いまわし状態が常態になっている。

拙速に前倒しにすれば、元々参加していたそのプロジェクトの品質は下がるのだが、品質が下がったとしても、納期が守られるなら、発覚していないバグはバグではないし、納品検収時に指摘されなかった、あるいは気がついたけど品質より納期が重要だからスルーした品質不足は、大した問題ではない(爆)

故に、あまり大きな声では言えないし、管理職は決して公には口にしないが、現場の空気としては計画通りのスケジュールの範囲内で可能\な限り品質を高めようとするエンジニアより、拙速で取りあえず最低限の動くものを前倒しで作って、スケジュールに空きを作るエンジニアの方が開発を請け負った企業には喜ばれる。
(発注したエンドユーザーに喜ばれるかどうかは全くの別問題だが)

なぜ喜ばれるか、それは前倒しで空けたスケジュールを元々の仕事のバグつぶしに使うか、別の仕事に突っ込むかは、開発請負側の自由だからだ。そういう発注元のお客には秘密の空き工数を作ることは、ある意味裏金作りしているのと同じことだ。裏金を作るのが上手な役人が役所にとって有用なのと同様に、空き工数を作れるエンジニアは重宝される。

なんであんなバグだらけのプログラムを作り、紙くず同然の設計書を書くエンジニアが、意外と高い評価を受けるのだろうと疑問に思ったら、上記のような状況にあてはまるかどうか観察してみると面白いかも知れない。