@torufurukawa がデマルコと話をしたことがあると聞いて
— V (@voluntas) 2015, 3月 20
「ねーよw」と返事をしたものの、実は話をしたことがあった。そして、会話の内容は、仕事の仕方に、影響を与えていることに気づいた。ありがとうデマルコ先生。
2004年のデベロッパー・サミット、略してデブサミの第1回のとき、会場の廊下にいた。退学と就職の間を彷徨っていた私は、Python ユーザ会のブースの留守番をしていたのだ。
トム・デマルコは、基調講演者だかゲスト・スピーカーとして来日していた。金払っていないので講演は聞いていないし、別にイベント自体の運営には関係なかったのだけど、懇親会の会場に潜り込めた。主催者の翔泳社の人に「デマルコと、話してきていいですよ」と言われて、ひゃっほうってな感じで話しに行った。
とはいえ、別に話すことを準備していたわけではない。ただ、前から気になっていたことを聞いた。
「『プレッシャーを与えても速く考えられるようにならない』というのは、正しそうだが、認めるのは難しいと思う。とくに締め切りのきつい仕事だと。どうやって信じられるようになったのか?」みたいなことを聞いた。すると「私にもそれは難しかった。でもね、君はプレッシャーを与えられたら速く考えられるようになる?」と言われた。当たり前のことなんだけど。「合理的に YES と答えた人は今のところいない。だから信じるしか無い」と。
そのときは「サンキュー・ベリーマッチ」くらいしか返事をしなかったと思う。
それから10年たった。
開発者にたいして、設計/実装/テストをアサインする立場で仕事をすることがある。スケジュールから遅れがあった時でも、プレッシャーを与えたりしない。ということに、さっきのツイートで思い出した。どのくらい意識しているのかわからないけれど「どうしても要るのだ。だから全部しよう」とは、たぶん言っていないと思う。言ってたらごめんなさい。
やりたいことを分解すると、いくつのコンポーネントになるのか? それぞれの規模は? 各コンポーネントの依存関係は? そういうことを聞きながら、ビジネスレイヤーでの価値を最大化するには、何を捨てられるかを考える。開発者が間に合わないと言ったら、十中八九間に合わないだろうという前提を持っている。少なくとも、彼らが想定している成果物と方法では、間に合わないのだ。私の責任は、ビジネスレイヤーに対してアウトプットする付加価値を最大化できるような、技術レイヤーでの取捨選択とプロセスの調整だ。
だいたいこれまでだって私が「それは十中八九無理だ」と思ったことは、十中八九無理だった。スーパーハッカーを連れてきたらできたかも知れないが、たいていそんな時間はない。3日でなんとかしろとか、あと3時間で始まる生放送までになんとかしろ、なのだ。
今、デマルコに会えたら、もっといろんな質問をするだろうし、言いたいこともある。けれど、中退したての私にしては、あの質問は我ながらよい質問だったし、それを10年後の今、活かせていることは光栄だ。あの日、「話してきたら?」と言ってくれた @turky には感謝している(忘れてたけど)。