»いまそこにある2007年問題プロジェクトが火を噴いている。いつものことだとうそぶく自分が情けない。このテの仕事をしている面々には茶飯事なのだが、今回はそれらを押しのけて「2007年問題」が突出する模様。2007年問題とは、一般に団塊の世代の一斉退職による人材・ノウハウの逸散のことを指す。狭義だとメインフレーマーな人・COBOLerな人の退出によるレガシーシステムのメンテ問題だし、広義ならプロジェクトマネジメントノウハウの流出とも位置付けられる。これを深刻に受け止める人もいれば、むしろ好機とみなす人もいる。日コン11/1号に詳しい。いまココにある「2007年問題」はそんな上っ面なやつじゃなく、もっと切実なやつ。団塊世代は「いけいけどんどん」、即ち作ってナンボ、動かしてナンボの世界だった。止めるのは悪であり、動かすためのいかなる手段も正当化された。分からない定数(群)、サブシステムを跳躍するGOTO文、だれも理由をいえないオリジナルインクルード文。こんがらがって書いた当人も読めないようなコードを「スパゲッティ・コード」と呼ぶが、スパゲッティならまだマシ。スパゲッティなら、まだ皿にのっている。皿からはみ出てテーブルから落ちそうな血まみれ「スプラッタ・コード」となっている。誰も読めない(し、メンテも不可能)。システムは動きさえすれば善なのであり、動いているコードは触るなという鉄則がある。その結果、ブラックボックスと化したシステムは、「よく分からないけれど動いてるからいいや」状態で放置。動かすために裏でごにょごにょ手入れしたことは、ドキュメント化されないまま、みんなの記憶の中に放置→やった本人すら忘れている。いや下手に「ワシがやった」などと手を挙げようもンなら、ドキュメント化せよという至上命令が降ってくる。ここは口をつぐんで放置プレイ。レガシーシステムには、多かれ多かれ「記録に残していない修正」がたっぷりと入っている。した「裏でごにょごにょ入れた仕様」を前提とした修正・バージョンアップが繰りかえされる。...そしてある日、「レガシーシステムを更改せよ」という命令が下される。ープロジェクトの俎上に乗る「現行のスペック」には「バックドアから入った仕様」が漏れている罠に誰も気づかない。ゲームだと隠れキャラを出さなくてもクリアできるが、この隠れキャラは突然必然出現する。どこにも書いてないし、「あンとき何かイロイロ入れたなぁ」としみじみと思い出されるのみ。「記録より、記憶に残るプレイをしたい」という名言を吐いたのは新庄剛志。団塊オヤヂたちよ、「あの頃は大変だった」と遠い目をしているヒマがあれば、記憶よりも記録を残しておけ、たのむ。»コメント偶然立ち寄りました。詳しい意味は専門で無いのでわかりませんが、なんとなく言いたい事はわかります。すげーおもしろいblogでした。23:50しかし元某金融機関のユーザーSEから言わせてもらえば、これこそが案件毎のプロジェクトによるシステム開発の弊害ではないか?と思う。”システムは動きさえすれば善なのであり、動いているコードは触るなという鉄則がある。”ですが、私のところは”動いてるから良いじゃん”でしたけど。プロジェクトが解散したら、もう何もやっちゃいけない(今ちゃんと動いているシステムのドキュメント作成なんてもってのほかな)んですよ。これらレガシーシステムは例えば銀行オンラインシステムの草創期に半ば国家的なプロジェクトとして団塊世代がユーザー・メーカーを超えて協力し合い、ノウハウ無し、手探り状態で作り上げてきたものですよね。(例えば我々が偉そうに言うノウハウも実はココ(この時代)で培ったものが多くあるのではないか?とさえ思う。)さて”動けば良い”であるが、プロジェクトとはまさにこれだろうと思うのは極端だろうか?逆に私は企業SEとしてシステムを維持管理していた時期(=大型案件の合間≠プロジェクト)、これら多くのスパゲッティをそれなりに構造化しコメントを挿入しながら改良を加えておりましたね。メンテナンスとはこういうものだと。スパなのは団塊だから、オヤジだからではなく、コストと期限と品質(動かない綺麗なソースより、ちゃんと動くスパが○)のガチガチなプロジェクトで生まれた製品だったからではないかな?なんて思うのは私がもうオサーンだからですね。さん、コメントありがとうございます。おっしゃる通り、スプラッタの理由を団塊オヤヂのせいにするのはちょっと違いますね。ご指摘ありがとうございます。「動けば尊し、我がCの怨」とはよく言ったもので、C言語に限らず動くためのいかなる手立ても「善」とされていることには異論がありません。レガシーシステムを作り上げてきた人々に対し、素直に畏敬の念を捧げます。いま私がおまんまを食べられるのは、そこで培われてきた実績やノウハウがあってこそですもの。動かすための手立てを隠れ仕様という形で残し、ほっかむりしたまま定年まで逃げ切る背中へはオイ、チョットマテといいたくなるのです(半分以上愚痴なのですが...)くり返すデスマをなんとかしたくて始めたPMBOKには「スコープ変更管理が重要だ」などとあります。開発プロジェクトが終結しているのにスコープ変更が記録されないまま、維持契約が結ばれているのが現実。それが現実だよ、といえるのは開発会社と維持管理会社が同一会社、もしくは系列会社の場合でしょう。レガシー更改の際に、呼べる距離だし...しかし、2007年から向こうは。00:24しかし、2007年から向こうは。使えるヤツだけ定年延長し、契約社員として働かせるんじゃないでしょうか?今は定年がイコールばら色生活の始まりじゃ無いみたいですし。私はそれまでに事態を何とかするプロジェクトを提案してみようと思いますが、ソレ(コレ)で定年後も安泰と思っている上司に却下されるでしょうね。奴等もちゃんと知っていますよ。使えるヤツ?の定義が曖昧でみんな残ってデカイ顔し続けるんです...昇進の機会もさらに減って、私にとってはこれこそ2007年問題だな。18:13名無しさん、コメントありがとうございます>私にとってはこれこそ2007年問題だな思わず目頭が熱くなりました。よる究極の「ワーク・シェアリング」ですね。もって、レガシー更改の際は昔を知っているというだけで「ネ申」として振舞うのでしょう。本当の神はエグゼクティブマネージャにクラスチェンジしてたり、あるいは自分で起業していて、既にいないという罠。12:22↑名なしで投稿してしまいました。私たちが将来同じ手を使おうとしても今一生懸命進めているパッケージ化と共同センター化、(開発場所の)グローバル化の波に飲まれてザッパ~ン。