13.8K Views
April 11, 24
スライド概要
サイボウズ株式会社の主に開発本部の資料を公開するアカウントです。
Garoon開発チーム の紹介
Garoon、ご存知ですか︖
Garoonとは 中堅・⼤規模組織向けのグループウェア 中堅・⼤規模組織の運営に 必要な管理機能 情報共有・コミュニケーションに 必要なアプリケーション スケジュール 掲示板 メッセージ ポータル 多言語 タイムゾーン ファイル管理 スペース ワークフロー 組織ロール 他システム 連携 • 社内の様々な情報を整理・統合表⽰するためのポータル機能 • きめ細やかなアクセス権限設定や管理機能 • 多⾔語対応やAPIによる他システムと連携する拡張性など • オンラインデモ︓https://onlinedemo2.cybozu.info/scripts/garoon/grn.exe 3
国内の多くのお客様にご利⽤いただいています︕ 国内 7,200社、320万⼈を超えるお客様にご利⽤いただいています。 (2023.8⽉末時点) Garoon Garoon 導⼊社数 Garoon Garoon Garoon Garoon 1 2 3 クラウド版 Garoon 4 5 6 ユーザーエクスペ リエンスの向上 API・連携強化 スマートフォン ⼤規模対応 サービス提供開始 国際化対応 コラボレーション 機能の強化 管理者の 運⽤負担を軽減 つながる・ひろがる おてがる 年
使⽤している技術(2023年9⽉現在) React PHP 8.1 独⾃フレームワーク利⽤ TSとReactに移行中 MySQL 8.0 5
開発チーム 🇯🇵 ⽇本 🇻🇳 ベトナム プロダクトマネージャ 開発 開発 開発 開発 バックサポート モバイル テクニカルライター UI/UX 開発 開発 … 開発 テスト⾃動化 合計︓約100⼈ 6
開発チーム 🇯🇵 ⽇本 🇻🇳 ベトナム プロダクトマネージャ セキュリティ インフラ リリース 性能改善 バックサポート モバイル テクニカルライター UI/UX 新機能 新機能 … 新機能 テスト⾃動化 合計︓約100⼈ 7
開発チーム 🇯🇵 ⽇本 🇻🇳 ベトナム プロダクトマネージャ セキュリティ インフラ リリース 性能改善 バックサポート モバイル テクニカルライター UI/UX 課題解決チーム 新機能 新機能 … 新機能開発チーム 新機能 テスト⾃動化 合計︓約100⼈ 8
なんで⽇本チームは”課題解決チーム”︖ 約20年間の開発に理由が… 9
製品が20年続くと… 新クラウド基盤へ乗換 ライブラリ脆弱性対応 ⻑いリリースサイクル 旧設計による低いメンテナンス 性能問題 膨⼤な技術的負債 10
製品が20年続くと… 新クラウド基盤へ乗換 ライブラリ脆弱性対応 ⻑いリリースサイクル 機能開発以外にも考えることが多い︕︕ 旧設計による低いメンテナンス 性能問題 膨⼤な技術的負債 11
それぞれの領域を各チームで対応 セキュリティ リリース インフラ 性能改善 セキュリティの維持・向上 リリース作業/改善 新インフラ基盤へ移⾏ 現インフラ基盤の安定運⽤ プロダクトの性能改善 12
セキュリティ 役割︓ セキュリティの維持・向上 リリース 役割︓ リリース作業/改善 - OSSライブラリ更新計画の策定と実⾏ - Four Keysに基づくリリースプロセス改善 - OSSライブラリの脆弱性調査 - 監視強化 - 障害対応フローの最適化 スキル︓ スキル︓ - PHP - Github Actions - セキュリティに関する知識 - AWS - ライブラリのコードを読む⼒ - APM 参考: https://blog.cybozu.io/entry/2023/10/04/101916 参考: https://blog.cybozu.io/entry/garoon-four-keys-growth-team ︓Webエンジニア :QAエンジニア 13
インフラ 役割︓ 新インフラ基盤(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エンジニア 14
やりたいことは他にもたくさん…︕ |もっとモダンな技術を取り⼊れたい︕ |世界最先端なDevSecOpsチームにしたい︕ |トラブル対応を迅速かつ効率よくしたい︕ 15
Garoonをよりよくしていく仲間をお待ちしています︕ 16
付録
技術スタック バックエンド フロントエンド PHP(8.1) ※独⾃フレームワーク(Azalea) JavaScript, TypeScript jQuery, React, Smarty データベース MySQL リポジトリ管理 GitHub テスト CI IDE その他ツール PHPUnit, Jest, Selenium GitHub Actions PhpStorm ESLint, Phan, Babel, Docker, Composer 18
開発スタイル |必要に応じて、個人作業とペアプログラミング • リモート・モブプログラミングという働き方 - Cybozu Inside https://blog.cybozu.io/entry/2020/02/28/080000 • モバイルチームのモブプログラミング解剖 - Cybozu Inside https://blog.cybozu.io/entry/2022/04/14/170000 19
開発スタイル |リモートワークでのコミュニケーションは分報(kintone)やSlack、Zoom等 • まるで社内SNS!「分報」でメンバーの状況をハイブリッドワークでも感じられるよ うにしよう|THE HYBRID WORK サイボウズのハイブリッドワーク専門メディア https://hybridwork.cybozu.co.jp/articles/times-lp/ 20
ベトナムチームとの関わり方 |日本チームもベトナムチームも上下関係はない • フロントエンド開発など分野によっては、ベトナムチームの方が活発 |日本チームは問題解決主体、ベトナムチームは新規開発 • 問題解決でマンパワーが必要な場合はベトナムチームに増援を依頼 21
ベトナム拠点とのやりとりって、どうしてるの︖ |メッセージ・ドキュメント系は英語 |ミーティングは日本語 • 通訳が同席 22
英語って⼤変でしょ︖ |いえいえ。抵抗感がなければ大丈夫! • DeepL(Pro) など充実の支援ツール • 専門チームが英語コミュニケーションを支援してくれます 23
過去のGaroonチームの外部発表 • Cybozu Techで資料を公開しています! • https://tech.cybozu.io/slides/tags/garoon/ 24