デスマーチ

正直言うと私は本当のデスマーチを経験したことはない。もちろん3日3晩徹夜でプログラムしたような経験はあるが、本当のデスマーチとはほど遠いと思う。だけど、デスマーチ絵空事ではないことは知っている。


【軍曹が】携帯電話開発の現状【語る】
http://s03.2log.net/home/programmer/archives/blog38.html
http://s03.2log.net/home/programmer/archives/blog39.html


そうは言うものの、上の話は、私にとって、あまり現実味が感じられない。「10万行のスパゲッティコード」と言うが、yaneSDK2nd/3rdにしても10万行ぐらいはある。(スパゲッティコードではないつもりだが) だから10万行ぐらいたいした量だとも思わない。50行1ページで印刷してもたかだか2000ページしかない。1ページ100行で両面印刷ならわずか500枚だ。だから、こういうのは最初にすべて印刷してしまったほうがいい。「ノートは1日で平均2冊が消費された。準備してきた物が10冊だったから6日目の朝に売店に買いに行った」とか書いてあるが、こんなことしてたら時間がかかって当たり前。どうしてリストをプリントアウトしてそこにメモらないの?と言いたい。


「担当する機能の最上位関数を見つけるのに1週間かかった。その時はS上等兵歓喜の叫び声を上げたものだ。 」なんて、いくら何でもかかりすぎだ。これでは全然話にならなくて当たり前。逆アセして解析していても、普通、そこまで時間はかからない。これにしてもクロスリファレンサをかけて(or 自分でクロスリファレンサを作って)、結果を印刷して手元に置いておけばずいぶん作業効率が違うはずだ。なんで、手作業で延々と追いかけてるの?と言いたい。


とは言うものの、他人のプログラムを引き継ぐというのは、自分で好きなように作っていいのとは違って、個人差が顕著に現れる。自分ひとりでプログラムを全部書くだけならば楽にこなせる人ですら、他人のプログラムだと何をやっているのかすら理解できないことがしばしばある。自分ひとりでなら全部書けるから「自分は出来る」と勘違いしてしまいがちだ。私はそういう人に、いつもはっきり言うことにしている。「違うんだ。あんたは出来ないんだ。正確に言うと、あんたは自分の流儀でないとプログラムを満足に完成すらさせられないんだ」と。