Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
STORES.jp 開発組織の軌跡 Rails Developers Meetup 2018 Day4 2018.12.08 - Takeshi Yabe (@tyabe)
Slide 2
Slide 2 text
お話しすることの確認 STORES.jpは2012年のサービス開始から事業として 様々なチャレンジを続け、組織としても変化し続けて きました。 本セッションではその歴史をふり返りながら、開発組 織としてどのような問題に直面し解決を試みてきた のかをお話しします。
Slide 3
Slide 3 text
前提
Slide 4
Slide 4 text
STORES.jp(サービス)とは
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
どんな会社?
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
STORES.jpリリース後の社員数の変動 ※正社員のみ
Slide 9
Slide 9 text
なんとなくフェーズを分けると 2012 - 2013 : 0 -> 1フェーズ 2013 - 2014 : イケイケフェーズ 2015 - 2016 : 混沌フェーズ 2016 - 2017 : 独立第2フェーズ 2018 - : ギアチェンジフェーズ
Slide 10
Slide 10 text
2012 - 2013 0 -> 1フェーズ
Slide 11
Slide 11 text
会社の状況 - とにかく早くユーザへ価値を届けることに注力 STORES.jpエンジニアチームの体制 - 1名 -> 3名 システム構成 - AngularJS + Rails + MongoDB - Postfix - 本体の他に決済システムと画像配信システムを運用 - サービス開始時はVPSだったが拡張性を求めAWSへ移行 2012 - 2013 0 -> 1フェーズ
Slide 12
Slide 12 text
2012 - 2013 0 -> 1フェーズ STORES.jpエンジニアチームの状況 - 1つの機能をすべて1人が担当 - 思いついたアイデアを即時実装、即リリース - とにかく様々な手を打っていた - master直push -> git-flow(チック) - コードレビューほぼなし.. テストなし... - サーバ台数が増えデプロイツールにminaを導入 - SPAだったのでPhantomJSを利用してSSR
Slide 13
Slide 13 text
2013 - 2014 イケイケフェーズ
Slide 14
Slide 14 text
会社の状況 - STORES.jp PRO担当とZOZOフリマ担当が発足 STORES.jpエンジニアチームの体制 - 3名 -> 9名 -> 3名 2013 - 2014 イケイケフェーズ
Slide 15
Slide 15 text
STORES.jpエンジニアチームの状況 - 外部サービスとの提携強化 - コードレビューの実施とテストコードが追加され始める - 開発ドキュメントが残されるようになる(Google Docs) - 問いあわせ対応のタスク管理にRedmineを利用 - 利用者が増え色々な問題が表面化し始める.. システム構成の変化 - 大きくは変わらず - Postfix -> Sendgrid - CircleCI導入 2013 - 2014 イケイケフェーズ
Slide 16
Slide 16 text
2015 - 2016 混沌フェーズ
Slide 17
Slide 17 text
会社の状況 - ZOZOフリマに注力していた時期 STORES.jpエンジニアチームの体制 - 3名 -> 4名 システム構成の変化 - デプロイツールをminaからCapistranoへ - 例外情報の収集にErrbitを導入 - Qiita:Team導入 - 開発タスクはすべてGithub Issuesへ 2015 - 2016 混沌フェーズ
Slide 18
Slide 18 text
STORES.jpエンジニアチームの状況 - リニューアルプロジェクトを2回に分けて実施 - ブランチ運用のルール化(git-flowへ) - チャットbotによるレビュアー自動アサイン - 朝会/夕会、週1回のふりかえりを実施 2015 - 2016 混沌フェーズ
Slide 19
Slide 19 text
2015 - 2016 混沌フェーズ https://careerhack.en-japan.com/report/detail/650
Slide 20
Slide 20 text
リニューアルでどうしても解決したかった課題 - SPA - PhantomJSでSSR - 構成上の問題でbotが押し寄せてくると死ぬ - PhantomJSの突然死 - コア吐く -> ディスク埋まる -> 死ぬ リニューアルのついでに素直にRailsでレンダリングするように改 修し、穏やかな日常を手に入れた 2015 - 2016 混沌フェーズ
Slide 21
Slide 21 text
会社の状況 - フリマチームが大忙し - STORESのオペレーションチームが2名に STORES.jpエンジニアチームの体制 - リーダーに就任 STORES.jpエンジニアチームの状況 - オペレーション業務を効率化させるための開発に注力 - リモートワークの実験的導入 2015 - 2016 混沌フェーズ
Slide 22
Slide 22 text
2015 - 2016 混沌フェーズ
Slide 23
Slide 23 text
2016 - 2017 独立第2フェーズ
Slide 24
Slide 24 text
会社の状況 - 初期の開発メンバーが社内にいなくなった STORES.jpエンジニアチームの体制 - 4名 -> 6名 - CTO就任(2017年4月) 2016 - 2017 独立第2フェーズ
Slide 25
Slide 25 text
2016 - 2017 独立第2フェーズ
Slide 26
Slide 26 text
STORES.jpエンジニアチームの状況 - 外部連携系サービスのクローズ - 決済アプリ ”STORES.jp Payment” リリース - 使われなくなったコードを一掃 - チームとして動く体制へ - プロジェクト制、正/副担当制、ペアプロ システム構成の変化 - Elasticsearchの運用をElasticCloudへ - 画像配信サービスの運用をImageFluxへ 2016 - 2017 独立第2フェーズ
Slide 27
Slide 27 text
2018 - ギアチェンジフェーズ
Slide 28
Slide 28 text
会社の状況 - 社名変更 & 組織拡大 - “だれになにを提供するのか”を再定義 - “自分のブランドのコミュニティがある人に、楽しく続けられ るしくみをつくる” - heyグループとして情報共有を強化 - 1つのオフィスにお引っ越し - Slack共通化 - 毎月末にグループ全体でレビュー会を実施 - 福利厚生等々も両社のいいとこ取りして共通化 - フレックス制導入 2018 - ギアチェンジフェーズ
Slide 29
Slide 29 text
STORES.jpエンジニアチームの体制 - 4名 -> 16名 (※現在も積極採用中!!!) STORES.jpエンジニアチームの状況 - 目的別のチーム体制(3~4名) - 採用に全員何かしらで関わる(面談/面接/hello hey) システム構成の変化 - AngularJS -> Vue.js - MongoDBの運用をMongoDB Atlasへ - データ構造の見直し - データ分析基盤の構築 2018 - ギアチェンジフェーズ
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
おわりに
Slide 33
Slide 33 text
1. 会社の状況や体制が変化しても、 なぜやるのか (ビジネス的な背景や目的の説明)を明確にし、楽 しみながら事業もチームも成長を続けていた 2. どうやるのかはエンジニアチームの責任で、個人 に与えられる裁量も大きい 3. 今後は、組織とサービスが大きなっても上記を保 ち続けることが課題 おわりに
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
https://hey.jp/events/hello-hey/