
第33回 Rubyを支えるYuguiの自信 「最後にはわたしがいる」
金武明日香(@IT自分戦略研究所)
浅井隆晃(撮影)
2009/9/28
![]() |
| Yugui (園田裕貴) Ruby1.9系統リリースマネージャ Rubyコミッタ。2008年6月よりRuby 1.9リリースマネージャ。MtF-TS。1981年生。2004年、立教大学理学研究科在学中から大手航空会社予約管理システムなどWebシステムの開発に携わる。その後いくつかのwebシステム開発に携わり、2008年から株式会社スケールアウト。著書『初めてのRuby』。http://yugui.jpにてブログを執筆中。 |
■「誰かがやらなければ」「ならばわたしが」
Rubyを使い始めてから、今年で9年目になります。「Perlよりもすっきりしていて使いやすい」という噂を聞いたのが、Rubyとの出合いでした。実際、当時はあまりPerlを使いこなせていませんでした。C++で学んだオブジェクト指向をスクリプティングに適用する上で、Rubyは非常に分かりやすかったんですね。
コミッタになったのと、リリースマネージャになったのはほぼ同時でした。2007年まで、わたしはいちユーザーとして、仕様の改善書やパッチをメーリングリストに送っていました。でも、コミッタとしては参加していなかったのです。リリースマネージャになったきっかけは、2008年のRuby会議です。
「1.9系統のリリースマネジメントには改善の余地がある」という提案を、
ずっとしていたんですね。そうしたら、Ruby会議の会場で「じゃあ、自分でやってみる気はない?」とまつもとゆきひろさんに誘われました。「はい、やります」と、その場でお受けしました。
もともと、Rubyにはあまりマネジメントをする人がいませんでした。まつもとさんはマネジメントをするタイプではないし、笹田さんも細かな作業をこなすタイプではない。「リリースマネジメントは誰かがやらなければならない」という共通認識が、皆の間で強くありました。
「誰かがやらなければならない、だったらわたしがやろう」と思ったのです。Ruby会議の後、すぐにリリースマネージャとしての仕事を始めるようになりました。
■「誰が何をしているか」全体像を把握する
現在、Rubyのコミッタは63人います。コアメンバーは10名ほどで、全員が日本人です。
リリースマネージャは「リリースをきちんと行う」ことが使命です。そのためには、「スケジュール管理」が特に重要です。誰が何を実装しているのか、何をやろうとしているのかという「全体像」を把握しておくようにしています。
全体像を把握するため、メーリングリストやカンファレンスはくまなくチェックするようにしています。個人ブログ上の発言にも注意を払います。コミッタではない人が「こうした方がいい」という発言をしている場合は、発言者に声をかける場合もありますよ。また最近では、Ruby言語の他の実装であるJRubyやRubiniusのチームとも歩調を合わせるようにしています。
皆の行動や発言を俯瞰した上で、次のリリースまでにどの仕様を取り入れて、どれを取り入れないのか、取捨選択をします。「誰が、いつ、どんな提案をしてくるか」ということについては、わたしがコントロールできるものではありませんので、わたしはリリース期日までに仕様を収束させることを第一に考えています。
■提案を取り入れる判断基準は「ユーザーの利便性」「言語の一貫性」
コミッタによる提案を取り入れるかどうかは、「重要度」に鑑みて判断します。「重要度」の判断基準は2つあります。「ユーザーにとって必要かどうか」、そして「言語の一貫性」です。
ユーザーにとって必要かどうかについては、まずわたし自身がRubyユーザーとして「この仕様は必要であると思えるかどうか」と考えます。わたしはやや古めのユーザーでもあるため、10年前の文化も分かりますし、Ruby on Rails以降のユーザーのニーズも把握しています。言語の一貫性については、それぞれの個所に詳しいコミッタに、取り入れる必要があるかどうかを相談します。
| エンジニアライフ コラムニスト募集中! |
あなたも@ITでコラムを書いてみないか 自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある! コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中 |
リリースマネージャとしての仕事は、他にドキュメント制作やバグ報告の処理などがありますね。Ruby付属の埋め込みドキュメンテーションに関しては、わたしが中心となって行っています。Rubyは全体的にドキュメントが不足しています。ドキュメント不足は、リリースの品質としてはあまり良くないことだと思っています。でも、コミッタはあまりドキュメントを作ろうとしないため、わたしがやることにしています。
■企業とオープンソースコミュニティ、マネジメントの違い
企業におけるプロジェクトマネジメントと、オープンソースのリリースマネジメントの大きな違いは、やはり「リソース配分」ではないでしょうか。
Rubyなどのオープンソースは、あくまでボランティアベースで回しています。もし作業が終わっていないところがあっても、リソースを割り振る権限がありません。Rubyの各部分について大まかな担当者はいますし、遅れている個所についてはメールやチャットで確認します。けれども声を掛けたところでその人に作業する義務があるわけではありません。
リリースする数日前に、本来なら誰かがやっているはずの仕事が終わっていなかったということがありました。「誰かやってくれませんか」と声をかけて実装しましたが、間に合わなかったために見送ったものもあります。 不確定要素は、企業内のプロジェクトとは比べ物にならないほど多いですね。
基本的には、リリースのスケジュールに間に合わせるようにマネジメントをしますが、本当に必要なものだと判断すれば、スケジュールの変更を行います。
実は、1.9.1のリリースは1カ月遅れたんですね。まつもとさんによる、大きな言語仕様の変更がありました。
「もしここを変更するなら、リリースを1カ月遅らせなければならないですが、遅らせるだけの価値がありますか」と、まつもとさんに確認したところ、「Yes」という答えが返ってきました。その一声で、実装を決定しました。
急な変更だったので多くのコミッタが驚きましたね。言語仕様の変更に、ライブラリのあちこちが追随しなくてはいけませんでした。間に合わないと思った分は、わたしが自分でコードを書きました。リリースは遅れましたが、「1カ月遅れるだろう」という予測どおりにちゃんと収束できたのは良かったと思います。
■「最終的にはわたしがどうにかする」
お話してきたように、オープンソースのリリースマネジメントは、いろいろな不確定要素があります。でも、あまり不安はありません。それは、「最終的にはわたしがどうにかする」という自信があるからだと思います。
わたしは、いろいろな人に頼んで仕事をやってもらいます。でも、誰もやらないのであれば、わたしがやります。コミッタの皆は「良いものを作りたい」というモチベーションが高いので、わたしはあまり手を出しませんが、もし最終段階に来たら、わたしが動けばいいのです。
もし、わたしがひっくり返っても真似できないような凄腕の技術者をマネージしなければならなくなったら、状況は変わるかもしれません。でも幸いいまのところは、ほとんどのことは自分で勉強すればどうにかすることができるものです。また、開発メンバーがもっと増えてくれば、おそらくマネジメント方法も変わってくるでしょう。人数が増えれば、おそらくLinuxのように、ゆるい階層構造になるのかもしれません。それまでは、こうした形でマネジメントを行っていく予定です。
2年前のわたしのように「わたしがやります」という人がいたら、マネジメント業務は喜んでお譲りいたしますよ。わたしは「こうした方がいい」という改善点を提案し続けますので。
「Rubyを、皆が安心して使える言語にする」。そのためにわたしは仕事をしています。
@IT自分戦略研究所 今週のリーダー バックナンバー
- 第1回 ぼくは「引っ張らないリーダー」です
- 第2回 「プログラマの自分」と「経営者の自分」は矛盾しない
- 第3回 生粋のプログラマが体得、人を変えるリーダーシップ
- 第4回 ライオンになれなかった雑食系リーダー
- 第5回 リーダーは、メンバーの目指すゴールを理解すべし
- 第6回 生意気な「部下肌」から、部下を守るリーダーに
- 第7回 メンバーをプロファイリングするための10個の軸
- 第8回 参加者の成長を見守る、Shibuya.pm 2代目リーダー
- 第9回 角谷信太郎――「スーパーマンである必要はない」
- 第10回 きつくいわない命令もしない。むしろ文句をいってくれ
- 第11回 サイボウズの開発部長は、部内で5番目にエラい
- 第12回 不況下こそチャレンジを。客員起業家 尾藤正人の挑戦
- 第13回 キャラクターの生死を懸けて新技術を模索する
- 第14回 クックパッドの技術責任者が語る「3つの隠し味」
- 第15回 不可能を許さない超戦略的リーダー
- 第16回 相手を「気持ちよくだませる」リーダーになれ
- 第17回 「話し掛けやすい雰囲気作りを意識しています。」
- 第18回 「それはエンジニアの仕事じゃない」なんて壁をつくるな
- 第19回 個性派エンジニア集団の信頼を得た「話の分かる男」
- 第20回 ITが組織を改善する時代、リーダーの使命はたった2つ
- 第21回 誰にも依存せず、新しいものを生み出す会社でいたい
- 第22回 牧大輔「モノ作りにこだわればこそリーダーを目指せ」
- 第23回 事業立案から開発まで。グリーのリーダーは全部やる
- 第24回 HOWS 庄司渉の“軽い結び付き”
- 第25回 開発に専念し続ける取締役、モバゲー川崎氏の戦略
- 第26回 僕は教えない。問題点に気付かせる
- 第27回 「変わっていかなければ」。日本Rubyの会 会長の葛藤
- 第28回 人を“その気にさせる”MSエバンジェリストの管理術
- 第29回 「技術一筋」が「マネジメントも面白い」に変わった理由
- 第30回 ウノウラボを作った男の「揺るぎないゆるさ」
- 第31回 インターバースの夜明けを信じ、突き進む
- 第32回 システム開発の主役「バイリンガル技術者」育成計画
- 第33回 Rubyを支えるYuguiの自信 「最後にはわたしがいる」
- 第34回 「不採算プロジェクトは俺が防ぐ」技術責任者の決意
- 第35回 「自分で自分の面倒をみる人が得をする」組織づくり
- 第36回 良いリーダーは笑いとつかみのツボを心得ている
- 第37回 新規事業のリーダーに求められる決断力と勇気
- 第38回 はてなのインフラを支える「ビジョン」と「数値化」
- 第39回 空賊一味のような「職人エンジニア集団」を作る試み
- 第40回 クララオンライン 家本氏「トッププレーヤーを意識せよ」
- 第41回 技術者は技術に専念。ただ、ビジネスにも興味は持て
- 第42回 30分でやると決めたら30分でやる、「いい訳無用」
|
|
| スキルアップに役立つ問題を無料で出題 | |
| ITスキル研修4000件、最新情報の検索できます |


公認会計士試験合格者数がさらに削減へ、金融庁が「一層抑制的に」