工学的方法論と魔法

ソフトウェア工学なんてものはない」と言ったのはかのアラン・ケイですが、ソフトウェア開発はかなり文芸的で工学的に開発に対してきちんとした進行管理をするのは難しいです。
もちろん、完全なメソッド(この場合「やりかた」のこと。関数呼び出しルールじゃなくて)が決まっていて単純作業の組み合わせにまで落とし込むことが出来れば、のべ人日に分けることは出来ますが、そんなのはソフトウェアの「開発」ではなく単なる作業。思考の必要すらもいらない何かです。
そうではなく、目的があってそれを実現する情報科学的な裏付けがあって、でもまだ「実現されていない」ものを作ることが開発であり、高度な創造性が要求される専門職です。
昔、J.P.ホーガンが「創世記機械」を書いたときに作内の人物に「軍人の奴らは発明までスケジュールに組み入れやがる。発明というのはひらめいた瞬間に生まれるもので予定して発明することなどないのに!」と語らせましたが、まさにソフトウェアの開発は「発明」に近いですね。


もちろん、工学的方法論を適用できる方がコストの削減は出来ますし(創造的スキルのない人でも出来るから)、創造的スキルというのは大変教育しづらいので、産業として成り立たせるためには創造的な部分は可能な限り少なくする方向で進めるのは正しいのですが、創造的スキルがなくても最後までやっていけるような現場は少なく、突発的なトラブルでましてやスケジュール通りに進められる現場は更に少ないのでした。
進捗管理と無関係にいきなり進んだり、何もしてないように見えたりしながら創造的な作業を行っているとき、それは工学じゃなくてただの「魔法」です。
魔法を求められがちな大魔導士(自称)としては、工学的方法論の優位性も、工学的方法論にいかに落とし込むのかを考えながらも、「その魔法にはどれだけの工数がかかりますか」と聞かれると「ちょっと待て」と言いたいのでした。
もうマジックポイント残ってないよー。馬宿では回復しないんだってば。
ささやき……詠唱……祈り……念じろ!<違う
#灰になりました。


そういや、ファミコン版2(PC版の3)「ささやき、いのり、えいしょう、ねんじろ!」で、こっちの方が語呂が良くて好き。