読者です 読者をやめる 読者になる 読者になる

Black hole projects も訳してみた

.NET

Paul Vick の 『http://www.panopticoncentral.net/archive/2004/12/01/2598.aspx:title=』 の適当訳.『The Origin of LINQ to SQL』を読む上でこれは欠かせんだろうということで.
Matt Warren の暗号に比べれば遙かに読みやすいんだけど,訳文の文体で最後まで迷ったあげく,結局原文のおもしろさをだいぶスポイルしてしまった気がする.反省.でも後で気付いたら直すメソッドであんまり後先考えずに適当公開.眠いしね.あとそろそろ膝の上の猫どかさないと重い.食い過ぎだよキミ.


Black hole projects (原文)

Netdoc と名付けられた製品についての Scoble *1 から聞きつけて,Steve Maine は,似たコードネームを持った Microsoft の製品 (その新しい方の製品とこれとは何の関係もない) について思い出話をする機会を与えてくれた.彼曰く,

Netdocs” という名前は西暦 2000 年の Microsoft へのインターンでの経験として私の心に残っている.そこにあったのはこの “Netdocs” というコードネームを与えられたなぞめいたプロジェクトで,それはチーム全体が消えていくブラックホールだった.Netdocs チームに異動し,そして消息を絶ったインターンの友人が何人かいる.Netdocs は巨大で,大量の人間がそれに取り組んでいたことはみんな知っていた.しかしそのプロジェクトが実際に何をしていたか,誰も,何も知らなかったんだ.

Netdocs がまさに動き出した時のあたりで私はオフィスを去ったが,実際数年にわたる人生をそれに投資した人間を数名知っている.Steve が知っている以上のことを書くことはできないのだが,Microsoft におけるその他の "black hole projects" について確かに考えさせる話だ.私のキャリアの初期,私のすぐ近くにあって,私が巻き込まれまいとした奴がひとつあり,そして後に単に見ていただけのものが他にいくつかあった.それらは日の光を見なかったので,私が語れることは何もない.しかし,black hole project 固有の特性については考えされられた.それはこのようなものであった.

  • 彼らは驚くほど壮大なゴールを持っているはずだ.「コンピュータを使って働く人々のやり方を根本的に見直す」ような何か.そのゴールの起源である本人を含め,誰も,それが具体的に何を意味するか明確な考えを持っていない.
  • 彼らは既存の巨大なコードベースをいくつか放棄して,ゼロから全てを書き直す羽目になってるはず.「これが正しい方法なんだ,今度こそ!」
  • 彼らには完璧に非現実的な締め切りがあるに違いない.大抵これは,オリジナルコードベースを,最初に書いたときより十分に,十分に短い時間で書き直せると信じているためである.
  • 彼らは互換性に関して完璧に非現実的な信念を持つはずだ.巨大なコードベースを書き換えながら,余分な大量の努力なしに,珍しくて小さな変な挙動とやそういったもを全てを互換させられるはずだ,という形でこれはあらわれる.
  • 彼らは常に,決して訪れることのない主要な期限まであと 6 ヶ月の位置にいる.あるいは,期日は確かに来たが,増補的な別のマイルストーンがプロジェクトの最後に追加されている.
  • 彼らは非常に大量のリソースを消費しなければならない.既に確立していて,重要な額のお金か市場シェアを生み出す製品を 1 つかそれ以上蝕みながら.
  • 彼らの壮大で広範囲なゴールと関連する何かを持つ任意のグループは必ず乗っ取られる.特にそのグループが小さくて,専門的で,適切なゴールと,合理的なタイムフレームの元で出荷できる望みを持っている場合.
  • 何度か社内会議のデモで高く取り上げられるが,人々がうめく点というと「あー,これの別のデモじゃなくて.いつこれは出荷できそうになるんだよ?」
  • しばしば,出荷される/静かに息を引き取る何年か前に,BillG によって公式に高々と吹聴される.
  • たいてい,いくつかのモノリシックなアプリケーションまたはシステムを「コンポーネント化」してしまう.これは単に大量のコードの書き直しを意味するだけでなく,お互い全てシームレスに機能していたはずのチームを 1 つか 2 つに渡って分割しているということも意味する.
  • 前の項の結果として,大抵は,異なったチームが彼らのコンポーネントを一緒に動くようにとても努力するという,まったくもって大量の統合問題を引き起こす.
  • しばしば,まだ長いスケールで検証されていない新技術に任せてのアプリケーションやシステムの書き直しをもたらす.そういう役として当然,その新しい技術のスケーラビリティ問題を全て取り除く羽目になる.
  • 彼らはしばしば一人かそれ以上のエイハブ船長に指揮されていて,船長は強い畏敬の念を抱きながらひたすらに白鯨を追い求めている一方,甲板員は「ぬぅ,あの鯨は恐ろしく大きいぞ.ほんとに俺らは奴を仕留められるんだろうか」と突っ立っている.
  • 最後に,90% ぐらいの時間で,彼らは失敗し激烈なる死を迎えるに違いなく,恐らくそれによって他の製品は引きずり下ろされるか被害を被るだろう.もし彼らが実際に出荷するなら,少なくとも 4-5 年は出荷に要し,少なくとも 2 年は超過している.

このリストを思い付くのがどれほど簡単だったかが恐ろしい.全て思い付くままに書いた類のものなのに.Microsoft での 12.5 年を振り返ってみると,どれほど多くのプロジェクトがここに書かれているか恐ろしくなる.今現在進行中のいくつかのプロジェクトを含みながら...

*1:訳注: Microsoft のエバンジェリスト Robert Scoble