Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
他チームと⼀緒に⽣産性を⾼めるGaroonチーム
Search
Cybozu
PRO
June 15, 2020
Technology
0
1.9k
他チームと⼀緒に⽣産性を⾼めるGaroonチーム
Cybozu
PRO
June 15, 2020
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
110
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
650
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
66
つけまが降ってきた日
cybozuinsideout
PRO
1
510
「行ってよかった!」をみんなに広げる
cybozuinsideout
PRO
0
170
サイボウズの QAエンジニアについて / about cybozu QA
cybozuinsideout
PRO
3
4.4k
不具合の先にある面白さ~配属3か月目の新卒QAのいま~
cybozuinsideout
PRO
0
460
kintone開発チームの紹介
cybozuinsideout
PRO
1
87k
Other Decks in Technology
See All in Technology
システムのアラート調査をサポートするAI Agentの紹介/Introduction to an AI Agent for System Alert Investigation
taddy_919
2
1.7k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.1k
使いにくいの壁を突破する
sansantech
PRO
1
110
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
3
1.2k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
120
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.2k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
What happened to RubyGems and what can we learn?
mikemcquaid
0
240
今日から始めるAmazon Bedrock AgentCore
har1101
4
380
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
11
4.5k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
2
120
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Six Lessons from altMBA
skipperchong
29
4.1k
We Have a Design System, Now What?
morganepeng
54
8k
The SEO identity crisis: Don't let AI make you average
varn
0
64
How to make the Groovebox
asonas
2
1.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Transcript
他チームと⼀緒に ⽣産性を⾼めるGaroonチーム 川畑 裕也 サイボウズ株式会社 Garoon開発チーム
川畑 裕也 @n1wat0n ▌Garoon開発チーム 新卒4年⽬ l新機能開発チーム, サポートエンジニアチームを経験 l現在は改善専⾨チームで⽴案/設計/実装 ▌⽣産性向上チーム 兼務8ヶ⽉
(後述)
▌組織の情報を集めるWebアプリケーション ▌⽇々頑張っている会社/⼈を⽀える製品 ▌たくさんの会社、ユーザ様に使われている l5,600 社 2,700,000 ユーザ
今⽇お話すること Garoonチームは 他チームと協⼒することで つらい状況を変えていった
Garoonのつらかった話 ▌開発⾯ l18年の開発で読みづらくなったコード群 l ちょっとした不具合を直すのに影響範囲が膨⼤ l⾃動テストの結果が出るのが1時間後 l 誰が落としたかわからない l 重要視されなくなっていく…
Garoonのつらかった話 ▌組織体制 lベテランが抜けていく l開発や問い合わせ業務を進めるだけでギリギリの配置 l2年⽬の僕と新⼈の後輩で問い合わせ対応(不具合調査、 障害調査)をやってる時期が⼀番つらかった
開発を取るか改善を取るか ▌技術的負債は溜まっていく⼀⽅ ▌限られた⼈数で開発も改善も進めていくのは厳しい 当時の発⾔
兼務するきっかけ ▌あるGaroonチームのメンバーが⽣産性向上チームと 兼務して改善活動を始める ▌Garoonがよくなっていくことを感じて⾃分も参加
⽣産性向上チームについて ▌チームを横断して開発基盤を整備するチーム 開発基盤の整備 • AWSにSSOする 仕組みづくり • 開発⽤のGCP, Office365の管理 •
本番環境への リリース⾃動化 • Garoonの改善⽀援 ⾃動化・効率化の⽀援
⽣産性向上チームと Garoonチームの取り組み ▌⾃動テスト環境の整備 ▌ローカル開発環境のDocker移⾏ ▌テスト⽤メールサーバの改善 ▌点在していたDocker Imageを管理しやすく集約 ▌⾃動テスト環境構築の⾼速化
⽣産性向上チームと Garoonチームの取り組み ▌⾃動テスト環境の整備 ▌ローカル開発環境のDocker移⾏ ▌テスト⽤メールサーバの改善 ▌点在していたDocker Imageを管理しやすく集約 ▌⾃動テスト環境構築の⾼速化
改善前の⾃動テスト ▌プルリクエスト作成時にユニットテストが⾛らない lマージしないと問題に気づけない ▌ビルドからE2Eテストが終わるまで最低1時間以上 lちょっとしたミスを直すのに⻑時間かかる ▌定期実⾏されてる⻑時間かかるJobがある lユニットテストのカバレージ取得に6時間
改善前のJenkins ▌⼤量の⾃動テスト/⾃動ビルド lどのJobの後にどのJobが動くのか わからない l新バージョンごとにJobを再作成 l 1週間以上かかることも ▌メンテナンスが⼤変︕
現状を整理 この辺にZoomロゴ この辺にZoomロゴ →
改善の取り組み ▌CI基盤: Jenkins → CircieCI l⼤量のジョブを少しづつ移⾏ ▌テストの実⾏⽅式 l直列 → 10並列
▌テスト環境 lVM使いまわし → Amazon EC2で都度作成 ▌不安定なテストケースを改修
改善後の⾃動テスト ▌プルリクエスト作成時にユニットテストが⾛らない → プルリクエスト作成時にユニットテストを実⾏ 圧倒的に⼿戻りが減った ▌ビルドからE2Eテストが終わるまで最低1時間以上 → 36分に削減 ▌定期実⾏されてる6時間かかるJobがある →
14分に削減
改善後のCircleCI ▌ジョブの関係もわかりやすくなった
改善をしてハッピーになった ▌Garoonメンバーの喜びの声を聞けた ▌暗い雰囲気はなくなってきた(体感) l これからも改善できる雰囲気になった ▌⽣産性向上チームに限らず他のチームと協⼒する機会が 増えた
Garoonチームだけでは 出来なかった ▌助けてくれるチームがいると⼼強い ▌客観的に「この状況はヤバい」と⾔ってもらえた l 他チームの状況を知らないと本当にヤバいか分からない l 変えていこう、やっていこうと思えた ▌他製品での改善の知⾒を活かして進められた l
CircleCIへ移⾏しよう l 他チームではこのツールを使っている
改善の種は尽きない ▌Garoonは改善の種の宝庫 l定期的にGaroon開発チームと⽣産性向上チームで 次にやることを話す会を設けている ▌改善したことでレガシーコードへの戦いに 挑めるようになった
俺たちの戦いはこれからだ︕
⼀緒に⽣産性を⾼める⼈を募集中!