Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Garoon 開発チーム / Garoon development team

Cybozu
December 08, 2023

Garoon 開発チーム / Garoon development team

Cybozu

December 08, 2023
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. Garoon開発チーム の紹介

    View full-size slide

  2. Garoon、ご存知ですか︖

    View full-size slide

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

    View full-size slide

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

    Garoon 6
    ユーザーエクスペ
    リエンスの向上
    国内の多くのお客様にご利⽤いただいています︕

    View full-size slide

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

    View full-size slide

  6. 開発チーム
    6
    プロダクトマネージャ
    開発
    バックサポート
    UI/UX
    TC
    テスト⾃動化
    🇻🇳 ベトナム
    🇯🇵 ⽇本

    合計︓約100⼈
    開発 開発 開発
    開発
    開発
    開発

    View full-size slide

  7. 開発チーム
    7
    プロダクトマネージャ
    セキュリティ
    バックサポート
    UI/UX
    TC
    テスト⾃動化
    🇻🇳 ベトナム
    🇯🇵 ⽇本

    合計︓約100⼈
    新機能 新機能 新機能
    リリース
    インフラ
    性能改善

    View full-size slide

  8. 開発チーム
    8
    プロダクトマネージャ
    セキュリティ
    バックサポート
    UI/UX
    TC
    テスト⾃動化
    🇻🇳 ベトナム
    🇯🇵 ⽇本

    合計︓約100⼈
    新機能 新機能 新機能
    リリース
    インフラ
    性能改善
    課題解決チーム 新機能開発チーム

    View full-size slide

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

    View full-size slide

  10. 10
    製品が20年続くと…
    新クラウド基盤へ乗換
    ライブラリ脆弱性対応
    リリースサイクルが⻑い
    旧設計によるメンテナンス性低下
    性能問題発覚が遅い
    性能問題の対応が難しい

    View full-size slide

  11. 11
    製品が20年続くと…
    新クラウド基盤へ乗換
    ライブラリ脆弱性対応
    リリースサイクルが⻑い
    旧設計によるメンテナンス性低下
    性能問題発覚が遅い
    性能問題の対応が難しい
    機能開発以外にも考えることが多い︕︕

    View full-size slide

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

    View full-size slide

  13. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  17. 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
    技術スタック

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  23. 参考資料

    View full-size slide

  24. |サイボウズの製品や開発体制について(エンジニア採用ピッチ資料
    • https://speakerdeck.com/cybozuinsideout/cybozu-engineer-recruit
    |Webエンジニア(Garoon)キャリア採用 募集要項 | 採用情報 | サイボウズ株式会社
    • https://cybozu.co.jp/recruit/entry/career/software-engineer-php.html
    • (募集状況によっては窓口を閉じている場合がございます。ご了承ください。)
    25
    参考資料

    View full-size slide

  25. | サイボウズGaroon開発チームの「完成度低いの歓迎LT⼤会」(PHPerKaigi出張版) by すぎやま@MASH弦楽団 | トーク |
    PHPerKaigi 2023 #phperkaigi - fortee.jp
    • https://fortee.jp/phperkaigi-2023/proposal/b3cf069f-e7bb-44e5-97cc-4f2def2a6aa6
    | 可能な限り確実にmkdirを成功させるには by すぎやま@MASH弦楽団 | トーク | PHPerKaigi 2023 #phperkaigi - fortee.jp
    • https://fortee.jp/phperkaigi-2023/proposal/e490a63f-abd9-498b-a729-05e1d3ecef66
    | Four Keysに基づくリリースプロセス改善とその成果 by ⼩⼭ 晃久 | トーク | PHP Conference Japan 2023 #phpcon -
    fortee.jp
    • https://fortee.jp/phpcon-2023/proposal/179bae76-eef5-442f-a1e6-fe1ec6a25af3
    26
    参考資料 (2023発表)

    View full-size slide

  26. | チームの仕事はまわっていたけど、メンバーはそれぞれモヤモヤを抱えていた話──40名の⼤規模開発チームで1on1ログを公開
    してみた by 柴⽥ ⼀帆 | トーク | PHPerKaigi 2022 #phperkaigi - fortee.jp
    • https://fortee.jp/phperkaigi-2022/proposal/5a260e4e-542d-4d82-849d-ef3d6cb7c854
    | 20年ものの巨⼤レガシープロダクトをPHP 8.0にアップデートした際の対策と得られた知⾒ by ⾚間 仁志 | トーク | PHP
    Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp
    • https://fortee.jp/phpcon-2022/proposal/8f29f20e-1275-49eb-89c0-fe684e28d110
    | 20年ものの巨⼤プロダクトをKubernetesに移⾏している話 by すぎやま@MASH弦楽団 | サイボウズ株式会社 | トーク | PHP
    Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp
    • https://fortee.jp/phpcon-2022/proposal/16f1ed98-13bf-4363-a1e3-d314ba230060
    27
    参考資料 (2022発表)

    View full-size slide

  27. | テクニカルサポートに精⼀杯だったチームが、安定運⽤のための開発を⾏えるようになるまでの道のり by 杉⼭祐⼀ | トーク |
    PHPerKaigi 2021 #phperkaigi - fortee.jp
    • https://fortee.jp/phperkaigi-2021/proposal/ea3d8d4b-c387-4322-8292-a5ef7b8d2914
    | 続)改善失敗から学ぶ、レガシープロダクトに⽴ち向かうチーム作り。 by 中⽥ 雄⼤ | サイボウズ株式会社 | トーク | PHP
    Conference Japan 2021 #phpcon #phpcon2021 #php - fortee.jp
    • https://fortee.jp/phpcon-2021/proposal/25f5af25-29f5-436d-9950-5d42d2cc869b
    | PHPアプリケーションだってモニタリングしたい。 by 杉⼭ 祐⼀@MASH弦楽団 | トーク | PHP Conference Japan 2021
    #phpcon #phpcon2021 #php - fortee.jp
    • https://www.youtube.com/watch?v=0o48GcZfgcM
    28
    参考資料 (2021発表)

    View full-size slide

  28. | 静的解析の育て⽅ by 杉⼭ 祐⼀ | トーク | PHPerKaigi 2020 #phperkaigi - fortee.jp
    • https://fortee.jp/phperkaigi-2020/proposal/8f41e23f-69ef-4f93-8625-db64be39248f
    | 効果的な静的解析のCI導⼊パターンを求めて by 杉⼭ 祐⼀ | トーク | PHP Conference Japan 2020 #phpcon #phpcon2020
    #php - fortee.jp
    • https://fortee.jp/phpcon-2020/proposal/e0fba818-b475-452d-9bae-b7eb6c80b889
    |チームワークあふれる Garoonチーム - Speaker Deck
    • https://speakerdeck.com/cybozuinsideout/timuwakuahureru-garoontimu
    |他チームと⼀緒に⽣産性を⾼めるGaroonチーム - Speaker Deck
    • https://speakerdeck.com/cybozuinsideout/ta-timuto-xu-ni-chan-xing-wo-merugaroontimu
    |ココが変だよGaroonチーム - Speaker Deck
    • https://speakerdeck.com/cybozuinsideout/kokogabian-dayogaroontimu
    29
    参考資料 (2020発表)

    View full-size slide

  29. | チームワークあふれる Garoonチーム - Speaker Deck
    • https://speakerdeck.com/cybozuinsideout/timuwakuahureru-garoontimu
    | 他チームと⼀緒に⽣産性を⾼めるGaroonチーム - Speaker Deck
    • https://speakerdeck.com/cybozuinsideout/ta-timuto-xu-ni-chan-xing-wo-merugaroontimu
    | ココが変だよGaroonチーム - Speaker Deck
    • https://speakerdeck.com/cybozuinsideout/kokogabian-dayogaroontimu
    30
    参考資料 (2020発表)

    View full-size slide

  30. | 改善失敗から学ぶ、レガシープロダクトに⽴ち向かうチーム作り。 by 杉⼭ 祐⼀ | トーク | PHP Conference Japan 2019
    #phpcon - fortee.jp
    • https://fortee.jp/phpcon-2019/proposal/d786458f-a231-4f62-87e4-0e5c0d827324
    31
    参考資料 (2019発表)

    View full-size slide