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

  3. 前提

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

  5. None
  6. どんな会社?

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

  9. なんとなくフェーズを分けると 2012 - 2013 : 0 -> 1フェーズ 2013 -

    2014 : イケイケフェーズ 2015 - 2016 : 混沌フェーズ 2016 - 2017 : 独立第2フェーズ 2018 - : ギアチェンジフェーズ
  10. 2012 - 2013 0 -> 1フェーズ

  11. 会社の状況 - とにかく早くユーザへ価値を届けることに注力 STORES.jpエンジニアチームの体制 - 1名 -> 3名 システム構成 -

    AngularJS + Rails + MongoDB - Postfix - 本体の他に決済システムと画像配信システムを運用 - サービス開始時はVPSだったが拡張性を求めAWSへ移行 2012 - 2013 0 -> 1フェーズ
  12. 2012 - 2013 0 -> 1フェーズ STORES.jpエンジニアチームの状況 - 1つの機能をすべて1人が担当 -

    思いついたアイデアを即時実装、即リリース - とにかく様々な手を打っていた - master直push -> git-flow(チック) - コードレビューほぼなし.. テストなし... - サーバ台数が増えデプロイツールにminaを導入 - SPAだったのでPhantomJSを利用してSSR
  13. 2013 - 2014 イケイケフェーズ

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

    3名 2013 - 2014 イケイケフェーズ
  15. STORES.jpエンジニアチームの状況 - 外部サービスとの提携強化 - コードレビューの実施とテストコードが追加され始める - 開発ドキュメントが残されるようになる(Google Docs) - 問いあわせ対応のタスク管理にRedmineを利用

    - 利用者が増え色々な問題が表面化し始める.. システム構成の変化 - 大きくは変わらず - Postfix -> Sendgrid - CircleCI導入 2013 - 2014 イケイケフェーズ
  16. 2015 - 2016 混沌フェーズ

  17. 会社の状況 - ZOZOフリマに注力していた時期 STORES.jpエンジニアチームの体制 - 3名 -> 4名 システム構成の変化 -

    デプロイツールをminaからCapistranoへ - 例外情報の収集にErrbitを導入 - Qiita:Team導入 - 開発タスクはすべてGithub Issuesへ 2015 - 2016 混沌フェーズ
  18. STORES.jpエンジニアチームの状況 - リニューアルプロジェクトを2回に分けて実施 - ブランチ運用のルール化(git-flowへ) - チャットbotによるレビュアー自動アサイン - 朝会/夕会、週1回のふりかえりを実施 2015

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

  20. リニューアルでどうしても解決したかった課題 - SPA - PhantomJSでSSR - 構成上の問題でbotが押し寄せてくると死ぬ - PhantomJSの突然死 -

    コア吐く -> ディスク埋まる -> 死ぬ リニューアルのついでに素直にRailsでレンダリングするように改 修し、穏やかな日常を手に入れた 2015 - 2016 混沌フェーズ
  21. 会社の状況 - フリマチームが大忙し - STORESのオペレーションチームが2名に STORES.jpエンジニアチームの体制 - リーダーに就任 STORES.jpエンジニアチームの状況 -

    オペレーション業務を効率化させるための開発に注力 - リモートワークの実験的導入 2015 - 2016 混沌フェーズ
  22. 2015 - 2016 混沌フェーズ

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

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

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

  26. STORES.jpエンジニアチームの状況 - 外部連携系サービスのクローズ - 決済アプリ ”STORES.jp Payment” リリース - 使われなくなったコードを一掃

    - チームとして動く体制へ - プロジェクト制、正/副担当制、ペアプロ システム構成の変化 - Elasticsearchの運用をElasticCloudへ - 画像配信サービスの運用をImageFluxへ 2016 - 2017 独立第2フェーズ
  27. 2018 - ギアチェンジフェーズ

  28. 会社の状況 - 社名変更 & 組織拡大 - “だれになにを提供するのか”を再定義 - “自分のブランドのコミュニティがある人に、楽しく続けられ るしくみをつくる”

    - heyグループとして情報共有を強化 - 1つのオフィスにお引っ越し - Slack共通化 - 毎月末にグループ全体でレビュー会を実施 - 福利厚生等々も両社のいいとこ取りして共通化 - フレックス制導入 2018 - ギアチェンジフェーズ
  29. STORES.jpエンジニアチームの体制 - 4名 -> 16名 (※現在も積極採用中!!!) STORES.jpエンジニアチームの状況 - 目的別のチーム体制(3~4名) -

    採用に全員何かしらで関わる(面談/面接/hello hey) システム構成の変化 - AngularJS -> Vue.js - MongoDBの運用をMongoDB Atlasへ - データ構造の見直し - データ分析基盤の構築 2018 - ギアチェンジフェーズ
  30. None
  31. None
  32. おわりに

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

    ち続けることが課題 おわりに
  34. None
  35. https://hey.jp/events/hello-hey/