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

Garoon 開発チーム / Garoon development team

Cybozu
PRO
September 08, 2023

Garoon 開発チーム / Garoon development team

Cybozu
PRO

September 08, 2023
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. Garoon開発チーム の紹介
    -2023-

    View Slide

  2. Garoon、ご存知ですか︖

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

    View Slide

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. それぞれの領域を各チームで対応
    11
    リリース
    インフラ 性能改善
    セキュリティ

    View Slide

  12. 12
    リリース
    インフラ 性能改善
    セキュリティ
    セキュリティの担保
    - ライブラリ更新
    - 脆弱性対応
    開発者体験の向上
    新インフラ基盤への移⾏
    現インフラ基盤関連の作業
    リリース作業/改善
    - リリース間隔の短縮
    - リリースコスト削減
    - テストコスト削減
    プロダクトの性能改善
    - 性能改善策の⽴案・検証
    - ベンチマーク環境の整備
    ︓Webエンジニア :QAエンジニア

    View Slide

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

    View Slide

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

    View Slide

  15. 付録

    View Slide

  16. 16
    バックエンド 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  22. 参考資料

    View Slide

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

    View Slide

  24. |サイボウズ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
    24
    参考資料 (2023発表)

    View Slide

  25. |チームの仕事はまわっていたけど、メンバーはそれぞれモヤモヤを抱えていた話──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
    25
    参考資料 (2022発表)

    View Slide

  26. |テクニカルサポートに精一杯だったチームが、安定運用のための開発を行えるようになるまでの道のり
    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
    26
    参考資料 (2021発表)

    View Slide

  27. |静的解析の育て方 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
    27
    参考資料 (2020発表)

    View Slide

  28. |チームワークあふれる 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
    28
    参考資料 (2020発表)

    View Slide

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

    View Slide