こんにちは、メルペイのCredit Design(クレジットデザイン、CD)チームで、Backendエンジニアを担当している小川雄大(@fivestar)です。
プロダクト開発に関わっていると、例えばドキュメントが古くなったまま更新されていなかったり、様々な機能追加がなされた結果「技術的負債」が顕在化して改善が必要になったり、あるいは新しいことを試したい時にもそうですが、何をするにも時間の確保が難しくて結局放置されてしまう…そういった経験が誰しもあるのではないでしょうか。
私たちCredit Designチームでは、チームメンバー1人ひとりが日々生じた課題を自らの判断で解決していける環境づくりを推進するため、毎月「CD Be a Pro Days」というイベントを開催しています。今回はこの「CD Be a Pro Days」を導入した背景や運営方法、こうした取り組みを踏まえて組織をどのようにしていきたいかをお伝えしていきます。
小川雄大(@fivestar)
CD Be a Pro Daysとは
CD Be a Pro Daysは、「1人ひとりがオーナーシップを持ってタスクを進めるための取り組み」として、Credit Designチームで行っている組織活性化のための定期イベントです。
イベント名には、メルカリのバリューの1つである「Be a Pro(プロフェッショナルであれ)」を冠しています。業務効率やプロダクト品質の改善など、普段のプロジェクトでは計画に組み込みづらいようなことであっても、「必要だと感じることであれば自らオーナーシップを持ってBe a Proに進めていこう」という思いを込めました。
CD Be a Pro Daysは原則的に「毎月2日間」開催しています。2日間である理由として、実際に1日考えて手を動かしてみると様々な学びやフィードバックが得られ、それを踏まえてもう1日取り組むことで質の高いアウトプットが可能になります。例えば、うまく書けたと思ったドキュメントでも、日を改めて読み返して加筆修正をすることがあると思います。そうした、振り返りと改善をイベント期間内で集中して実践しようとしています。
1人ひとりがオーナーシップを…と書きましたが、決して1人で作業する必要はなく、チームを組んで複数人で作業したり、アイディエーションをしたりと、取り組み方は各自の判断に任せています。ちなみに、3日以上行うのは小さな課題に対してやや過剰な時間の使い方になることから、2日間がバランス的にはちょうど良いと考えています。このあたりの理屈は個人的な経験に基づいたもので、明確なエビデンスがあるわけではないですが、実際にこれまで複数チームでこのフォーマットを実践してきた限りだと、毎回成果も出ているので良い落とし所だと思います。
参加対象に制限はなく、BackendエンジニアだけでなくPMやBiz、QA、MLエンジニアなど、Credit Designチーム全体を巻き込んだイベントとなっています(多いときでは全体で40人以上が参加したことも)。
Credit Designチームでは2021年5月からCD Be a Pro Daysを導入し、これまで1年以上にわたって継続開催しています。
導入までの経緯
CD Be a Pro Daysを導入した背景として「計画しないと動けない組織にしたくない、日々の中で当たり前のように各自の判断で改善ができる環境でありたい」という私自身の思いがあります。
2021年4月にCredit Designチーム内で、「Tech Roadmap」としてエンジニアリング課題をロードマップ化して計画的に取り組む動きを進めていました。サービスの機能追加や、新サービスのアイディアなどが多く上がっている中、現行システムの設計だと拡張にリスクを伴う状態、まさに「技術的負債」が顕在化してきたため、計画的にリファクタリングをして、今後の開発に備えることを組織全体の計画に反映したいという背景によるものでした。
この時、大小様々なリファクタリングやドキュメントの改善提案がなされていて、どれも実際に取り入れたいものばかりですが、複雑なリファクタリングはともかく、小さなリファクタリングもドキュメントの改善も現状できていないことの方が課題だと考えました。その解決策として導入することになったのが、まさにこの「CD Be a Pro Days」です。
実は以前所属していたCorporate Solutions Engineeringチームでも、「DevDay」という名前で同様の取り組みを導入していました。ここでもほぼ同じフォーマットで毎月2日間開催しており、様々な成果が出ていたこともあって、この機にCredit Designチームにも持ち込もうと思い至ったわけです。
導入する際には、エンジニアだけでなくCredit Designチーム全体を巻き込んで開催することが重要だと考えていました。徐々に巻き込む人を増やしながらここまで継続できていて、目指したかったチームの状態の下地は作れていると感じています。
これまでの成果と成果を上げるための取り組み
2日間という限られた期間の中で成果をあげるためには準備が大切です。必ず事前に「準備会」を開いて、各自取り組む内容を決めてから臨むことを徹底しています。準備会では各自やることを決めてチケットを起票し、チームへの共有を行っています。周囲に共有することで、作業の重複を防いだり、より関心の高いタスクを見つけたり、コラボレーションする人を探したりなど、コミュニケーションを通じた組織の活性化を促しています。
開催後には、チーム定例会で各参加者より成果発表を実施しています。参加していない/参加できなかった人にも成果を伝えていくことで、今後さらなる活性化・参加者の巻き込みを期待しています。
加えてこの2日間は最大限集中できるよう、ミーティングを設定しないよう呼びかけており、デイリーのミーティングなどはキャンセルするなども徹底しています。
参考までにこれまでに行われた成果には、次のようなものがあります。
・ Credit Designチームで管理する全Spec(仕様書)の体系整理
・ チームで利用しているOSSへの機能追加Pull Request
・ E2Eテストフレームワークの導入
・ テストフィクスチャ生成ツールの実装
・ QAドキュメントの整理、作成
・ チームのふりかえり(KPT/YWT)ガイドラインの策定
この他にも、様々なドキュメントの整理やリファクタリングの実施、運用ツールの作成など、多くの成果が生み出されています。また成果といってもアウトプットを必須化しているわけではありません。例えば、新しくチームに参加した人はインプットの時間にしたり、新しい取り組みに挑戦したけど結果的にうまくいかなかったという場合であっても、今後につながるなら十分に成果だと言えます。「自身やチームが結果として何を得るか」を考えて取り組むことこそ、「Be a Pro」としてあるべき姿の1つだと考えています。
「CD Be a Pro Days」のOverview
運営チーム
こうしたイベントの運営体制をどう構築するかも重要です。Credit Designチーム全体を巻き込むにあたり、PMやQAなどの各職種に継続的に呼びかけたり、参加のサポートをできる体制を作ろうと考え、この取り組みに関心が高いメンバーで運営チームを組成しています。
運営チーム内では、イベントをよりよいものにするために様々な意見交換が行われ、コミュニケーションを促進するためにランチイベントなどを行ったり、準備会やふりかえり会のファシリテーションを通じて、これから解消していくべき課題を引き出したり、運営メンバー1人ひとりがリーダーシップを発揮して、メルカリという組織を引っ張ってくれるようになっています。
おわりに
実はこの記事はCD Be a Pro Daysを活用して執筆しました。こうした活動は普段の隙間時間だけではなかなか進めづらいですし、心理的にもこういうことに時間を使っていいのだろうかと考えてしまうところですが、CD Be a Pro Daysをプロダクト開発に直結することだけでないことにも活用することで、あらためて「自分自身が発揮できる価値」に向き合うことができ、仕事の幅も広がっている実感があります。
現在は会社全体に範囲を広げるのではなく、あえてCredit Designチーム内に絞って活動を推進しています。個人的な理想としては、会社全体を巻き込んで大きく開催していくよりは、各チームごとにこうした取り組みを検討・採用して、チームに合わせた形式を各々が模索しながらやるほうが、オーナーシップの発揮の仕方にも多様性が生まれて楽しくなると思っているからです。今後は横展開を促すような動きやサポートができたらいいかなと考えています。
こうした取り組みが皆さまのご参考になれば幸いです。