Slide 1

Slide 1 text

Garoon開発チーム の紹介

Slide 2

Slide 2 text

Garoon、ご存知ですか︖

Slide 3

Slide 3 text

Garoonとは 3 中堅・⼤規模組織向けのグループウェア • 社内の様々な情報を整理・統合表⽰するためのポータル機能 • きめ細やかなアクセス権限設定や管理機能 • 多⾔語対応やAPIによる他システムと連携する拡張性など • オンラインデモ︓https://onlinedemo2.cybozu.info/scripts/garoon/grn.exe スケジュール 掲示板 メッセージ スペース ファイル管理 ワークフロー ポータル 組織ロール 多言語 タイムゾーン 他システム 連携 情報共有・コミュニケーションに 必要なアプリケーション 中堅・⼤規模組織の運営に 必要な管理機能

Slide 4

Slide 4 text

国内 7,200社、320万⼈を超えるお客様にご利⽤いただいています。 導⼊社数 Garoon 1 つながる・ひろがる おてがる Garoon 2 管理者の 運⽤負担を軽減 Garoon 3 国際化対応 コラボレーション 機能の強化 クラウド版 Garoon サービス提供開始 Garoon 4 スマートフォン ⼤規模対応 Garoon 5 API・連携強化 (2023.8⽉末時点) 年 Garoon 6 ユーザーエクスペ リエンスの向上 国内の多くのお客様にご利⽤いただいています︕

Slide 5

Slide 5 text

使⽤している技術(2023年9⽉現在) 5 PHP 8.1 独⾃フレームワーク利⽤ TSとReactに移行中 MySQL 8.0 React

Slide 6

Slide 6 text

開発チーム 6 プロダクトマネージャ 開発 バックサポート UI/UX テクニカルライター テスト⾃動化 🇻🇳 ベトナム 🇯🇵 ⽇本 … 合計︓約100⼈ 開発 開発 開発 開発 開発 開発 モバイル

Slide 7

Slide 7 text

開発チーム 7 プロダクトマネージャ セキュリティ テスト⾃動化 🇻🇳 ベトナム 🇯🇵 ⽇本 … 合計︓約100⼈ 新機能 新機能 新機能 リリース インフラ 性能改善 バックサポート UI/UX テクニカルライター モバイル

Slide 8

Slide 8 text

開発チーム 8 プロダクトマネージャ セキュリティ テスト⾃動化 🇻🇳 ベトナム 🇯🇵 ⽇本 … 合計︓約100⼈ 新機能 新機能 新機能 リリース インフラ 性能改善 課題解決チーム 新機能開発チーム バックサポート UI/UX テクニカルライター モバイル

Slide 9

Slide 9 text

9 なんで⽇本チームは”課題解決チーム”︖ 約20年間の開発に理由が…

Slide 10

Slide 10 text

10 製品が20年続くと… 新クラウド基盤へ乗換 ライブラリ脆弱性対応 ⻑いリリースサイクル 旧設計による低いメンテナンス 性能問題 膨⼤な技術的負債

Slide 11

Slide 11 text

11 製品が20年続くと… 新クラウド基盤へ乗換 ライブラリ脆弱性対応 ⻑いリリースサイクル 旧設計による低いメンテナンス 性能問題 膨⼤な技術的負債 機能開発以外にも考えることが多い︕︕

Slide 12

Slide 12 text

12 それぞれの領域を各チームで対応 リリース インフラ 性能改善 セキュリティ セキュリティの維持・向上 新インフラ基盤へ移⾏ 現インフラ基盤の安定運⽤ リリース作業/改善 プロダクトの性能改善

Slide 13

Slide 13 text

13 ︓Webエンジニア :QAエンジニア リリース セキュリティ 役割︓ セキュリティの維持・向上 - OSSライブラリ更新計画の策定と実⾏ - OSSライブラリの脆弱性調査 役割︓ リリース作業/改善 - Four Keysに基づくリリースプロセス改善 - 監視強化 - 障害対応フローの最適化 スキル︓ - PHP - セキュリティに関する知識 - ライブラリのコードを読む⼒ スキル︓ - Github Actions - AWS - APM 参考: https://blog.cybozu.io/entry/garoon-four-keys-growth-team 参考: https://blog.cybozu.io/entry/2023/10/04/101916

Slide 14

Slide 14 text

14 役割︓ 新インフラ基盤(Neco)へ移⾏ - Neco上で動くGaroonの構築 - デプロイ・マイグレーションサービス構築 - 安定運⽤のための監視体制・SLOの整備 現インフラ基盤の安定運⽤ スキル︓ - Kubernetes - Go - Elasticsearch 役割︓ プロダクトの性能改善 - ボトルネック箇所の調査・再現 - 性能改善の提案・実装 スキル︓ - プロファイルの分析 - クエリチューニング - メトリクスの可視化 インフラ 性能改善 参考: https://blog.cybozu.io/entry/2023/10/30/120841 参考: https://blog.cybozu.io/entry/2023/10/23/111500 ︓Webエンジニア :QAエンジニア

Slide 15

Slide 15 text

|もっとモダンな技術を取り⼊れたい︕ |世界最先端なDevSecOpsチームにしたい︕ |トラブル対応を迅速かつ効率よくしたい︕ 15 やりたいことは他にもたくさん…︕

Slide 16

Slide 16 text

16 Garoonをよりよくしていく仲間をお待ちしています︕ 16

Slide 17

Slide 17 text

付録

Slide 18

Slide 18 text

18 バックエンド PHP(8.1) ※独⾃フレームワーク(Azalea) フロントエンド JavaScript, TypeScript jQuery, React, Smarty データベース MySQL リポジトリ管理 GitHub テスト PHPUnit, Jest, Selenium CI GitHub Actions IDE PhpStorm その他ツール ESLint, Phan, Babel, Docker, Composer 技術スタック

Slide 19

Slide 19 text

|必要に応じて、個人作業とペアプログラミング • リモート・モブプログラミングという働き方 - Cybozu Inside https://blog.cybozu.io/entry/2020/02/28/080000 • モバイルチームのモブプログラミング解剖 - Cybozu Inside https://blog.cybozu.io/entry/2022/04/14/170000 19 開発スタイル

Slide 20

Slide 20 text

|リモートワークでのコミュニケーションは分報(kintone)やSlack、Zoom等 • まるで社内SNS!「分報」でメンバーの状況をハイブリッドワークでも感じられるよ うにしよう|THE HYBRID WORK サイボウズのハイブリッドワーク専門メディア https://hybridwork.cybozu.co.jp/articles/times-lp/ 20 開発スタイル

Slide 21

Slide 21 text

|日本チームもベトナムチームも上下関係はない • フロントエンド開発など分野によっては、ベトナムチームの方が活発 |日本チームは問題解決主体、ベトナムチームは新規開発 • 問題解決でマンパワーが必要な場合はベトナムチームに増援を依頼 21 ベトナムチームとの関わり方

Slide 22

Slide 22 text

|メッセージ・ドキュメント系は英語 22 ベトナム拠点とのやりとりって、どうしてるの︖ |ミーティングは日本語 • 通訳が同席

Slide 23

Slide 23 text

23 英語って⼤変でしょ︖ |いえいえ。抵抗感がなければ大丈夫! • DeepL(Pro) など充実の支援ツール • 専門チームが英語コミュニケーションを支援してくれます

Slide 24

Slide 24 text

24 過去のGaroonチームの外部発表 • Cybozu Techで資料を公開しています! • https://tech.cybozu.io/slides/tags/garoon/