Upgrade to Pro — share decks privately, control downloads, hide ads and more …

STORES.jp 開発組織の軌跡 / Rails Developers Meetup 2018 Day4

Takeshi Yabe
December 08, 2018

STORES.jp 開発組織の軌跡 / Rails Developers Meetup 2018 Day4

Rails Developers Meetup 2018 Day4 でお話ししたときに使った資料です

Takeshi Yabe

December 08, 2018
Tweet

More Decks by Takeshi Yabe

Other Decks in Business

Transcript

  1. STORES.jp
    開発組織の軌跡
    Rails Developers Meetup 2018 Day4
    2018.12.08 - Takeshi Yabe (@tyabe)

    View Slide

  2. お話しすることの確認
    STORES.jpは2012年のサービス開始から事業として
    様々なチャレンジを続け、組織としても変化し続けて
    きました。
    本セッションではその歴史をふり返りながら、開発組
    織としてどのような問題に直面し解決を試みてきた
    のかをお話しします。

    View Slide

  3. 前提

    View Slide

  4. STORES.jp(サービス)とは

    View Slide

  5. View Slide

  6. どんな会社?

    View Slide

  7. View Slide

  8. STORES.jpリリース後の社員数の変動 ※正社員のみ

    View Slide

  9. なんとなくフェーズを分けると
    2012 - 2013 : 0 -> 1フェーズ
    2013 - 2014 : イケイケフェーズ
    2015 - 2016 : 混沌フェーズ
    2016 - 2017 : 独立第2フェーズ
    2018 - : ギアチェンジフェーズ

    View Slide

  10. 2012 - 2013 0 -> 1フェーズ

    View Slide

  11. 会社の状況
    - とにかく早くユーザへ価値を届けることに注力
    STORES.jpエンジニアチームの体制
    - 1名 -> 3名
    システム構成
    - AngularJS + Rails + MongoDB
    - Postfix
    - 本体の他に決済システムと画像配信システムを運用
    - サービス開始時はVPSだったが拡張性を求めAWSへ移行
    2012 - 2013 0 -> 1フェーズ

    View Slide

  12. 2012 - 2013 0 -> 1フェーズ
    STORES.jpエンジニアチームの状況
    - 1つの機能をすべて1人が担当
    - 思いついたアイデアを即時実装、即リリース
    - とにかく様々な手を打っていた
    - master直push -> git-flow(チック)
    - コードレビューほぼなし.. テストなし...
    - サーバ台数が増えデプロイツールにminaを導入
    - SPAだったのでPhantomJSを利用してSSR

    View Slide

  13. 2013 - 2014 イケイケフェーズ

    View Slide

  14. 会社の状況
    - STORES.jp PRO担当とZOZOフリマ担当が発足
    STORES.jpエンジニアチームの体制
    - 3名 -> 9名 -> 3名
    2013 - 2014 イケイケフェーズ

    View Slide

  15. STORES.jpエンジニアチームの状況
    - 外部サービスとの提携強化
    - コードレビューの実施とテストコードが追加され始める
    - 開発ドキュメントが残されるようになる(Google Docs)
    - 問いあわせ対応のタスク管理にRedmineを利用
    - 利用者が増え色々な問題が表面化し始める..
    システム構成の変化
    - 大きくは変わらず
    - Postfix -> Sendgrid
    - CircleCI導入
    2013 - 2014 イケイケフェーズ

    View Slide

  16. 2015 - 2016 混沌フェーズ

    View Slide

  17. 会社の状況
    - ZOZOフリマに注力していた時期
    STORES.jpエンジニアチームの体制
    - 3名 -> 4名
    システム構成の変化
    - デプロイツールをminaからCapistranoへ
    - 例外情報の収集にErrbitを導入
    - Qiita:Team導入
    - 開発タスクはすべてGithub Issuesへ
    2015 - 2016 混沌フェーズ

    View Slide

  18. STORES.jpエンジニアチームの状況
    - リニューアルプロジェクトを2回に分けて実施
    - ブランチ運用のルール化(git-flowへ)
    - チャットbotによるレビュアー自動アサイン
    - 朝会/夕会、週1回のふりかえりを実施
    2015 - 2016 混沌フェーズ

    View Slide

  19. 2015 - 2016 混沌フェーズ
    https://careerhack.en-japan.com/report/detail/650

    View Slide

  20. リニューアルでどうしても解決したかった課題
    - SPA
    - PhantomJSでSSR
    - 構成上の問題でbotが押し寄せてくると死ぬ
    - PhantomJSの突然死
    - コア吐く -> ディスク埋まる -> 死ぬ
    リニューアルのついでに素直にRailsでレンダリングするように改
    修し、穏やかな日常を手に入れた
    2015 - 2016 混沌フェーズ

    View Slide

  21. 会社の状況
    - フリマチームが大忙し
    - STORESのオペレーションチームが2名に
    STORES.jpエンジニアチームの体制
    - リーダーに就任
    STORES.jpエンジニアチームの状況
    - オペレーション業務を効率化させるための開発に注力
    - リモートワークの実験的導入
    2015 - 2016 混沌フェーズ

    View Slide

  22. 2015 - 2016 混沌フェーズ

    View Slide

  23. 2016 - 2017 独立第2フェーズ

    View Slide

  24. 会社の状況
    - 初期の開発メンバーが社内にいなくなった
    STORES.jpエンジニアチームの体制
    - 4名 -> 6名
    - CTO就任(2017年4月)
    2016 - 2017 独立第2フェーズ

    View Slide

  25. 2016 - 2017 独立第2フェーズ

    View Slide

  26. STORES.jpエンジニアチームの状況
    - 外部連携系サービスのクローズ
    - 決済アプリ ”STORES.jp Payment” リリース
    - 使われなくなったコードを一掃
    - チームとして動く体制へ
    - プロジェクト制、正/副担当制、ペアプロ
    システム構成の変化
    - Elasticsearchの運用をElasticCloudへ
    - 画像配信サービスの運用をImageFluxへ
    2016 - 2017 独立第2フェーズ

    View Slide

  27. 2018 - ギアチェンジフェーズ

    View Slide

  28. 会社の状況
    - 社名変更 & 組織拡大
    - “だれになにを提供するのか”を再定義
    - “自分のブランドのコミュニティがある人に、楽しく続けられ
    るしくみをつくる”
    - heyグループとして情報共有を強化
    - 1つのオフィスにお引っ越し
    - Slack共通化
    - 毎月末にグループ全体でレビュー会を実施
    - 福利厚生等々も両社のいいとこ取りして共通化
    - フレックス制導入
    2018 - ギアチェンジフェーズ

    View Slide

  29. STORES.jpエンジニアチームの体制
    - 4名 -> 16名 (※現在も積極採用中!!!)
    STORES.jpエンジニアチームの状況
    - 目的別のチーム体制(3~4名)
    - 採用に全員何かしらで関わる(面談/面接/hello hey)
    システム構成の変化
    - AngularJS -> Vue.js
    - MongoDBの運用をMongoDB Atlasへ
    - データ構造の見直し
    - データ分析基盤の構築
    2018 - ギアチェンジフェーズ

    View Slide

  30. View Slide

  31. View Slide

  32. おわりに

    View Slide

  33. 1. 会社の状況や体制が変化しても、 なぜやるのか
    (ビジネス的な背景や目的の説明)を明確にし、楽
    しみながら事業もチームも成長を続けていた
    2. どうやるのかはエンジニアチームの責任で、個人
    に与えられる裁量も大きい
    3. 今後は、組織とサービスが大きなっても上記を保
    ち続けることが課題
    おわりに

    View Slide

  34. View Slide

  35. https://hey.jp/events/hello-hey/

    View Slide