MF KESSAIの鈴木(@makiton)です。 昨年の7月に本社より異動して9か月経ち、Goにはだいぶ慣れたけどRailsを忘れつつあります…。
今回のお話
今回はカジュアル面談でよくご紹介している、当社の開発文化について書いてみたいと思います。
1週間の流れ
我々はスプリント期間1週間のスクラム開発を基本にしています。
したがって、1週間は計画から始まり振り返りで終わります。
過去には1週間にこだわらずやろうということにしていた時期もありましたが、今は必ず1週間です。
アプレッソさんの記事にもあるとおり、1週間は日常生活のサイクルなのでリズムを合わせやすいというのは非常にあると思いました。
スプリント計画
前述の記事では水曜に計画をされてましたが、我々は月曜にやっています。
チームのベロシティを目安として今週リリースできそうな量のストーリーを優先度順にスプリントボードへ移し、今週のリリース物をチームで合意します。
デイリーミーティング
毎日15分ほど、夕方にデイリーミーティングをしています。
ここではスプリントボードを見ながら、今週のスプリントを達成できそうか、何か妨げになっていることは無いかを確認します。
進捗の芳しくないタスクはチーム内で助け合って解決する必要がありますが、そういった舵切りもこの場で行います。
振り返り
金曜日の最後は1週間の振り返りで締めます。
今週リリース予定だったものがきちんとリリースできたか、できなかった場合それはなぜかをディスカッションしながら、改善ポイントを上げていきます。
これが1週間の流れの中では最も大事だと思っていて、1時間ほどしっかり時間を取って実施しています。
振り返りを始めた当初に比べて最近はメンバー全員が発言するようになり、良いサイクルが回り始めているように個人的には感じています。
ここから新たな開発文化が産まれることもあります。こうして産まれた開発文化が、チームをさらに前に進めて行くのです。
余談ですが、ミーティングは月曜日と金曜日にできるだけ集中させています。
リモートワークするメンバーもいるため、出社する日を決めやすくするためです。
その他の文化
以上が1週間の流れですが、その他の文化も紹介します。
よくする週
よくする週とは、文字通り何かをよくする週のことです。
チームの開発効率に関する何かをよくしたいと思った人は、1週間チームから離れて自由にやりたい事をやっていいことにしています。
例えば以下のようなことがよくする週で改善されました。
- 各種リファクタリング
- ローカル環境の改善
- CIの速度向上
- grpcの動作確認ツールの作成
- github用のbotの作成
- linterの導入
短期的にはチームから1人減るのは苦しいかもしれませんが、長期的にみれば掛けたコストは絶対に取り戻せるくらいの利益はあるはずだ、という信念をもってやっています。
何より開発者の「よくしたい」という気持ちが大事だと考えているので、あまり制限は設けないことにしています。
プロジェクト制
普通のスクラムでは登場しない概念かと思いますが、ストーリーよりも大きな塊(=エピック)をプロジェクトと呼び、プロジェクトごとにオーナーを立てて管理しています。
プロジェクトオーナーはプロダクトオーナーと相談しながら、開発の方向性を決めていき、ストーリーに落としていきます。
開発メンバひとりひとりに製品を産み出す喜びと経験を得る機会を持ってもらうにはどうしたらいいか、を考えた結果できあがった形です。
結果的にプロダクトオーナーの仕事やプロジェクト管理系の仕事がいい具合に分散されて、上手く回っていると思っています。
ペアプロ・モブプロ
文化というほどのものでも無いですが、オフィスの真ん中のテーブルに57インチの大型ディスプレイがあり、しばしばそこでペア(モブ)プロが始まります。
自分がちょっと自信のない分野に手を伸ばすときに、得意な人にみてもらいながらやることが多いですね。
おわりに
ご紹介したとおり、MF KESSAIの文化は毎週の振り返り会を起点に自分たちで作り上げています。
自律的に仕事をしたい方にはとても良い環境だと思いますので、 興味を持たれた方はぜひ採用情報からご連絡ください。
カジュアルに話を聞きに行きたいというだけでも大歓迎です。お待ちしております。