SlideShare a Scribd company logo
nanapi IGNITIONチームの
開発フローとその構築
株式会社nanapi 遠山 晃(@Vexus2)
自己紹介
• 遠山 晃 / @vexus2
• サーバサイドエンジニア
• 趣味はPhpStorm
• 継続的インテグレーション、自動化周りが

得意分野
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築
Our Service
nanapi
• 生活の知恵が集まるサイト

http://nanapi.jp/
• 様々なハウツーを提供する

サービスとしてリリース
• 2009年9月1日リリース
• 月間2500万UU
answer
• 即レスコミュニケーションアプリ

http://answer.jp/
• 5分以内のコメントが84%以上
• 40万コメント/day
• iOS版2013年12月リリース
• Android版2014年5月リリース
IGNITION
• http://ignition.co/
• Your everyday source for 

inspiration and motivation
• 2014年4月リリース
今日話すこと
IGNITIONチームにおける開発フロー
チームに適切な開発フローをどう選定するか
今日話すこと
IGNITIONチームにおける開発フロー
チームに適切な開発フローをどう選定するか
今日話さないこと
PhpStormのこと
開発フロー
開発体制
ディレクター 1人
編集者 1人
エンジニア 2人
デザイナ 1人
開発の流れ
チーム内外から起案でタスク発生
↓
スクラムでタスク化
↓
\開発/
↓
         リリース → ディレクタ確認
スクラム
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築
物理カンバンを廃止
• 付箋とIssuesとの二重管理になってしまった
• イテレーション振り返りのたびに物理カンバンの
移動が面倒
• ログとして残すためにはアナログ管理は辛い
物理カンバンの代替
nanapi IGNITIONチームの開発フローとその構築
Pivotal Tracker導入
• 各チケットでの優先度付けが楽/優先度順に並ぶ
• チケットのフローがシンプル

(Unstarted/Started/Finished/Deliverd/Accepted/Rejected)
• Slackなど外部コミュニケーションツールとの連
携が楽
• GitHubとの連携もそこそこ
• (改めて考えてみるとPivotalTrackerじゃなきゃだめな理由は特にない)
朝会は自席の
モニタの前で
開発
基本はGitHub Flowに則る
• masterブランチは常にリリース可能に保つ
• masterへの取り込む際は常にfeatureブランチか
らのPull Requestを経由させる
• エンジニア・デザイナ問わずコードレビューに参加
陥りがちな罠
例外はある程度設けておく
• 「○○さんが居ないのでコードレビューする人が
いないのでリリースできない」
• →テストを書いてあるならリリースしてもOK

(後でリファクタ可能なので)
• →CSSやHTML数行程度の見栄え修正であれ
ばそのままリリースOK
• 場合によってはmasterへの直PUSHも可
例外はある程度設けておく
• 「○○さんが居ないのでコードレビューする人が
いないのでリリースできない」
• →テストを書いてあるならリリースしてもOK

(後でリファクタ可能なので)
• →CSSやHTML数行程度の見栄え修正であれ
ばそのままリリースOK
• 場合によってはmasterへの直PUSHも可
型にハマりすぎるあまり
開発効率が落ちるのは✕
継続的インテグレーション
nanapi IGNITIONチームの開発フローとその構築
PUSH
PUSH
Trigger
PUSH
Trigger
Trigger
PUSH
Trigger
Deploy
Trigger
PUSH
Trigger
Deploy
Notification
Trigger
nanapi IGNITIONチームの開発フローとその構築
なぜCircle CIを使うか
• スペック的にCircleCI > TravisCI
• Bundle Installとかで決定的な速度差
• SSH Access可なのでCI環境内にSSHで入れる
• ドハマり時の調査やデバッグが捗る
テストが落ちたらSlackに

Mentionを付けて通知
?
Jenkinsは使わない
• カスタマイズ性が高いがメンテコストも高い
• メンテナが固定化されて各ジョブが秘伝のタレ
化し、Jenkins職人(通称Jenkinsおじさん)が
発生する
• デベロッパープロダクティビティ的なチームが
メンテし続けれるなら良いかも
• IGNITIONは一切使っていない

nanapi側もJenkinsを使わなくする予定
デプロイ
Pull Requestを経由してリリース
Masterへのマージで自動デプロイ
Slack上からHubot経由で手動デプロイ
リリースは全てCircleCI経由
開発フロー構築で
気をつけていること
http://bit.ly/1CGwVff
チームに最適な
ものを選択する
あまり欲張り過ぎない
• 高機能過ぎるツールや煩雑なフローをチームに根
付かせるのは大変
• チーム自体の成熟度を客観的に見てツールを選定
する
IGNITIONの場合
グローバルスタンダードを重視
• 海外向けのメディアサービスなので、システム側
も全てグローバル化
• 海外を含めてデファクトスタンダードとなっ
ているものをそれぞれ選択
• 日本だけで流行っている、ようなものは選択
しなかった
http://bit.ly/1onjmaL
社内のエヴァン
ジェリストになる
新規ツール導入後あるある
• ツールを導入したけどみんなが使ってくれない
• 結果すぐ使わなくなってしまった
• 「想定した使い方をみんなしてくれない。うちの
チームには向いていなかった」
新規ツール導入後あるある
• ツールを導入したけどみんなが使ってくれない
• 結果すぐ使わなくなってしまった
• 「想定した使い方をみんなしてくれない。うちの
チームには向いていなかった」
「明日から○○使うからみんな使ってね」
では絶対に根付かない
nanapiの場合
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築
nanapi IGNITIONチームの開発フローとその構築
誰よりもそのツールを使い、

チーム/社内に伝播させる
http://bit.ly/1rJSw30
現状に満足せず
常に改善し続ける
モダンな環境を求め続ける
• アーリーアダプターになる必要はないが、

アーリーマジョリティではいるべき
• 流行っていたりデファクトになりつつあるもの
をキャッチアップする仕組みを自分なりに作る
自分が追いかけて
おきたい情報を
tagで登録
[PR]
nanapiではエンジニアを

募集中です!
詳しくはこちら
http://recruit.nanapi.co.jp/engineer/
(非公式ですが)こんな取り組み

やってます
nanapiのpodcast “nanapod”
• http://nanapod.kozyty.com/

http://goo.gl/zBNNjp
• テックな内容から社内のことまで色々話します
• 毎週配信予定!外部ゲスト歓迎!
• iTunesのPodcastでも配信中
Thank You!

More Related Content

PDF
オライリー・ジャパンのePUBフォーマットを支える制作システム
PDF
こすもすえび&しばやんの「Azureアンカンファレンス~Azureについては俺たちに聞け(ばええやろ)」
PPTX
世界へ向けたゲーム開発 〜ローカライズ支援ツール『LION』〜
PPTX
Azure周りの振り返り
PPTX
最大公約数的なServiceWorker制作から見るPWAの勘所
PPTX
裏クラウドデザインパターン
PDF
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
PPTX
マイクロサービス入門(Spring fest 2017)
オライリー・ジャパンのePUBフォーマットを支える制作システム
こすもすえび&しばやんの「Azureアンカンファレンス~Azureについては俺たちに聞け(ばええやろ)」
世界へ向けたゲーム開発 〜ローカライズ支援ツール『LION』〜
Azure周りの振り返り
最大公約数的なServiceWorker制作から見るPWAの勘所
裏クラウドデザインパターン
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
マイクロサービス入門(Spring fest 2017)

What's hot (8)

PPT
CEATEC Suite SKIPセミナー資料
PDF
これから始めるXamarin開発
PPTX
Azure Mobile Services と Azure Mobile Apps
PDF
Code1000発表資料
PDF
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
PDF
5分で入門するAzure PlayFab
PDF
会話型UI事始め
PDF
エッセンシャルCore springハンズオン
CEATEC Suite SKIPセミナー資料
これから始めるXamarin開発
Azure Mobile Services と Azure Mobile Apps
Code1000発表資料
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
5分で入門するAzure PlayFab
会話型UI事始め
エッセンシャルCore springハンズオン
Ad

Viewers also liked (20)

PDF
職と人
PPTX
いもうとBOTのご紹介
PDF
最軽の開発手法 dX 改
PDF
Wiki (Printed as manuscript)
PDF
UX milk (UX Jam) 20160108
PDF
nanapiにおける継続的インテグレーション
PDF
日本のポピュラー音楽に見るインディーズの成立条件
PDF
コーディング入門以前
PDF
#STAC2014 システムテスト自動化ハンズオン
PPTX
Stac2013 開会挨拶
PDF
ビルドプロセスとCI #STAC2014
PDF
リーダブルコード勉強会
PDF
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
PPTX
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
PDF
スマートフォンアプリの テスト自動化をはじめよう
PDF
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
PDF
テスト自動化のこれまでとこれから
PDF
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
PDF
GUI自動テストの保守性を高めるには
PPTX
手動テストからの移行大作戦
職と人
いもうとBOTのご紹介
最軽の開発手法 dX 改
Wiki (Printed as manuscript)
UX milk (UX Jam) 20160108
nanapiにおける継続的インテグレーション
日本のポピュラー音楽に見るインディーズの成立条件
コーディング入門以前
#STAC2014 システムテスト自動化ハンズオン
Stac2013 開会挨拶
ビルドプロセスとCI #STAC2014
リーダブルコード勉強会
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
スマートフォンアプリの テスト自動化をはじめよう
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
テスト自動化のこれまでとこれから
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
GUI自動テストの保守性を高めるには
手動テストからの移行大作戦
Ad

Similar to nanapi IGNITIONチームの開発フローとその構築 (20)

PDF
エンジニア集団によるゼロからの新規事業開発
PDF
チームを改善していったら開発と営業が一緒になった件
PDF
What I learned about communication in Sanfrancisco
PDF
オールアバウトのアプリ開発
PPTX
20191105 cognitiveservices x powerapps
PDF
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
PDF
2019年版 Infragistics Ultimate UI for WPF概要
PPTX
MoneyForwardアプリ開発の裏側
PDF
20120316 designerworkshoppublished
PDF
書く技術
PDF
社内に情報発信する文化を根付かせ ブログのPVを結構増やす7つの方法
PDF
勉強会参加のススメ
PPTX
ネイルブックでのGoogle Play ASOについて
PDF
iOSアプリ開発 脱初心者に向けて
PDF
EXTREME AZURE 2
PPTX
Firebase sponsor-talk
PPTX
Universal Windows app 入門
PPTX
HTML5がもたらすアプリ開発へのインパクト
PPTX
チームで開発を行う上の心構え
PDF
PFPのご紹介
エンジニア集団によるゼロからの新規事業開発
チームを改善していったら開発と営業が一緒になった件
What I learned about communication in Sanfrancisco
オールアバウトのアプリ開発
20191105 cognitiveservices x powerapps
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
2019年版 Infragistics Ultimate UI for WPF概要
MoneyForwardアプリ開発の裏側
20120316 designerworkshoppublished
書く技術
社内に情報発信する文化を根付かせ ブログのPVを結構増やす7つの方法
勉強会参加のススメ
ネイルブックでのGoogle Play ASOについて
iOSアプリ開発 脱初心者に向けて
EXTREME AZURE 2
Firebase sponsor-talk
Universal Windows app 入門
HTML5がもたらすアプリ開発へのインパクト
チームで開発を行う上の心構え
PFPのご紹介

nanapi IGNITIONチームの開発フローとその構築