2012年12月12日

Sphinx-Users.jpを作った時のお話

Scrabble game
taken by jcolman under CC BY-NC-SA

缶切りでツナ缶を開けようとしたら、缶切りの方が耐久度が低くて壊れたり、パン粉を作るためにプラスチック製のおろし金でパンをすりおろしたら、おろし金の方が削られてツルツルになってしまうような修羅の国アメリカで仕事しています。

僕が日本にいたときに設立したSphinx-Users.jpは代表が変わったあともMLで活発な議論が行われたり、イベントが定期開催されたり、うまく離陸して活動が継続しています。また、当初のもくろみ通りに、単にツールの使い方だけではなく、ドキュメントとは何か?どう書くべきか?ということを考えて発表してくれる人も増えています。

Sphinxのアドベントカレンダーということで、コミュニティについて話をします。easy_installしましょうとかは書きません。Sphinx-Users.jpを作る上で考えたことを思い出しながら書いてみます。

  • 2009/04: Vに勧められてSphinxを触り始めて気に入りドキュメントを翻訳
  • 2009/09: ドメイン取得
  • 2009/11: Sphinx-Users.jpのMLにミッション・ステートメントを決めようとメールを投稿
  • 2010/01: 清水川さんがエキスパートPythonの目次だけSphinxで日本語訳を作って公開したらはてブが400を超えて翻訳が決まる事件
  • 2010/02: 毎月第二火曜日PM10:00から1時間のスタッフミーティング開始
  • 2010/07: 集まってオフ会しましょうかと思ったら、偶然その日に1.0がリリースされて急遽世界最速リリースパーティー開催事件
  • 2011/12: 総会で世界の小宮が代表に

コミュニティを作る上でまず考えたのがスコープ。オープンソースのコミュニティというとツールを作るコミュニティもあれば、使うユーザのコミュニティも、翻訳のコミュニティもあったりします。ここではツールを使うコミュニティにしたいと考えました。アート・オブ・コミュニティ の日本語訳が出版されたのは2011年の4月ですが、翻訳権が取れる前に自主的に翻訳をし始めていて、その2章の組織のスタートアップの章は参考にしました。スタッフMLにも日本語訳を投下しました。

コミュニティづくりはゲームづくり

コミュニティ運営はゲームづくりだと思います。「ゲームばっかりしてないで勉強しなさい」という呪いの言葉を膝に受けてしまってな、という人はたくさんいると思います。なぜ将来の役に立つ勉強はヤル気が起きないのに、ゲームは「やめろ」と言われてもやりたくなってしまうのか。ゲームの面白さの構造についてはオライリーから翻訳も出ている、「おもしろい」のゲームデザイン ―楽しいゲームを作る理論で書かれています。自炊したはずがPDFがどっかに行ってしまって電子版も買えないのでうろ覚えですが、こんなことを言っていたと思います。

  • ユーザに適度な高さのハードルを提供
  • ユーザが試行錯誤や学習を行い、なんとかハードルをクリア
  • ユーザが満足感を得る

基本はこれの繰り返しとのこと。Sphinx-Users.jpはSphinxを題材にしているので、最初のゴールはSphinxを利用してみることです。インストールの方法、チュートリアル、リファレンス、困ったときに質問できるML、Twitterのハッシュタグ、Sphinx翻訳ハッカソンという勉強会が道具として提供されています。これを見ながらドキュメントをビルドしてみます。おめでとう!不思議な色のHTMLができましたね!これがSphinx-Users.jpが提供するゲームです。ゲームの得意な人はリファレンスだけでなんとかなるかもしれませんし、経験値がまだちょっと足りない人は他の素材も使ってクリアするかもしれません。Sphinx-Users.jp以前は「英語のリファレンスを辞書を引きながら使ってみる」というハード設定のゲームでした。ヒントが増えることで、より多くの人が楽しめるようになりました。

ゲーム的なしくみや、ハードルを下げるコツはこれ以外にもちょっと仕込んであります。オフ会を定期開催することで顔を合わせるようにしたり、会則で定めている「総会」がわざと忘年会と同時開催しやすい12月に設定されていたりとか・・・継続させるための仕組みづくりですね。総会を忘年会と一緒に、というのはインラインスケートの光が丘パイロンズからアイディアを拝借してます。あとは、組織の正式名称とURLを同じにする、組織の略称とハッシュタグを一緒にする、などです。

ゲーム作成者とゲームプレイヤーは対等ではない

アート・オブ・コミュニティでもいろいろ書かれていますが、会社組織とは異なって給料を貰えるわけではないので、魅力があってヤル気にならなければ参加してもらえません。参加だけならまだしも、コミットメントしてもらって1人ではできないことをしようとするとヤル気パルスで他の人のエネルギーをコミュニティに注入してもらう必要があります。

少なくとも、コミュニティ運営とコミュニティ参加は対等ではないと思っています。翻訳をするのに「一緒に翻訳しましょう」と人を集めるケースもありますが、進行管理などは頑張る必要があります。自分が頑張らないでみんなで労働をわかちあいましょう、みたいなのはよっぽど対象が魅力的でなければ回らないと思いますし、「魅力を伝えるために翻訳しましょう」ではニワトリ・タマゴですよね。今回は、Sphinxのドキュメントの最初の翻訳は一人でやり切りました。上下関係がないフラットな民主的・共産的なコミュニティというのはほぼありえないと思います。ディズニーランドでキャストとして成功する人は「チップとデールと友だちになりたい!」みたいな魔法にかかった人だけど、オリエンタルランドとして土台を作っていく人は冷静な目で他の人に魔法をかける(自分はかからない)人という話を人から聞いたことがあります。まあ本当か嘘かはわかりませんが・・・

最初にコミュニティを作ることを考えてから、実際にウェブサイトにコンテンツが乗って動き出すまでにほぼ1年かかっています。もちろん、フルタイムでこの活動だけをしているわけではない、というのもありますし、ある程度コンテンツがそろって、枠組みができあがって・・・ここでゲームができました。中には「ゲームを作るところもオープンでやればいいじゃない」と思う人がいるかもしれませんが、それはよっぽど信用貯金が溜まっている人だけしかできない技だと思います。オープンソースの活動もそうですが、ある程度動くものを提供しないとムーブメントに起きません。あのGoogleでさえ、Noopとは何だったのか、みたいなこともあります。動くものがあれば確実にムーブメントが起きるわけではないですので(誰もコミットもダウンロードもしてくれない僕の作ったツールとかWaveとか)、「ある程度そろっている」ことが十分条件ではないですが、必要条件であると言えます。

日々の仕事もゲームづくり

日々の仕事もある意味ゲームづくりです。ゲームのプレイヤー(モチベーションを喚起されて、働く側)の人もいるかもしれませんが、大事なことは「仕事の流れを作る」人になることです。プレイヤーではなくて、ゲームマスター側になる人になったほうが、選択肢が格段に広がります。これはホンダのフィロソフィーにも書かれていることですね。

例えば、ユニットテストや継続的インテグレーション。赤くなったり、エラーが出ると「直さなきゃ」という気になります。今年のXP祭りのビデオレターでも話をしましたが、アジャイルにはこのようなやる気のスイッチをオンする仕組みがいろいろあります。ソフトウェアも作り方によっては、正しいワークフローから外れた方法をついやっちゃうツールとかも作れてしまいますし、最短のワークフローを歩きやすくするガイドとなりえるケースもありえます。ソフトウェアを作るプロセス、ソフトウェア自身の両方ともがゲームの要素を持っています。

アジャイル開発の場合、ツールの方向性をどうするかは顧客のプロダクトオーナーの采配次第です。スモールリリースや計画ゲームなどは顧客がその部分を学習してステップアップするゲームといえます。現在は社内開発で、自分でコードを書きながら、ユーザが楽しんで成果を出してくれるようなワークフローを考えるような開発をしています。ここまでドップリしているとアジャイルでもなんでもないのですが、いろいろ試行錯誤して良い物を作っていくプロセスはとても楽しいです。最強のゲームですね。アサシン クリードIII も、僕の普段の仕事の楽しさにはかないません。冗談はおいといて、ゲーミフィケーションとかレベルデザインとか、アジャイルとか、そういうのはすべて一つになっていくんじゃないかな、と考えています。

組織論におけるクソゲー

ブラック企業はある意味組織におけるクソゲーかもしれませんが、ミッションがずれているとかおかしいということでブラック企業と呼ばれているものってそんなにない気がします。そもそも人が集まらないですし、持続しませんからね。組織をゲームとして考えた時にどのような組織がクソゲーなのか考えてみたいと思います。

  • ゲームとして考えた時にハードル(ノルマ)がやたら高い
  • 逆に単調すぎてメリハリがまったくない
  • 努力が成果に一切結びつかず乱数で結果が決まる
  • もしくは結果がすでに決まっている
  • ハードルをクリアしたときの爽快感・ご褒美がしょぼすぎる
  • そもそもゴールがゲームマスターの気まぐれすぎる
  • ゲームのゴールと違う方向の努力が要求される
  • テンポが悪かったり、ロード時間が長い

うまく回っていないコミュニティには何かしらクソゲーの要素が含まれている気がします。逆にクソゲー要素を丹念につぶしていけば良い組織になりそうな気がします。日々の仕事を改善するには、昭和の大成功した人の自己啓発本を読むよりも、クソゲーを学ぶ方が役に立つはずです。畑村さんの失敗学 に続く、クソゲー学みたいな学問の誕生が待たれます。

会社という組織のゲーム

コミュニティの考え方は、会社という組織でも基本は同じかと思います。ハードルを提供し、みんなでそれをクリアしてもらう。クリアした時に会社が得られるリソースを使ってさらに高いハードルを提供する・・・と。お金がもらえたとしても社員のモチベーションがあるのと無いのでは成果が段違いです。仕組みが間違っていて「チャンレンジしないでミスもしないのが得」というルールになっていれば、当然組織がそちらの方向に流れていきます。今日、ちょうどRTしたツイートも、会社のゲームのルール次第で組織の性格がどう影響するかを端的に語っています。

「人を救う仕事がしたい」とか「インフラを支える仕事がしたい」みたいなのがありますが、これはゲームにおけるストーリー・世界観とほぼ一緒かな、と思います。「『おもしろい』のゲームデザイン」でもテトリスに「囚人を効率良くサツガイするために、隙間なく消毒室に並べる」というバックグラインドストーリーを与えたら面白さはどう変わるのか?中身は一切変わらないはずだがどうか?みたいな話がありました。日々やっている作業が同じでも、業種が違うとヤル気になる人が出たり出なかったり・・・働く人は自分のモチベーションが高められて、良いパフォーマンスが出せる会社を選ぶのがゲームの勝利の鍵です。コミュニティの「ミッション・ステートメント」はこのバックグラウンドストーリーにあたる部分です。コミュニティづくりを考えている人は、アート・オブ・コミュニティの2章もしくは、それの実践例を見ながらここをじっくり作るのをオススメします。

上記のクソゲーの要素は会社にも当てはまると思います。ただし、会社組織で必要になるのが「人の組み合わせ」です。製品のテストが苦手な人からすれば、テストを毎日させられるのはクソゲーかもしれませんし、プログラムを書くのが嫌いな人はプログラムを書かせられるのがクソゲーと感じると思いますが、得意な人もいます。たいていのゲームは一人でプレイするものですが、組織はチーム戦ですので、それぞれの得意な分野でフォローしあうことで、一人では大変なゴールをより簡単にできるようになります。

まとめ

  • コミュニティづくりはゲームづくり
  • ゲーム作成者とゲームプレイヤーは対等ではない
  • うまく回ってないコミュニティはクソゲー
  • 日々の仕事もゲーム

アート・オブ・コミュニティと「おもしろい」のゲームデザインの両方が、僕の考える最高の組織論の本です。読み手次第ですが、どちらも、仕事から趣味から、組織運営から、幅広く洞察を与えてくれる本だと思います。Sphinx-Users.jpは小さな核を持つグループですが、ドキュメントという、幅広いソフトウェアの分野に関わりあいを持つ可能性を持っています。今後もいろいろなゲームを作っていける余地があります。これらの本を眺めながら、このコミュニティでちょっとゲームを作ってみてはどうでしょうか?そろそろ総会があって、スタッフを募集しています。もちろん、ゼロから作るのも楽しいですよ。

明日は@shiumachiさんの番です。

posted by @shibukawa at 14:14 | Comment(373) | TrackBack(0) | 日記 はてなブックマーク - Sphinx-Users.jpを作った時のお話
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/60708299
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索ボックス

Twitter

www.flickr.com
This is a Flickr badge showing public photos and videos from shibukawa.yoshiki. Make your own badge here.
<< 2017年05月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
最近の記事
カテゴリ
過去ログ
Powered by さくらのブログ