開発者の⽣産性向上を妨げる障壁と
サイボウズの⽣産性向上チームの取り組み
GitHub InFocus 2022 Day 4: Improve
サイボウズ株式会社 開発本部 ⽣産性向上チーム
宮⽥ 淳平(@miyajan)
1
⾃⼰紹介
▌宮⽥ 淳平(@miyajan)
▌サイボウズ株式会社
n 2009年 ⼊社
n 2015年 ⽣産性向上チームを⽴ち上げ
▌『GitHub Actions 実践⼊⾨』執筆など
2
今⽇話すこと
3
開発者の⽣産性向上について
▌世の中に開発者の⽣産性を⾼めるツールやプラクティスは増えてきました
▌しかし現実の開発ではなかなか改善活動が進みません
▌どういう障壁があるのでしょうか︖
▌また、その障壁に取り組んできた知⾒を話します
▌特定のツールやプラクティスの詳細を話す発表ではありません
4
開発者の⽣産性向上を妨げる障壁
5
理想の⽣産性の⾼い開発
CI/CD
リーン開発
DevOps
アジャイル
スクラム
⾃律したチーム
マイクロサービス
モダンな技術
6
現実の開発
障害対応
納期
脆弱性
技術的負債
緊急の割り込み
他チームとの調整
巨⼤モノリス
レガシーから逃げられない
7
なぜ︖
8
開発者の⽣産性向上を放置し続けた結果
▌他の優先事項のために⼀時的な負債を選択するのは必ずしも悪くない
▌しかし、後回しにばかりしていると中⻑期的には⾟い現実が訪れる
n ⼀回負債が多すぎる状態になると利息の返済だけで⼿⼀杯に
n チームがスケールせず、ビジネス的に価値を⽣み出しづらくなる
n 開発者体験が悪いと、開発者が流出、採⽤が困難に
▌改善する時間がない︖
n 改善しないから時間がないのです
9
開発者の⽣産性向上を妨げる障壁とは︖
▌組織的な障壁
n 開発者⾃⾝の改善活動の優先順位が上がりづらい
n チームをまたいだ改善活動を進めにくい
▌技術的な障壁
n 新しいツールやサービスの導⼊のハードルが⾼い
n 改善活動のノウハウがない
10
組織的な障壁
11
開発者⾃⾝の改善活動の優先順位が上がりづらい
▌開発チームがやるべきことは多い
n 新機能実装、不具合改修、障害対応、脆弱性対応、
依存関係のアップデート、定例、他チームとの調整、etc.
▌改善活動は重要性が⾼くても緊急性は低い(と考えられがち)
n なにかのきっかけで炎上して緊急性が上がることはあるけど…
12
チームをまたいだ改善活動を進めにくい
▌ステークホルダーが多いと⾃チームで完結して動けない
▌全体最適よりも⾃チームに閉じた⼀時しのぎに流れてしまいやすい
13
技術的な障壁
14
新しいツールやサービスの導⼊のハードルが⾼い
▌いろいろな選択肢がある中でどれが⾃チームのコンテキストに合うのか︖
n 技術選定する⼒が求められる
▌サービス導⼊も考えることが多い
n 予算確保、ユーザー管理、ガバナンス整備など
15
改善活動のノウハウがない
▌製品開発などに⽐べて改善活動を推進したことがある⼈は少ない
n 共有もあまりされない
▌開発フロー全体の改善をするには幅広い知識が求められる
n 設計、開発、運⽤、品質保証など
▌通常の業務の⽚⼿間で⾏うには開発者のキャパシティが⾜りない
16
サイボウズの⽣産性向上チームの取り組み
17
サイボウズの製品開発
18
⽣産性向上チーム設⽴以前
▌各チームで改善活動は⾏われていた
n テスト⾃動化
n CI 構築
n チームで輪講して⾃チームの改善につなげる
19
⼀⽅で問題に感じることも
▌もっと改善したいけど時間が確保できない
▌各チームが似たような試⾏錯誤をしているけどノウハウが共有されづらい
▌野良で運⽤される開発基盤
20
⽣産性向上チーム⽴ち上げ
21
組織横断の専⾨チーム
⽣産性向上チーム
・ ・ ・
Garoon
開発
kintone
開発
Office
開発
・ ・ ・
22
役割
組織を横断した
開発基盤の整備
開発チームに⼊って
改善活動の⽀援
⽣産性向上技術の
キャッチアップ・共有
みんなハッピー😆
23
開発基盤の整備
24
活動例(開発基盤の構築)
▌AWS マルチアカウント管理
n https://speakerdeck.com/hideki/odc2021-online
▌オートスケールする GitHub Actions セルフホストランナー
n https://www.slideshare.net/miyajan/github-actions-
250042631
▌cybozu.com のリリース管理・アーカイブ管理システム
▌etc.
25
開発基盤で意識していること
▌クラウドサービスを活⽤する
n 開発者のリソースは常に⾜りないので、運⽤コストを下げる
▌⾜りないパーツを開発・運⽤
26
GitHub の活⽤
▌Enterprise Server と Enterprise Cloud の両⽅を利⽤中
n 社内ネットワークからしかアクセスできないインフラがあるため
▌バージョン管理に限らずソフトウェア開発のプラットフォーム
n チケット管理、レビュー、ドキュメント、CI/CD、静的サイトホスティング、
セキュリティ、etc.
▌他サービスとの連携のしやすさ
n API、スコープを制限できるパーソナルアクセストークン、Webhook、OAuth、
Actions の OIDC サポート、etc.
▌オープンなコミュニケーションとコラボレーションのしやすさが改善活動につながりやすい
27
改善活動の⽀援
28
活動例(改善活動の⽀援)
▌開発チームの CI 改善⽀援
n https://www.slideshare.net/YuyaKawabata/ci-
250042724
▌開発チームの E2E テスト⾃動化導⼊⽀援
▌デザインチームの採⽤サイトリニューアル⽀援
▌etc.
29
改善活動の⽀援で意識していること
▌⽣産性向上チームがボトルネックにならないようにする
n ⽀援先チームと⼀緒に進めて⽣産性向上チームに属⼈化させない
n 最終的には⽀援先チームで改善活動が進む状態を⽬指す
▌改善活動を推進する旗振り役を⽬指す
n 関係者が集まって話す場を作るだけでもいろいろ進み出すこともある
n もちろん必要なときは⼿も動かす
30
⽣産性向上ノウハウのキャッチアップ・共有
31
キャッチアップする時間の確保
▌毎⽇午前中はデイリーミーティング以外の時間は⾃由に探求する時間
n 新しいツールや技術の調査
n ちょっとした改善案の実践
n etc.
▌業務時間内で学習や成⻑のための時間を確保する
32
⽣産性向上に関する情報の共有・発信(1)
▌Productivity Weekly
n 社内で週⼀で最近の⽣産性向上ネタを持ち寄ってワイワイする会
n 社外にも記事として発信
n https://zenn.dev/topics/productivityweekly
33
⽣産性向上に関する情報の共有・発信(2)
▌Cybozu Productivity News
n Productivity Weekly の内容を⽉⼀でまとめて社外に動画配信
n https://www.youtube.com/playlist?list=PLPTndynQK4d
yIV4LIENpxZ9bOuqEnpl-0
34
⽣産性向上に関する情報の共有・発信(3)
▌Productivity.fm
n ⽉⼀で⽣産性向上チームの活動内容を社内に動画配信
35
まとめ
36
話したこと
改善活動の障壁
組織的な障壁
優先順位が上がりづらい
チームをまたいで進めづらい
技術的な障壁
ツールやサービス導⼊のハードル
ノウハウ不⾜
⽣産性向上チームの取り組み
組織横断の専⾨チーム
開発基盤の整備
改善活動の⽀援・旗振り
ノウハウのキャッチアップと共有
37
⽣産性向上のような専⾨チームは必要︖
▌それぞれの組織・チームのコンテキストによる
n ⼩規模な内は推進⼒のある⼈がいればどうにかなる
n ⼤規模になるにつれてスケールさせるために責務の分離も選択肢に
▌海外だと Engineering Productivity 系のチームはけっこうある
n 国内でも増えてきている
▌専⾨チームがサイロ化しないよう注意
38
参考資料など
▌『サイボウズの開発者の⽣産性を上げる「⽣産性向上チーム」とは︕︖』
n https://note.com/cybozu_dev/n/n1c1b44bf72f6
▌Meety やってるので直接話してみたいという⼈はどうぞ︕
n https://meety.net/matches/EsrUIngZNeUX
39

More Related Content

PDF
オートスケールする GitHub Actions セルフホストランナーを構築してる話
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方
PDF
テスト文字列に「うんこ」と入れるな
PDF
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
PPTX
イベント・ソーシングを知る
PDF
App013 ここはあえて紙と
オートスケールする GitHub Actions セルフホストランナーを構築してる話
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
SPAセキュリティ入門~PHP Conference Japan 2021
GitHubの機能を活用したGitHub Flowによる開発の進め方
テスト文字列に「うんこ」と入れるな
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
イベント・ソーシングを知る
App013 ここはあえて紙と

What's hot (20)

PDF
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
PDF
マイクロサービス 4つの分割アプローチ
PDF
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
PDF
ユーザーストーリー駆動開発で行こう。
PDF
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
PDF
Keycloak拡張入門
PDF
アジャイル開発とメトリクス
PDF
オンラインゲームの仕組みと工夫
PPTX
ぱぱっと理解するSpring Cloudの基本
PDF
IL2CPPに関する軽い話
PDF
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
PDF
それはYAGNIか? それとも思考停止か?
PDF
Deep Dive async/await in Unity with UniTask(UniRx.Async)
PDF
ソーシャルゲームのためのデータベース設計
PDF
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
PPTX
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
PDF
20200714 AWS Black Belt Online Seminar Amazon Neptune
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
マイクロサービス 4つの分割アプローチ
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
ユーザーストーリー駆動開発で行こう。
CSI Driverを開発し自社プライベートクラウドにより適した安全なKubernetes Secrets管理を実現した話
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Keycloak拡張入門
アジャイル開発とメトリクス
オンラインゲームの仕組みと工夫
ぱぱっと理解するSpring Cloudの基本
IL2CPPに関する軽い話
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
それはYAGNIか? それとも思考停止か?
Deep Dive async/await in Unity with UniTask(UniRx.Async)
ソーシャルゲームのためのデータベース設計
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
【Unite Tokyo 2019】Understanding C# Struct All Things
20200714 AWS Black Belt Online Seminar Amazon Neptune
Ad

Similar to 開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み (20)

PDF
【サイボウズ インターンシップ2025】生産性向上コース説明資料........
PDF
サイボウズの生産性を高める生産性向上チームと開発文化
PDF
組織の組織の自律性の課題 - スクラムコーチとしての気づきとと生成AIへの期待 -
PDF
マイノリティ(少人数)な内製エンジニア組織の生存・成長戦略
PDF
開発とテストが一体となったソフトウェア開発
PDF
プロダクトオーナーと開発者が別会社・別組織でも前のめりなチームを生み出す取り組み事例
 
PDF
Regional Scrum Gathering® Tokyo 2014
PDF
新しい働き方アワード【新しい働き方LAB empowered by ランサーズ/研究員制度3期】
PDF
20110330 toc思考プロセス入門
PDF
CEDEC2015講演 チーム開発をスムーズにするために
PDF
どうすればデザイン思考で成果を出せるのか? 〜デザイン・シンキングの概要・課題・未来〜
PDF
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
PDF
第8回勉強会 開発プロセス 「プロセス改善」
PDF
実践リーンエンタープライズ(20161027)
PPTX
The Secret Sauce of Innovation - Japanese / Japan
PPTX
The 32th gathering. I tried 15 productivity apps...
PDF
経営のアジリティを支えるDevOpsと組織
PDF
リモートチームでうまくいく 〜 これから訪れる働き方の変革
PDF
Garoon meetup: 他チームと一緒に生産性を高めるGaroonチーム
PDF
ディスカバリーズ テレワーク向けソリューション
【サイボウズ インターンシップ2025】生産性向上コース説明資料........
サイボウズの生産性を高める生産性向上チームと開発文化
組織の組織の自律性の課題 - スクラムコーチとしての気づきとと生成AIへの期待 -
マイノリティ(少人数)な内製エンジニア組織の生存・成長戦略
開発とテストが一体となったソフトウェア開発
プロダクトオーナーと開発者が別会社・別組織でも前のめりなチームを生み出す取り組み事例
 
Regional Scrum Gathering® Tokyo 2014
新しい働き方アワード【新しい働き方LAB empowered by ランサーズ/研究員制度3期】
20110330 toc思考プロセス入門
CEDEC2015講演 チーム開発をスムーズにするために
どうすればデザイン思考で成果を出せるのか? 〜デザイン・シンキングの概要・課題・未来〜
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
第8回勉強会 開発プロセス 「プロセス改善」
実践リーンエンタープライズ(20161027)
The Secret Sauce of Innovation - Japanese / Japan
The 32th gathering. I tried 15 productivity apps...
経営のアジリティを支えるDevOpsと組織
リモートチームでうまくいく 〜 これから訪れる働き方の変革
Garoon meetup: 他チームと一緒に生産性を高めるGaroonチーム
ディスカバリーズ テレワーク向けソリューション
Ad

More from Jumpei Miyata (18)

PDF
GitHub Actions のはじめかた
PDF
サイボウズの開発を支える GitHub × CircleCI
PDF
サイボウズを支えるCircleCI
PDF
サイボウズの CI/CD 事情 〜Jenkins おじさんは CircleCI おじさんにしんかした!〜
PDF
組織横断でエンジニアを支援する生産性向上チームの役割
PDF
【PR】エンジニアがkintoneを試すべき3つの理由
PDF
Jenkinsfileのlintで救える命がある
PDF
すべてを自動化せよ! 〜生産性向上チームの挑戦〜
PDF
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
PDF
受入試験を自動化したらDevとQAのフィードバックループがまわりはじめた話
PDF
Effective Automation 〜変化に強い開発基盤〜
PDF
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
PDF
テストエンジニアと組織構造 @Cybozu
PDF
Jenkins 再入門
PDF
Selenium Antipatterns
PPTX
kintoneチームを支えるSeleniumテスト
PPTX
Selenium Conference 2015 参加報告
PDF
ハイパフォーマンスSeleniumテスト@サイボウズ
GitHub Actions のはじめかた
サイボウズの開発を支える GitHub × CircleCI
サイボウズを支えるCircleCI
サイボウズの CI/CD 事情 〜Jenkins おじさんは CircleCI おじさんにしんかした!〜
組織横断でエンジニアを支援する生産性向上チームの役割
【PR】エンジニアがkintoneを試すべき3つの理由
Jenkinsfileのlintで救える命がある
すべてを自動化せよ! 〜生産性向上チームの挑戦〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
受入試験を自動化したらDevとQAのフィードバックループがまわりはじめた話
Effective Automation 〜変化に強い開発基盤〜
開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
テストエンジニアと組織構造 @Cybozu
Jenkins 再入門
Selenium Antipatterns
kintoneチームを支えるSeleniumテスト
Selenium Conference 2015 参加報告
ハイパフォーマンスSeleniumテスト@サイボウズ

開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み