🙆

フルリモート・フルフレックス組織でのスクラム開発(開発ステータス・ブランチ運用編)

2023/07/10に公開

フルリモート・フルフレックス組織のスクラム開発(開発ステータス・ブランチ運用編)

はじめに

株式会社BYARD CTO の辰本です。
業務設計プラットフォームBYARDの開発・運用を行っています。
弊社では全職種のメンバーがフルリモート・フルフレックスで勤務しています。
弊社ではアジャイル開発フレームワークにスクラムを採用しています。
ここでは弊社の開発チームがその中でどのように開発ステータス管理やブランチ管理をしているかお伝えします。 参考にして頂ければ幸いです。

概要

BYARDの開発チームでは以下のようなブランチおよびPBIの開発ステータスの管理をしています。
ブランチ毎に対応する環境が定められており、マージされる毎にCI/CDが実行されます。

ブランチ
ブランチ名 対応環境 備考
production 本番環境 -
staging ステージング環境 -
integration 統合環境 主にQAで使用します。
dev-xxx 開発者毎のリモート環境 開発者は少なくとも1つ自分専用のホスティングされた環境を持っています。
feature/xxx ローカルおよび開発者毎のバックエンド環境 機能追加時はローカルから開発者毎のリモート環境のバックエンドに接続します。
開発ステータス
ステータス名 定義 対応環境
Not Started 担当メンバーアサインされた状態 -
SBI レビュー済 PBIの内容がSBIに分割されメンバー間のレビューが終わった状態。 -
作業中 実際に開発作業を実施している状態です ローカル環境 / 開発者毎のリモート環境
セルフレビュー 開発が完了し、開発者自身で動作確認・テストケースの作成をしている状態。この時点でドラフトPRが作成される ローカル環境 / 開発者毎のリモート環境
レビュー PR が Open され レビューを受けている状態 ローカル環境 / 開発者毎のリモート環境
QA PR が Approveされ統合環境でQAを実行している状態 統合環境
受け入れ中 PRがマージされステージング環境でカスタマーサポートチームが変更内容を確認している状態 ステージング環境
リリース待ち カスタマーサポートチームの確認が完了した状態。 ステージング環境
完了 stagingブランチproductionブランチへマージされから本番環境で稼働している状態 本番環境

実際に使用しているKANBAN

このような運用をしている理由

当初の開発ステータスはTodo→Doing→Done程度のごく簡素なステータス管理でしたが 試行錯誤の末、現在の運用に落ち着きました。
フルリモート・フルルレックスの環境でチームメンバー同士が効率よく協力し合うためには、ある程度詳細なステータスの可視化が必要でした。
また、ステータスに対応した環境をそれぞれ用意することで、レビュワーは開発者にどこにデプロイされているか確認しなくてもレビューを行うことが可能になりました。

おわりに

今回はBYARDの開発の運用方法の極一部をお伝えしました。
他にもチーム開発を運用する上で工夫していることがたくさんあります。
例えば..

  • CI/CD パイプラインの構築
    • 静的解析
    • ユニットテスト
    • E2Eテスト
    • デプロイ
  • PBIの管理
    • Notionの活用
  • 開発ロードマップの公開方法

これはまた別の記事で詳細をお伝えしてきます🙏
ご清覧ありがとうございました🙏

BYARD Tech Blog

Discussion