Slide 1

Slide 1 text

⽣産性向上チームの紹介 サイボウズ株式会社 ⽣産性向上チーム

Slide 2

Slide 2 text

⽬次 ▌ミッション ▌業務内容 ▌メンバー紹介 ▌よく使う技術 ▌活動例 ▌チームの特徴 ▌社外発信 ▌まとめ ⽣産性向上チームとは︖ 具体的な技術の話 チームの雰囲気や、社外との関わり 2

Slide 3

Slide 3 text

⽣産性向上チームのミッション(1) 多様で価値あるサービスを迅速に提供するため、 部署やプロダクトを横断して、 ⽣産的でオープンな開発基盤を整備する 3

Slide 4

Slide 4 text

⽣産性向上チームのミッション(2) ひとことで⾔うと... 「サイボウズの開発者がつらいと思っている部分を 最⾼にしていく 」 ためのチームです︕ 4

Slide 5

Slide 5 text

⽣産性向上チームの業務内容 ・・・ Garoon 開発 kintone 開発 Office 開発 ・・・ ⽣産性向上チーム 組織横断型 5

Slide 6

Slide 6 text

⽣産性向上チームの業務内容(1) 組織を横断した 開発基盤の整備 開発基盤を活⽤した 改善活動の⽀援 みんなハッピー ⽣産性向上技術の キャッチアップ・共有 6

Slide 7

Slide 7 text

⽣産性向上チームの業務内容(2) ▌ユーザ(社内エンジニア)との距離が近いため、 活動に対するフィードバックを受けやすい ▌他チームの開発を改善することにより、 たくさんの⽣産性向上ノウハウを得られる 7

Slide 8

Slide 8 text

メンバー紹介 miyajan defaultcf naotama AWS 開発基盤 takamin55 r4mimu emiksk Four keys 基盤 korosuke613 Kesin11 t-masa GitHub Actions セルフホストランナー 8

Slide 9

Slide 9 text

よく使う技術 コーディング VS Code JetBrains IDE GitHub Copilot パブリッククラウド AWS Google Cloud ⾔語 TypeScript Golang CI/CD GitHub Actions IaC Terraform Serverless Framework 仮想化・監視 Docker Kubernetes Datadog 9

Slide 10

Slide 10 text

活動例 主な領域 ▌Four keys 基盤 ▌GitHub Actions セルフホストランナー ▌AWS 開発基盤 10

Slide 11

Slide 11 text

活動例︓Four keys 基盤 ▌ プロダクトチームの開発⽣産性を測るためにFour keysを計測・可視化 するプラットフォームを開発・提供 ▌ Four keys とは n DORAチームが提唱するソフトウェア開発チームのパフォーマンスを⽰ す4つの指標 n デプロイ頻度・変更のリードタイム・変更障害率・サービス復元時間の 4つを指標として定義 11

Slide 12

Slide 12 text

Four keys 基盤のアーキテクチャ ▌ DORAの提供するOSSをベースにイベントを収集し、ダッシュボードで Four keysを可視化 12

Slide 13

Slide 13 text

活動例︓GitHub Actions セルフホストランナー(1) セルフホストランナーとは︖ ▌GitHub Actions を、⽤意したマシンで動作させるためのランナー n GitHub Enterprise Server で Actions を動かす⽤途 ▌⽣産性向上チームでは OSS で提供されている philips- labs/terraform-aws-github-runner を利⽤して運⽤している 詳しくは philips-labs/terraform-aws-github-runnerによる GitHub Actions セルフホストランナーの⼤規模運⽤ | ドクセル 13

Slide 14

Slide 14 text

活動例︓GitHub Actions セルフホストランナー(2) 主な活動内容 ▌OSS を利⽤しつつ社内ネットワークと接続させるための拡張 ▌OSS には含まれない監視機能を独⾃設計・実装 ▌スポットインスタンスなどの AWS コスト削減策の検討 ▌CI/CD 改善のための情報可視化・相談対応 14

Slide 15

Slide 15 text

活動例︓AWS 開発基盤 主な活動内容 ▌チームの AWS アカウント利⽤を簡単にする仕組みの提供 ▌社内 ID で利⽤可能な AWS SSO 環境の提供 o https://www.docswell.com/s/naotama/524DJ1-2024-04-09-aws-sso- migration ▌AWS マルチアカウントのガードレール整備 ▌AWS に関する情報発信・相談対応 15

Slide 16

Slide 16 text

チームの特徴 ▌モブプログラミングで開発︕ ▌フットワークが軽い︕ ▌業務時間内に探求と共有も⾏える︕ 16

Slide 17

Slide 17 text

チームの特徴︓モブプログラミングで開発 モブプログラミングとは ▌複数⼈で⼀つの画⾯を⾒ながら、役割をプログラミングをする⼈、助⾔を する⼈に分担して進めるやり⽅ メリット ▌素早く情報共有できる ▌⾼速なフィードバックが得られる n 短期間で品質を上げやすい 17

Slide 18

Slide 18 text

チームの特徴︓モブプログラミングで開発︕ ⽣産性向上チームでは ▌25分作業→5分休憩→ドライバー交代を繰り返す ▌3つのレーンに分かれて、1レーン2〜3⼈ずつで⾏う n レーン n Four keys 基盤 n GitHub Actions セルフホストランナー n AWS 開発基盤 n 依頼系タスクは各レーンが毎⽇交代で担当 ▌休憩前に進捗を作業ログに残す n 属⼈性を減らすため 25分 作業 5分 休憩 ドライバー 交代 18

Slide 19

Slide 19 text

チームの特徴︓フットワークが軽い ▌⽣産性向上チーム⾃⾝の改善サイクルが⾼速 n 毎週⾦曜⽇にKPTを⽤いて振り返り n 出た意⾒は素早く議論してとりあえずやってみる ▌他チームからの依頼相談へのレスポンスが素早い n モブのレーンで対応しているため、素早く回答できる 19

Slide 20

Slide 20 text

チームの特徴︓業務時間内に探求と共有も⾏える 様々な探求・共有のための時間 ▌探求タイム n 毎朝1時間、気になる技術を探求できる時間 ▌Productivity Weekly n Zennで発信中︕ ▌ブログもくもく n 隔週⾦曜⽇はブログなどの情報発信に使える 20

Slide 21

Slide 21 text

社外発信︓⽣産性向上ネタの共有 q Productivity Weekly 1週間の間に⾒つけた開発者の⽣産性向上に関わるネタを共有する会 社内で⾏った会の内容をzennで公開︕ 𝕏 ハッシュタグ: #cybozu_productivity_weekly Zenn: https://zenn.dev/topics/productivityweekly ぜひ⾒てね︕ 21

Slide 22

Slide 22 text

社外発信︓イベントもやってます︕ q Engineering Productivity Meetup 開発者の⽇々の⽣産性を⾼めるための知⾒や技術を語り合うイベント ⽣産性向上ネタを持ち寄って交流しましょう︕ 𝕏 ハッシュタグ: #productivity_meetup 22

Slide 23

Slide 23 text

まとめ ▌⽣産性向上チームは サイボウズの開発者がつらいと思っている部分を最⾼にしていく ためのチーム ▌ユーザとの距離が近いため、活動へのフィードバックを受けやすい ▌他チームの開発を改善するため、⽣産性向上ノウハウを得られる ▌探求時間を明⽰的に確保。学習したことを業務に活かせる ▌⽣産性向上チーム⾃⾝の⽣産性向上サイクルが⾼速に回っている 23