2013/05/16 パソナテックSKILL BASECAMP 2013 Tomonari NAKAMURA
Backlog / Cacoo から学ぶ
サービスに必要な機能の
取捨選択と改善の仕方
自己紹介
•中村知成 (@ikikko)
•株式会社ヌーラボ
•日本Jenkinsユーザ会
• 
• 
• 
• 
• 
プロジェクト管理ツール「Backlog」とドロ
ーイングツール「Cacoo」は、ともにヌーラ
ボが提供しているWebサービスです。
Backlogは国内を中心に10万人以上、Cacoo
は世界中で60万人以上のユーザが利用してい
ます。どちらのサービスも、その使い勝手の
良さ、敷居の低さには定評があります。ヌー
ラボという福岡に本拠地を置く小さな会社
が、なぜこのような成功を収めることができ
ているのか。本特集では、その秘訣を余すと
ころなく大公開します。
アジェンダ
•ヌーラボにおけるサービス開発の流れ
•リリースする機能をどう決めているか?
•休憩
•リリースする機能をどう改善しているか?
•まとめ
なにを作るか?
どう作るか?
Talking for
•作るものやスケジュールがわりかし
固定されていない現場
NOT Talking for
•作るものやスケジュールがわりかし
固定されている現場
アジェンダ
•ヌーラボにおけるサービス開発の流れ
•リリースする機能をどう決めているか?
•休憩
•リリースする機能をどう改善しているか?
•まとめ
開発の流れ
アジェンダ
•ヌーラボにおけるサービス開発の流れ
•リリースする機能をどう決めているか?
•休憩
•リリースする機能をどう改善しているか?
•まとめ
何を指針とするか?
http://www.flickr.com/photos/26583991@N05/8686440346/
3つの要望
世間
(トレンド)
自分たちユーザ
ユーザの要望
要望受付サイト(UserVoice)
ユーザと直接話す
http://www.flickr.com/photos/markcph/2290878151/
meetup : ユーザ会
ユーザの要望を
どこまで取り入れるか?
http://www.flickr.com/photos/huskyte/7512877940/
お知らせ機能
“宛先をもっと簡単
に選べるように”と
いう要望もあるが、
お知らせ爆発は防ぎ
たい
レイヤー機能
自分たちの要望
http://www.flickr.com/photos/malisia/5721892596/
自分たちが作ってて
ワクワクするものをチョイス
Git Webフック
例えば、Jenkins!
Git Webフック
ユーザの要望
自分の要望
世間の要望
世間の要望(トレンド)
モバイル
リアルタイムWebNoSQL
クラウドDevOps
自分の要望や世間の要望をふまえた
上で、何を作ってみたいですか?
考えてみましょう
世間の要望(トレンド)
モバイル
リアルタイムWebNoSQL
クラウドDevOps
アジェンダ
•ヌーラボにおけるサービス開発の流れ
•リリースする機能をどう決めているか?
•休憩
•リリースする機能をどう改善しているか?
•まとめ
震災で分かった
どこでも働けるということ
コラム
アジェンダ
•ヌーラボにおけるサービス開発の流れ
•リリースする機能をどう決めているか?
•休憩
•リリースする機能をどう改善しているか?
•まとめ
モック / プロトタイプ
http://www.flickr.com/photos/epsos/3777343342/
開発の流れ
まとめて操作
モック
まとめて操作
プロトタイプ
まとめて操作
デザイン適用後
http://www.flickr.com/photos/piper/3634309514/
ドッグフーディング
Wikiの更新履歴
Wikiの更新履歴
せっかくなので、最近
の更新で表示している
とこから差分画面に飛
びたいよね?
Wikiの更新履歴
Wikiの更新履歴
ちょっとした差分の確
認のために、わざわざ
画面遷移するのも面倒
じゃない?
Wikiの更新履歴
普通のテストもやるよ
ドッグフーディングだけでなく
http://www.flickr.com/photos/dunechaser/208506101/
ドッグフーディングを支える技術
http://www.flickr.com/photos/britanglishman/4880556204/
システム構成図
Chrome Extension 社内ベータ環境
Chrome Extension
•クライアント側で完結する
•お手軽 (HTML/JS/CSS)
Chrome Extension
{
	
  	
  "name":	
  "Backlog	
  Scrollable	
  UI",
	
  	
  "version":	
  "0.0.1",
	
  	
  "manifest_version":	
  2,
	
  	
  "permissions":	
  [
	
  	
  	
  	
  "http://*/*",
	
  	
  	
  	
  "https://*/*"	
  	
  	
  	
  	
  	
  	
  
	
  	
  ],
	
  	
  "content_scripts":	
  [
	
  	
  	
  	
  {
	
  	
  	
  	
  	
  	
  "matches":	
  ["https://nulab.backlog.jp/view/*"],
	
  	
  	
  	
  	
  	
  "css":	
  ["view.css"],
	
  	
  	
  	
  	
  	
  "js":	
  ["jquery.js",	
  "waypoints.js",	
  "jquery.animate-­‐colors.js",	
  "view.js"]
	
  	
  	
  	
  }
	
  	
  ]
}
$(function()	
  {
	
  	
  	
  	
  //	
  ヘッダー領域
	
  	
  	
  	
  var	
  header	
  =	
  $('<div>').attr("id",	
  "header2").hide();
	
  	
  	
  	
  //	
  プロジェクトアイコン
	
  	
  	
  	
  $("#dashBoardLink	
  img").css({
	
  	
  	
  	
  	
  	
  	
  	
  "width":	
  "20px",
	
  	
  	
  	
  	
  	
  	
  	
  "margin-­‐left":	
  "4px",
	
  	
  	
  	
  	
  	
  	
  	
  "vertical-­‐align":	
  "middle"
	
  	
  	
  	
  })
...
社内ベータ環境
•開発中の機能を社内で試してもらう
本番用データベース
•データ含めて、実際に使ってみな
いと感情が分からない
アジェンダ
•ヌーラボにおけるサービス開発の流れ
•リリースする機能をどう決めているか?
•休憩
•リリースする機能をどう改善しているか?
•まとめ
なにを作るか?
なにを作るか?
•様々な要望をバランスよく考慮
•ただし、サービスのコンセプトは
外さないように
どう作るか?
どう作るか?
•とにかく自分たちで使う・使う・
使いまくる!
•自分たちが便利だと感じるものを
作ることができれば、そうそう大
外れはない
できるところから
始める
ご清聴
ありがとうございました!

Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方