はじめに
peno022 です。普段はプロダクトマネージャーとして働いています。
現業では自分でコーディングする機会はほぼ無いのですが、プロダクトの技術的な理解を深めたいと思い、フィヨルドブートキャンプという Ruby on Rails をメインとしたコミュニティ型のプログラミングスクールに通いました。
その中で、普段フィヨルドブートキャンプで使っているEラーニングシステムをスクラムチームで開発するというカリキュラムがあり、学びが多かったので記録しておきます。
フィヨルドブートキャンプのチーム開発について
チーム開発では、フィヨルドブートキャンプのEラーニングシステムの開発チームに1メンバーとして参加し、開発を行っていきます。
フレームワークは Ruby on Rails、一部の View では React、Vue.js を利用しています。
Public リポジトリになっているので、内容はどなたでも参照可能です。
スクラムチームの構成
- フィヨルドブートキャンプの運営者でプログラマーの komagata さんがスクラムマスターを担当
- 同じく運営者でデザイナーの machida さんがプロダクトオーナーを担当
- 複数人の受講生(時期によりますが10人前後くらい)が開発を担当
開発の進め方
- 週に一度、その週の振り返りと翌週の計画ミーティングを実施。各人の進捗共有と Issue の割り振りを行う。
- 開発者は担当 Issue に対応し、PR を作成(仕様のすり合わせなど必要な時は都度 Discord で相談)
- 開発者(受講生)の誰かに PR レビューを依頼。
- 受講生のレビューが完了したら、komagata さんに PR レビューを依頼。
- レビューが完了したら、マージ&ステージング環境にデプロイ。
- ステージング環境での動作確認後、本番にリリースし、Issue をクローズ(リリースは週次で実施)。
- 20ポイント分の Issue を担当して全てをクローズできたらチーム開発のカリキュラムとしては終了し、その人は開発チームから抜ける。
実業務と違うのは、事情があって急ぎたいもの以外は基本的にスケジュールが本人に任されるという点です。(チームに都度状況共有をすることは大前提として)
仕事や育児などと並行して限られた時間で参加している方も多いですし、締め切りにあわせて無理して進めなければいけないということは起きません。
担当した Issue
レビューを担当したもの:
感想
自分たちがユーザーであり開発者なので楽しい
カリキュラムの順番上、半年〜1年ほど受講生としてフィヨルドブートキャンプのサービスを使ってきた上で、開発チームに参加することになります。
そのため、ユーザー視点でのサービス理解が十分に深まった状態で開発に臨むことができ、とても良かったです。今対応している Issue によってどんなユーザー課題が解決できるのか想像しやすく、開発を楽しめました。
また、ユーザー課題について考えることは普段のプロダクトマネージャー業務でもやっている一方で、開発観点でより理解しやすい・メンテナンスしやすい実装に落とし込むにはどうすればよいか? を考える機会をこのチーム開発では得ることができました。
開発作法を理解していく経験を積める
このEラーニングシステムは、活発に開発を続けられながら4年ほど本番運用されています。
個人で開発した小規模なシステムとは違って、どこに何のロジックがあるか、ぱっと見では分からないことも多々あります。
そのため最初は小さな修正の Issue を担当をしながら、どこに何があるのかを把握していきました。
また、このシステムに合わせた開発環境の構築方法や開発ルールも、チームに参加してからキャッチアップしていくことになります。
こういったプロセスは個人開発では通ることができないので、良い経験になったと思います。
最後に
一番最初の Issue にアサインされてから、最後に担当した Issue をクローズするまで、ちょうど3ヶ月ほどの活動でした。一人で学習しているだけだとチーム開発はなかなか出来ないので、学習コミュニティに参加してよかったです。
チーム開発をしたいけどどうやって始めたらいいか悩んでいる方がいれば、フィヨルドブートキャンプはおすすめです!