Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

活き活きとしたチームを創るためのアジャイルプラクティス

f:id:daipresents2:20180903153409j:plain:w500

こんにちは。メルカリで自動化&品質保証グループ(Automation & QA Group:通称AQA)のエンジニアリングマネージャをぶりぶりしている@daipresentsです。大好きな夏が終わりました。

先日、オフィス近くのスペースを借りて、All hands MTG(グループ全体MTG)を開催しました。このMTGはグループメンバー全員参加になっていて、全員でランチを食べたあと、がっつり3時間ふりかえり、課題のディスカッションをするという内容です。今回は、AQAでなぜこういったMTGを開催したのかをお話させていただこうと思います。

AQAのリズム

f:id:daipresents2:20180905184354p:plain:w500

AQAでは、各メンバーがプロジェクトチームにアサインされるため、進捗管理MTGをしていません。しかしながら、プロジェクト内では解決しない問題もあるため、定期的な情報共有が必要です。

ここで大切にしたいのがチームのリズム(アジャイル開発界隈だと Cadence と呼ばれるもの)です。上の図はAQAのリズムを説明したもので、それぞれの矢印がそれぞれのアクティビティ、そして開催されるタイミングを表しています。

  1. 緑の矢印は日ごとのアクティビティ: 朝礼、朝礼後の朝礼(スクラムオブスクラム的なもの)
  2. 青の矢印は2週間ごとのアクティビティ: 1 on 1 MTG、 リーダーランチMTG
  3. 黄色は月ごとのアクティビティ: All hands MTG(+メンバー全員ランチ)
  4. 赤は四半期ごとのアクティビティ: 目標ふりかえりと目標設定、オフサイトMTG
  5. オレンジは図には書いてないですが半年ごとのアクティビティ: 評価決定

1. 朝礼と朝礼後の朝礼

f:id:daipresents2:20180904113133j:plain:w500

朝礼は毎日開催しています。人数がふえてきたので3チームに分けてチーム朝礼をまず開催。さらに情報を吸い上げるため、リーダーで集まるリーダー朝礼と、2段階の構成になっています。どちらも5分以内に終わるのが目標です。 「ステキな共有をするためのお作法」も、今回簡単ですがまとめてみました。

  • 自分自身がブロッカーになってしまいそう、なってしまった情報はすぐにシェアすべき
  • 自分以外がブロッカーになってしまいそう、なってしまった情報はすぐにシェアすべき
  • リリースに関わる進捗(特に遅延情報やリスク)は、すぐにシェアすべき

すぐシェアすべき情報は、別に朝礼をまたずとも共有すべきでしょう。ですが、お互いに気がつける場として、定期的な朝礼はとても有効だと思います(気がつきあえる関係を作れる)。

2. 1 on 1 MTGとリーダーランチ

1 on 1 MTGは、その名の通りメンバーひとりひとりと話すMTGです。主役はメンバーなので、メンバーは2週間に1度30分の時間を、自分の好きなように使えます。メンバーが関わっている仕事の話をすることは少なく、どちらかというと「楽しく働いているか?」という質問を掘り下げていく形が多いです。最後はできるだけ、メンバーや僕がやるべき次の一歩を決めて終わるようにしています。

チームが分かれたので、1 on 1 はリーダーに任せています。ただ、新しく入られた方は、はじめの3ヶ月だけ僕との 1 on 1 をしていただいてます。結果的に、3ヶ月間は毎週1 on 1 が行われ、入社後のサポートを念入りに行う形をとっています。もちろん、3ヶ月たった後は、いつでもメンバーから僕との1 on 1 を設定してOKです。

リーダーとは、定期的な 1 on 1 をしていません。そのかわりに、お互いが話したいことがあったら開催する形にしています。定期的にMTGがあるとそれにあわせてしまいがちですが、リーダーには必要なタイミングで必要なことを話せるスキルを持ってもらいたいので、この形になりました。

リーダーランチでは、ご飯を食べながら、カジュアルな形で仕事やメンバーに関する雑談をしています。今チームで何が起きているかをSyncすることが狙いです。これも気がつける場づくりのひとつですね。

All hands MTG

f:id:daipresents2:20180903151633j:plain:w500

昔は1週間に1時間開催していました(つまり月4時間)。そこから2週間に1回になりましたが、それと同時に2週間に1回1時間のふりかえりをしていました(つまり月4時間)。幸い、チームの連携力が強くなってきたので、今月からタイミングを長くして、月1回4時間でふりかえりや共有をする形になっています。

今回のAll hands MTGでは、「Value and Culture(価値と文化)」の話をしました。

  • 自動テスト VS マニュアルテスト
  • リソース VS 人間
  • 誰でもできる仕事 VS クリエイティブな仕事

など、乗り越えなければならない変化がたくさんあります。映画『マトリックス』のワンシーンのように「赤いピルを飲むか?(不都合な現実をも受け入れて進む)」か「青いピルを飲むか?(目を背け続ける)」。迫られている状況で、目を背けずに自分自身の価値(Value)を考えてもらいました。

f:id:daipresents2:20180906103453p:plain:w500

上記は、MeetingSiftというサービスを使い、Word Cloud状にまとめた「みんなのValue」です。同じ投稿ほど文字が大きくなるので、大人数の意見をまとめるのにとても便利です。

f:id:daipresents2:20180906104609p:plain:w500

そして、次に文化(Culture)の話。若い企業であるメルカリの文化も、変わらない部分もありながら、変わっていくことも増えているように感じています。ナンバーワンの自動化&品質&開発生産性チームになるために、現在、そして未来に持っていきたいAQAとしてのCultureは何かを上記のように考えてもらいました。

4. 四半期の目標ふりかえりと次の四半期の目標設定

メルカリでは四半期ごとに目標のふりかえりと、次の四半期のための目標設定を行っています。これまでは、僕が立てるチーム目標があり、それをふまえて各自が目標を立てる流れだったのですが、最近だと、メンバーの方がチーム目標を立てられるようになってきました。よって、次のタイミング(おそらく10月)に、流れを逆に変えようと思っています。

  • チームの目標をふりかえる
  • ふりかえった内容に対して、大きなテーマ再定義する(AQAだと「自動化」「品質貢献」など)
  • テーマをベースに、チームとしての目標を議論し、再設定する
  • その中で、どのように自分が貢献するのか目標を立てる

チームで動くということは、各自の目標が関係性を持つことが多いので、これらの作業も All hands MTG と同じく、3時間ぐらい使って一気に決めようと思っています。たとえばこんな感じ。

  • 4月、10月: 近場で目標ふりかえり&設定オフサイト
  • 1月、7月: 合宿も兼ねてちょっと遠い場所で目標ふりかえり&設定オフサイト、そして、慰労&決起会

個人的に、定期的にMTGをやり続けるとその効果は薄れていくように感じており、 1 on 1 と同じく必要なときに、必要なだけやる Just in Time スタイルが理想と考えています。最終的に、1年に1回の開催で、メンバー全員が1年間気持ちよく働けるようになるのがゴールです。

まとめ

f:id:daipresents2:20170804150624p:plain:w500

効率的 VS 効果的 はいつの時代も議論になりますが、どちらか一方というよりも、状況に応じでどちらの手段も考慮していく必要があるのではないかと感じています。

今回紹介させていただいたプラクティスは、それほど珍しいものではないとは思います。共有は大切だし、ふりかえりも改善には必要な要素。そして、メンバーが活き活きと働き、最高のパフォーマンスを出してもらうためには、「リズム感」も大切なのではないでしょうか。

自走するチームを目指すのであれば、リズムを考えるのも「マネージャ」ではなく、「自分たち」になるのが本質でしょう。

PS... こういう話をカジュアルにできないものかとFacebookグループ Agile Testing, Automation and QAの現場 を作ってみました。もしご興味があれば、ぜひ遊びにきてください!

 
Agile Testing, Automation and QAの現場
Facebookグループ · メンバー116人
グループに参加
アジャイルテスティング、自動化、品質保証。そんなキーワードに関心のある方が集まるグループです。アンケートにお答えいただいたからから随時承認中です。ご協力お願いいたします。 日本語をメインで使っていますが、 Some member can communicate with you in English...