20年の歴史を持つプロダクトの開発チームの変革:技術広報の本質と効果

10.4K Views

February 11, 24

スライド概要

PHPカンファレンス関西 2024 の登壇資料です。

profile-image

Escalation Engineer & Tech PR

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

20年の歴史を持つプロダクトの 開発チームの変⾰: 技術広報の本質と効果 PHPカンファレンス関⻄ 2024 @sakay_y

2.

技術広報は組織⼒向上のための活動

3.

⾃⼰紹介 酒井 康晴 @sakay_y 2010年 サイボウズに新卒で⼊社 開発本部 組織⽀援部 People Experience チーム 副部⻑(技術広報) 兼 Garoon開発チーム アシスタントマネージャー (エスカレーションエンジニア) 3児(⼩4、⼩1、1歳)の⽗ 好きな動物園:神⼾どうぶつ王国、iZoo

4.

⾃⼰紹介

5.

⾃⼰紹介

6.

Webエンジニア (Garoon) エスカレーション エンジニア We are hiring! QAエンジニア

7.

⽬次 1. Garoonとは? 2. Garoonチームの変⾰(〜2019年) 3. Garoonチームの変⾰(2019年) 4. Garoonチームの変⾰(〜現在) 5. 技術広報としての関わり⽅ 6. 技術広報が開発組織に所属する意味 7. まとめ

8.

Garoonとは? 20年の歴史を持つプロダクト

9.

Garoonとは? 「10名から数万名まで 現場にも管理職にも浸透する サイボウズのグループウェア」 2002年 サイボウズGaroon 1 リリース 2023年 サイボウズGaroon 6 リリース 延べ 7400社 330万ユーザー(2023年12⽉末時点)

10.

Garoonとは? PHP 4.0 → PHP 8.1 MySQL 4.1 → MySQL 8.0 独⾃フレームワーク prototype.js/YUI → jQuery → React/TypeScript

11.

Garoonとは? パッケージ(2002年〜) Windows Server Red Hat Enterprise Linux クラウド(2011年〜) cybozu.com

12.

Garoonチームの変⾰(~2019年) 君は闇を⾒る

13.

プロセス プロダクト チーム

14.

どんなプロダクトだった? 20年の中で積もり積もった技術的負債 PHP4時代からなる⼿続き型のコード メモリ節約のための(現代では不要な)⼯夫 ロジックが読み切れない⻑⼤なif⽂ ユニットテストなし、⾃動化されたE2Eテストなし テストが書きたくても書けないコード その後、有志が頑張って書いた⾃動テストも広まらない CIが⾚でも誰も直さないので担当者だけが疲弊する

15.

どんなプロダクトだった? ⾼いサポート難易度 クラウド版、Windows版、Linux版、DB分割構成版、etc. カスタマイズパッケージによるイレギュラー 仕様書もない時代の古いデータが何を起こすか分からない 「なぜnullが⼊っているんだ!」 「このカラム(例:reserve_int1)って何が⼊るの?」

16.

どんな開発プロセスだった? クラウド版が始まっても、パッケージ版のリリースサイクル 例:半年に1回のビックバンリリース 改善を⼊れようとしても、検討できるのが半年後 次のバージョン開発のときにねじ込む戦い

17.

どんなチームだった? 海外の開発メンバーの品質に対する意識の問題 動くものを早く作ることのほうが価値がある 数多くタスクをこなすことが価値がある 品質は⼆の次

18.

どんなチームだった? ⼈が抜けていくばかり 育った中堅メンバーからチームを抜けていく 新卒⼊社メンバーが配属されるも… 育成問題、モチベーション問題 希望制になって配属が0⼈に バックサポートの品質保持が困難になってきた 偉⼤なベテランの異動

19.

2019-12 PHP Conference 2019 https://speakerdeck.com/oogfranz/gai-shan-shi-bai-sitexue-buregasipurodakutonili-tixiang-kautimuzuo-ri

20.

魅⼒的では無いチームに 中途採⽤でミドルクラスのメンバーを増やそうにも… 現存メンバーが胸を張って採⽤できない

21.

情報発信しようという気持ちになれるだろうか?(反語)

22.

2019年、そんなGaroon開発チームに転機が!

23.

Garoonチームの変⾰(2019年) 闇と向き合う覚悟

25.

ガルーンのヤバさを考える会 若⼿エンジニアメンバーの問題提起から始まった 技術的負債がつらく、今後同じように開発を続けていけない レガシーかつユニークな環境で成⻑できている気がしない 中堅メンバーを中⼼に開発する⼈が減っている 会社はGaroonをどれだけ継続するつもりなのか

26.

Garoonに関わる全員が集まった

27.

余談:2019年の開発本部 部⻑がいなくなった チーム主体の組織へ チームはヤバいのに? https://blog.cybozu.io/entry/2019/02/13/080000

28.

ガルーンのヤバさを考える会 開発側の主張 新機能開発がほとんどできず、価値を提供できない Garoonを今後も提供していくつもりなら、 改善に⼯数を使っていかないと近い将来に何もできなくなる 突然死すらあり得る

29.

ガルーンのヤバさを考える会 ビジネス側の主張 Garoonはもちろん今後も提供していく メンテナンスモードなどはできない、お客様が離れる 開発の持つ危機感が数字として伝わらない 改善にどれほどの効果があるのか むしろ開発本部の対策が遅いのではないか ⼈が減っていくことに組織として対応しているのか ⼈を増やせば解決する問題なのか

30.

ガルーンのヤバさを考える会 Garoonの関係者で共通認識をもてた 現状のままでは開発継続が不可能になるかもしれない 体質改善しながら開発を継続していく⽅法を探さなければならない

31.

アラインメント(Alignment)ができた!

32.

アラインメントができた アライメントができてない 開発側の理想とビジネスの理想が⼀致してない 開発内でもそれぞれの理想が違う アラインメントができた ⼀致したことで、改善にコストをかける覚悟ができた 改善に関するコミュニケーションが円滑

33.

改善の兆し Garoonを改善するという⽅針が定まった エンジニアも改善が進むことで前向きになっていった “ヤバさ”が他チームにも伝わり、協⼒してもらえるようになった ⽣産性向上チーム フロントエンドエキスパートチーム アジャイルコーチチーム 組織運営チーム コネクト⽀援チーム

34.

2020-06 Cybozu Tech Meetup https://speakerdeck.com/cybozuinsideout/timuwakuahureru-garoontimu https://www.youtube.com/watch?v=-ynTHhJXN_k

35.

改善の兆し Garoonを改善するという⽅針が定まった エンジニアも改善が進むことで前向きになっていった “やばさ”が他チームにも伝わり、協⼒してもらえるようになった ⽣産性向上チーム フロントエンドエキスパートチーム アジャイルコーチチーム 組織運営チーム コネクト⽀援チーム ←

36.

情報発信がはじまる 中途採⽤のため でも、情報発信がはじまった理由は本当にそれだけ…?

37.

Garoonチームの変⾰(〜現在) アラインメントができたその後…

38.

2019年以降の流れ 組織体制に責任を持って動ける⼈達が考え CI/CDの専⾨家が⾃動テストやリリースパイプラインを整備を⼿ 伝ってくれて アジャイルコーチが開発チームの持つモヤモヤを紐解き 海外メンバーとも品質への優先度を共有し

39.

2019-12 PHP Conference 2019 https://speakerdeck.com/oogfranz/gai -shan-shi-bai-sitexue-buregasipurodakutonili-tixiangkautimuzuo-ri 2021-10 PHP Conference 2021 https://speakerdeck.com/ynkt/sok-gai-shan-shibai-karaxue-bu-regasipurodakutonili-tixiangkautimuzuo-ri

40.

2022-04 PHPerKaigi 2022 https://speakerdeck.com/vaccho/opened-1on1-logs

41.

https://blog.cybozu.io/archive/category/Garoon 2023-10 Cybozu Inside Out

42.

現在のGaroon プロダクト 触るところからリファクタリング PHPバージョンアップに伴い古い書き⽅をやめている Unitテストや⾃動テストが増えている 海外メンバーも品質を気にかけてくれる

43.

現在のGaroon プロセス 2023年はリリース回数が100回を超えた パッケージも出しつつ、SaaS製品的な開発プロセス ベトナムで新機能開発をしつつ、⽇本で改善を進めている

44.

現在のGaroon チーム 中途採⽤もそれなりに成果が出ている 新卒配属の希望者も毎年数名居てくれる 活気のあるチーム

45.

現在の開発体制はこちら https://www.docswell.com/s/cybozu-tech/KRX7GR-garoon-development-team

46.

技術広報としての関わり⽅ Garoonチームは整った

47.

情報発信ができるチームに 各種カンファレンスへの協賛 各種⼿続き、登壇⽀援、ブース出展対応、ノベルティ制作、etc. ⾃社主催イベントの開催 イベント企画、録画・配信、connpass管理、飲⾷⼿配、etc. ブログ執筆 皆が勝⼿に書いてくれる☺

48.

なぜできるようになった? 技術広報が居たから…? 中途採⽤が必要になったから…?

49.

エンゲージメントが⾼まった!

50.

エンゲージメントが⾼まった ⾃分たちのチーム・仕事に誇りを持てた ⾃分たちの取組みが他⼈の参考になるかもしれないと思えた 知ってもらえれば興味を持ってもらえるかもと思えた

51.

技術広報としての関わり⽅ エンジニアの情報発信の熱量を損なうこと無く 効果的に発信する⽀援をする さらなる熱量を⽣む

52.

技術広報が開発組織に所属する意味 情報発信は⼿段であり、⽬的ではない

53.

情報発信の効果 直感的に効果がありそうなこと 社内エンジニア のスキルアップ コミュニティと のつながり 社内エンゲージ メント向上 エンジニア コミュニティへ の還元 組織の技術ブラ ンディング リファラル採⽤ 採⽤ブランディ ング 組織⼒向上 採⽤効率の向上 ⻑期的に効果がありそうなこと

54.

情報発信の効果 直感的に効果がありそうなこと 社内エンジニア のスキルアップ コミュニティと のつながり 社内エンゲージ メント向上 エンジニア コミュニティへ の還元 組織の技術ブラ ンディング リファラル採⽤ 採⽤ブランディ ング 組織⼒向上 採⽤効率の向上 ⻑期的に効果がありそうなこと

55.

問題と向き合い 改善を始める 開発者にとって 魅⼒的なチーム 組織⼒向上 レガシーで 問題だらけのチーム さらなるエンゲージ メントの⾼まり 開発チームのための技術広報でありたい 情報発信

56.

ということで

57.

技術広報って何してんの?

58.

🔥 組織⼒向上のための活動 🔥

59.

まとめ

60.

まとめ レガシープロダクトをもつチームの変⾰ → アラインメントが⼤事 情報発信するための⼟壌 → エンゲージメントの⾼さ 技術広報としての役割 → 組織⼒向上

61.

まとめ レガシープロダクトをもつチームの変⾰ → アラインメントが⼤事 情報発信するための⼟壌 → エンゲージメントの⾼さ ご清聴ありがとう ございました! ブース出展も してます! 技術広報としての役割 → 組織⼒向上