自分の会社が何であるかを理解する
From The Joel on Software Translation Project
Joel Spolsky / Fujimoto訳
2009年11月1日 日曜
あなたの会社とは一体何なのだろう?
最近、キャシー・シエラを読んで考えさせられたのだ。キャシーはそのブログ「Creating Passionate Users」と著書「Head First」シリーズでもってデベロッパー教育に革命を起こした人なのだけど、彼女は同じことを繰り返し言い続けていた: 「ユーザーがスゴい人になるのを手助けしてやりなさい」
キャシーが言うことには、もしあなたが自分の会社のミッションを「私たちは $TYPE_OF_PERSON の方々が $THING についてスゴい人たちになるのを手助けしています」という形で説明できないなら、熱心なユーザーを獲得することはできないだろうという。あなたのスローガンは何だろう? このテンプレートに当てはめることができるだろうか?
私たちは9年かかったが、ようやく「Fog Creek Softwareとは一体何なのか?」という疑問の答えを見つけ出すことができたようだ。それが何かはすぐ後で書くことにして、まずはその背景をお話をしよう。
会社ができて間もないころは、私たちはニューヨークにおいて、ソフトウェア開発者にとって素晴らしい職場を作りだすことだけを目指していた。
うん、本当にただそれだけだったんだ。当時、ニューヨークのソフトウェア関連の仕事といえば、ほとんど全てがひどいものだった。あなたはただどうひどいのかを選べるだけだった。みじめな扱いを受けながらスーツを着て長時間働きたい? だったら銀行に就職すればいい。国によっては死刑になるようなひどいHTMLの使い方をさせる、躁鬱病じみたクリエイティブな奴の元で働きたい? ならメディア企業に行けばいい。水道管から頭に水が滴ってくる地下室で一日24時間週7日で働き詰めて、その報酬を無価値なストックオプションで払ってもらいたい? それなら収入ゼロのドットコムスタートアップに行けばいい。
じゃあなぜニューヨークなの? ワシントン州のレッドモンドなら、ソフトウェア開発者にとてもよい待遇を与えてくれるすばらしいパッケージソフト会社がたくさんあるじゃない。けれど、私は遅れた都市に落ち着こうと努めるのにうんざりしていた。確かにシアトルの辺りは美しくて、緑もたくさんあるし、清潔だし、一流のコーヒーもある。それに、今では遅くまで開いている食料品店だって数件あるということも分かっている。しかし、私はそれでもニューヨークに留まる。なぜなら、ここは世界で最高の都市だからだ。
私は探すのをあきらめて、親友のMichael Pryorと会社を立ち上げることにした。すばらしい職場を作るというのが私たちの第一の目標だった。私たちは一人一人に個室を与え、ファーストクラスに乗り、働くのは週40時間と決めて、皆にランチを振る舞い、アーロンチェアを買ってやって、最新鋭のパソコンも揃えた。そして私たちはすてきな公式を発表した:
スローガンは「最高のソフトウェア開発者が働きたいと思うような会社を作る」だった。控えめに言っても不格好な文句で、手短で要を得た会社説明でもないし、正しい形式にも当てはまっていない。「アバクロンビー&フィッチ: 最高にカッコいいティーンエージャーが働きたいと思うアパレルストアを作る」こんなもの誰が気にする? まあ、カッコいいティーンエージャーではないだろうね。
とにかく、私たちはこの目標を達成した。線を引いてリストから消そう。じゃあ次は? 私たちは会社の新しい目標を探す必要があった。
そしてそれはこの形の文句でなくてはならない: 「私たちは$TYPE_OF_PERSONが$THINGについてスゴい人たちになるのを手助けしています」
私ははっと気がついた。私たちがやったことで成功したものはどれも、一つの共通点を持っていた。これらは皆、ソフトウェア開発者たちがソフトウェアを製作することおいてスゴイ人たちになるのを手助けするものだったのだ。
このことは、Joel on SoftwareやStack Overflow、私が執筆してきた本全て、DevDaysやBussiness of Softwareのようなカンファレス、Jobs Board、Stack Overflow Careersなどに当てはまる。
Fog Creekの一番の製品であるFogBugsもそうだ。FogBugzの意義は、良い開発者をスゴい開発者へとそっと導くようなデベロッパーツールを提供するということに尽きる。これは私がこの10年間書きつづけてきた価値観をソフトウェアに実装したものなのだ。欠けているのはたった一つ、例外を返り値に置きかえて、さらに変数名全部にハンガリアン記法の接頭辞をつける機能だけ。ただの冗談だって、だからそのバズーカを下ろしてくれ。
宣伝活動だと批判されようと、私が延々とFog Creekで行われている事について書いてるのは、あなたがもっとスゴいソフトウェアを作れるように手助けをしたいからだ。私は製品の販促のために書いているのでない。別にFog Creekの製品を買わなくとも、製品をデザインし、開発して、それを販売するという私の体験を読むことができる。私が筆をとるのは、私の経験を少し共有することで、あなたがより優れたソフトウェアを作る助けになるかもしれないからなのだ。
開発者を助けるということに的を絞っていることを考えれば、私たちの初期の製品であったCity Deskがなぜ失敗したのかが分かる。それは、City Deskがソフトウェア開発者とは何の関係もない製品だったからだ。このことはまた、私たちの別の製品であるFog Creek Copilotがどうしてソフトウェア開発者による技術サポート用というニッチでしか売れていないのかも説明してくれる。
だから、ほら、新しいスローガンはこれだ: 「私たちは世界で最高の開発者たちがより優れたソフトウェアを作れるように手助けします」
ここまでいろいろと考えてみたおかげで、将来のバージョンのFogBugzに何がふさわしく、何がふさわしくないのかの見通しを立てるのが易しくなったように思う。とりわけ私たちは、オープンソースのもっとも優れた分散バージョン管理システムであるMercurialを使って、FogBugzにソース管理とコードレビュー機能を加えようとしている。開発者がより優れたソフトウェアを作るのを助けるようなものープロジェクト計画にプロジェクトマネジメント、バグトラッキング、カスタマーサービスーは全てFogBugzの対象範囲に含まれるのだ。
10年近くかかってしまったが、どうやら私たちはついに次の10年の目標をはっきりとらえることができたようだ。
おまけの宣伝: ちょっと時間があるなら、このMake Better Softwareの予告編(4分半)を見ていってほしい。私たちはこの新しいビデオトレーニングシリーズの製作に一年以上取り組んでる。これはJoel on Softwareのビデオ版で、「開発者たちがすばらしいソフトウェアを作るのを助ける」という目標にぴったりの合うものになっている。
