問題解決は「同じ方向に進むために何か1つ変えてみる」が吉


先週デブサミで羽生さんのセッションに出席した。
内容はスターロジックさんの開発スタイルの解説。大変な労力をかけて積み上げられた智慧がタダで聞ける。東京最高。
はぶにっきの読者ならそんなにびっくりする話はなかったと思うが、一見さんにはものすごい異形の方法論に見えたんじゃないか。JavaRDB以外はほとんど手作りだもの。


だいたい問題解決のやり方には

  1. 同じ方向に進むために何か1つ変えてみる
  2. 進む方向自体を変えてしまう

の2種類があって、1.のやり方は地味だからあんまりニュースにならなくて、2.の方は何だかキラキラして楽しそうだしインパクトが強いのでニュースになるわけだ。
例えばウォーターフォールが機能しない時、「ヒアリング不足が原因だ」と見抜いてヒアリングの質・量を上げるのが1.で、「ダメだウォーターフォール。今はアジャイルが普通だよね」というのが2.だ。
1.はスターロジックさんのやり方で、まさに「地味&地道」*1だ。トヨタカイゼンなんかもこっちの考え方。ヒアリングの質量を上げると実装フェーズが圧迫されるから、玉突き式に実装の高速化が必要になる。だから極限までコードを書かなくてよい仕組みを組み上げようってんで自動生成ツールを進化させているわけだ*2


2.の方はそれまで積み上げてきた土台ごと捨ててしまうから、こっちを選ぶと土台作りのフェーズに突入することになる。
土台作りとは技術者たちの寿命を賭けた人体実験であって、実験してもらったけど収穫フェーズに入れませんでした、て技術もいっぱいあるけど誰も責任を取らないしホラ吹いてすいませんて謝る人もいない。
記憶に新しいところではこの業界がEJB(2.1まで)に投入した膨大な労力は無駄になってしまった。俺が前いた会社では過去2年間に大手ベンダからEJBなシステムの保守の仕事がいっぱい落ちてきた。死に体の技術を使ったシステムの保守なんてやりたくないってんで大手の人たちがやる気をなくしてしまって、それで外注先を探していたのだ。この仕事を担当したチームはお通夜のような雰囲気になってしまった。


たくさんの会社が2.のやり方で右往左往しているときに1.を貫いた羽生さんには本当に頭が下がる。もうね、セッション終わったらあきひろコールしたい気分だったね。
それにしても、どうしてスターロジックさんだけが1.をやっているのだろう。
俺が知らないだけで、あのレベルまで積み上げができている会社は他にもあるのか。

*1:スターロジックさんの今年のテーマなんだって

*2:今は全体の8割のコードが自動生成だとのこと