続・深刻なシステムの引き継ぎ問題

http://itpro.nikkeibp.co.jp/article/OPINION/20060324/233161/

ツールや手法,方法論は整備されてきたし,今の若手/中堅技術者はそれを学ぼうという意欲が旺盛だ。

システム資産は「要件」と「技術」をコンピュータを使って具現化したものと言える。

ダウト.突っ込む気力も失せる.*1 *2

むしろ問題になるのは,ベテラン技術者が持つ“スキルの継承”よりも,ベテラン技術者が時間をかけて作り上げてきた“システム資産の継承”の方である。

継承しやすいシステムを作るのも技術力のうちです.それも基本的且つ極めて重要な.スパゲッティプログラムしか作れないのは技術力が低い証拠.*3

システムの引き継ぎに起因するシステム障害や失敗プロジェクトは少なくない。地味だがもっと注目されてよい問題と考える。

そこだけは賛成.
だがこれも無駄だろう.「核燃料をバケツで再処理して効率化」「鉄筋を減らしてコストダウン」「一日24時間労働で納期短縮」「クラス数を減らして工数削減」なんて馬鹿なことを奨励する上司の下では,まともなシステムが作られるわけがあるまい?*4

「引き継げないシステム」になったのは今までの責任者が責任を先送りにしたツケが溜まっただけです*5.ならば責任者がその責任を取るのが筋というものだ.定年退職や辞任して無罪放免なんて無責任なことは許されるものではない.*6

*1:「方法論」ってどの方法論の話かなあ?まさかUMLモデリングとかオブジェクト指向設計とか言わないよね.

*2:「XXXと言える」.言えたからってどうだっていうのかな?システム開発の「本質的な複雑さ」が減るわけでもないし,問題の本質を理解する助けになるわけでもない.「銀の弾丸」はやはり存在しないのだ.

*3:ちなみに,ここでいう「ベテラン」というのは,おそらくは単に「経験年数が長い」だけで,技術力が高いことは意味しない.

*4:「偉大な提案」http://itpro.nikkeibp.co.jp/article/Watcher/20060221/230096/

*5:いずれ引き継ぐつもりなら/引き継がなければならないなら「引き継げないスパゲティ=システム」でなく「引き継げるシステム」を作らなければならない.スパゲティ=システムを作った時点で既にそれは失敗プロジェクトなのだ.一度こうなると取れる選択肢は限られてくる.
これも「竹槍でB29」のパターンの一つだ.いずれB29を相手にするつもりなら竹槍でなく戦闘機を用意しなければならない.竹槍しか用意できなかった時点で,それは既に敗北なのだ.あとは即時無条件降伏か,徹底抗戦した後に無条件降伏するかの二者択一.

*6:よく「管理職の給料が高いのは,重い責任を背負っているからだ」と言われる.ならば最後まで,その責任をきっちり果たしてもらいたい.単に「動きました」「動いていました」では何も責任を果たしていないに等しい.計画的に引き継げるシステムを作ってトラブルなしに引き継ぐのも責任範囲内で,「知りませんでした」では済まされない問題だ.