- 株式会社ビビビット
- プロダクション事業部 責任者
- 田中 秀征
スクラム開発を強くする 適正な工数の見積もりを導くアジャイル管理ツール
今回のソリューション:【Pivotal Tracker/ピボタルトラッカー】
「デザイナーと企業を『感性』でつなぐ――」ViViViT(ビビビット)は、ポートフォリオ × 就職活動をテーマにしたクリエイター・デザイナー志望者のための就職サイトだ。その運営会社である株式会社ビビビットで、創業期より開発をリードしてきたのがディレクターの田中 秀征さんだ。
田中さんは、ベンチャー企業ならではの少人数・スピード重視の開発体制の中で、スケジュールの管理にはとても苦労してきたという。その課題を解決し、強固なスクラム開発の体制を生み出すのに大きな役割を果たしているというアジャイル開発向け管理ツール、「Pivotal Tracker(ピボタルトラッカー)」について聞いた。
フリーのWEBディレクターとしてビビビットに参画
僕は一番最初SEOの会社に就職したのですが、1年くらいで会社を辞めて、その後フリーランスのWEBディレクターとして、エンジニアとデザイナーをアサインしてひとつのチームを作り、WEB開発を進めていくような仕事をしていました。
そのフリーとしての活動の中でビビビット代表の小宮と会って、「ViViViT」の立ち上げの時から一緒にやってきました。だんだんコミットを深くしていき、社員になったのは出会ってから1年後です。現在の具体的な業務としては、2割がディレクション業務、8割がデザインをしたりフロントのコードを書いたりしています。
3ヶ月でサイト構築 早さゆえのほころびに悩まされる
ViViViTの開発に正式に着手したのは、2013年の12月くらいです。立ち上げメンバーは5人で、うち3人が開発を行っています。実は最初はクリエイター・デザイナー系ではなくて、エンジニアに特化した採用媒体だったんですが、1ヶ月で要件を揃えて、3ヶ月間で開発したんですね。
すごいスピードで開発をしたので、いざオープンしたらほころびがたくさん出てきて、関係各所に本当にご迷惑をおかけしてしまいました。テストが不十分な状態でリリースした部分もあったので、思わぬところでエラーもあり、1個1個修正していくのが非常に大変でした。
機能面だけでなく、デザイン面でも最初はすごくダサかったです。例えば昔はサイトが基本的にビビットカラーだったんですよ、ViViViT、だから(笑)。でもそれでは作品を食ってしまうので、白ベースに直したり、いろいろ修正しましたね。今もずっと走りながら試行錯誤している感じです。
開発チームのスクラムが弱く、スケジュール管理ができない!
開発メンバーはずっと3名体制で、バックエンドのエンジニアと、フロント側のコーディングまでできるデザイナーと、僕で行っています。スタイルとしてはアジャイルなんですが、最初は3名でスクラムをがっちり組めてなかったので、いろいろと問題が起こっていました。
以前はタスク管理については、一般的なガントチャートを使っていたんですね。でも業務の実態に即してなかったんです。弊社の開発はまだ、変更が非常に多いですし、割り込みタスクも発生するので、ガントチャートだと綺麗に管理できなくて維持するのも大変で。むしろそちらに工数が持っていかれているような状況にあったので、より細かい単位で業務を管理でき、アジャイル開発に向いているような管理ツールを探していました。
出会った解決策はPivotal Tracker 正確な工数見積に貢献
それで1年ほど前に、エンジニアが見つけてきたのがPivotal Trackerだったんです。それからずっと使っているんですが、非常に使いやすいです!今では開発の中でかなり重要な役割を果たしています。
もともと1番の目的として、工数の見積もり機能が欲しかったんです。その点で完璧なんですよね。ひとつのチケットの大きさがコミットレベルと一緒になっていて、フィボナッチ数列になっているポイント(1,2,3,5,8)を割り振ってそのタスクの大きさを見積もります。アジャイル開発だと工数を見積もるのにフィボナッチ数列を使うのは普通だと思うんですが、やっぱりよくできてますよね。工数を高めに見積もるので、けっこう適当にやってもどうにかなる(笑)。
「今週積める」タスクの量が、「前週の実績」で決まる仕組み
各タスクにポイントを割り振ったら、その中でこの1週間で進めていくものを積み上げていきます。1週間っていうのは弊社のやり方なので、チームによっては変更可能です。この積み上げ作業の時に、「1週間でこなせる」ポイント分のタスクしか積めなくなっているんです。
それをPivotal Trackerがどうやって判断しているかというと、前週の実績で決まってるんですね。これも良い機能だなと思います。例えば開発メンバーの技量が上がったりメンバーの数が増えて、チームとしてタスクを今よりも早くこなす実績が出たら積めるポイント数が増える、という仕組みなんです。
タスクの粒度=GitHubのプルリクレベル 実態に即した管理を
タスクの粒度は、GitHubのプルリクのレベルと完全に一致させています。GitHubでコミットする時にPivotal TrackerのIDをコピーしてメッセージに含めると、Pivotal Tracker上でもそのタスクが終了する、というように連動しています。こういう機能もシンプルなんですがちゃんとツボを押さえていると思いますね。
具体的なタスクの落とし方は、まず「達成したい何か」から考えていきます。例えば「ユーザー登録機能を作る」といったものです。これは今Trelloで管理しています。でもこの目的の実現のために必要な実装作業はもっとずっと細かくできるので、例えば「モデルつくる」「単体テスト書く」「結合テスト書く」といったものに分けていきます。これらがPivotal Tracker上でのタスクになります。工数の見積もりをしっかりするのが目的なので、割り切れないレベルまでチケットを小さくして、GitHubでコミットされるコードの粒度と揃えることを大切にしています。
毎日夕方に開発会議をしていて、そこでTrelloから大きなタスクを取り出して、話しながら業務の振り返りと、チケットづくりをしています。バグ対応もチケット化して割り込ませています。
「最高と言わざるを得ない!」直感で操作できるUI/UX
あとはUI/UXですね。これはもう、最高と言わざるを得ないでしょうね!!(笑)使い勝手がとてもいいんです。タスクの優先度の並べ替えも簡単で、直感的に操作ができます。あとは通知周りがかなりしっかりしていて、どんな細かいレベルでも通知が来るんです。例えば順番を入れ替えたとか、工数の見積もりをしたとか、タグを登録したとか。誰が何をしたか全部すぐにわかるのは、今の開発スタイルだとかなり良いです。
▼「Pivotal Tracker」画面イメージ
僕と一緒に最高のスクラムを組みましょう!
Pivotal Trackerのおかげで、スクラムが強固になってチーム開発も効率化しました。でもまだ、エンジニアは継続募集中です。むしろ「僕と一緒にスクラム組んでくれる人、募集中です!」(笑)。まだ人数が本当に少ないので、開発者の寄与するところが大きいのが楽しいですよ。今、売れるサービスを開発したらそれが確実に未来に生きてくる、という段階なので、シナジーをお互いに生んでいければいいなと考えています。