blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2018.12.19 カルチャー・環境

チーム内でJIRAを使ったペアプロ大会の企画をやった話

by kengo.imae

#dena-engineers-blog

はじめに

これは DeNA Advent Calendar 2018 その2 の 19 日目の記事です。

はじめまして、FINAL FANTASY Record Keeper(FFRK)チームの今江です。現在は、FFRKチーム内の新機能開発チームでリードエンジニアを務めています。 FFRKは、2018年時点で4周年を迎えた長寿タイトルで、チームの規模も大きいプロジェクトとなっています。当然エンジニアの人数も多く、多数のエンジニアが日々開発を行なっています。

今回は、FFRKチーム内で行なったJIRAを使ったペアプロ大会の企画に関して紹介できればと思います。 この企画はペアプログラミングによるエンジニアの交流・成長の機会の提供や、着手されずに放置されているタスクを解決しつつ、チームの文化を醸成する目的がありました。同様の問題を抱えている方の参考になると幸いです。

JIRAとは?

JIRAとは、チケット管理型のプロジェクト管理ツールです。あらゆるタスクが「チケット」として管理され、進捗/タスク/アサイン管理など、プロジェクトの見える化に一役買っています。 FFRKチームでは、JIRAを使ったチケット駆動開発でプロジェクト開発を行なっています。

企画の背景

FFRKチームでは、チーム内のエンジニアが集まる定例「エンジニア定例」という場があります。 エンジニア定例は普段は各チームの情報共有で終わっているのですが、せっかく定期的にやっているので、普段やらないような新しい取り組みをやったり、日頃感じているがなかなか解消できていない課題を解決したいという話題が上がっていました。

で、何かしらの取り組みをする上で、あがった要望が以下です。

  • みんな、ペアプロとかしたいって言ってる
  • JIRAが溜まっている
  • 業務とかに活きることやりたいよね
  • ゲームの改善にできるだけ工数を使いたい/繋げたい
  • チームビルディングは大事だよね。

「お、モリモリの要件やん。」ということで、しばらくネタを考えて思いついたのが、 今回紹介するチーム内のJIRAを使ったペアプロ大会 「JIRACON 2018」です。

JIRACON 2018

「JIRACON 2018」は、FFRK内の「業務効率化や既存の不具合などに関するJIRA」を題材にしたペアプロ大会です。

  • 概要
    • 1チーム3人で、JIRAをたくさんやったチームが優勝
    • どの程度「やった」かで点数がもらえて、一番点数が多かったチームが優勝
    • 出題するJIRAは、FFRK内のJIRAから適当に選出されたJIRA群
  • ルール
    • 時間: 1時間
    • チームのPC: 1台(コードを触れるPC)
    • チーム内容: リーダー1人 + メンバー2人

ざっと、こんなルールだったのですが、「やった」という基準は以下のように設定しました。

  • やったの定義
    • JIRAに調査結果を記入 1点
    • JIRAに解決策を書く 3点
    • JIRAの修正PRを作る 10点

ルールとして、何かしらJIRAに対して解決に繋がる取り組みを行うと、点数がもらえる方式を取っています。

取り組みの意図

企画の詳細を詰める中で、最終的にJIRACONの目的は以下のように整理しました。

  • 主目的
    • 互いの作業 (調査、コーディング、etc.) を見ることで、相互に良いところを吸収しあい、今後の業務に生かす
    • 今回で「JIRAをサクッと解決する」という感覚をつかみ、今後もすぐに解決できるものは溜めずに解決していく習慣づけの端緒にする
    • 限られた時間の中で調査や解決策の検討を行うことで、調査力や問題解決力の向上を図る
  • 副目的
    • 日頃触れない領域のコードに触れる
    • 溜まっているJIRAの数を少しでも減らす
    • エンジニア間の交流

この目的に沿って、JIRACONを進めるように詳細を詰めて行きました。

当日の流れ

JIRACONの当日の流れについて、説明します。

スケジュール

当日の進行スケジュールです。

  • 15:00 : ルール説明
  • 15:05 : 出題JIRAの公開
  • 15:05-15:55 コンテスト時間「50分」
  • 16:00 : 終了

※ 結果は、次回のエンジニア定例で発表

最初にルール説明を行い、またこのタイミングで再度JIRACONの目的を説明し、目的を踏まえて取り組んでもらうような流れを取っています。

コンテスト中の流れ

JIRACONは、以下のような流れに沿って取り組みます。

時間になると、JIRACONのWebページから問題一覧のページにアクセスできるようになるので、 各チームごとにJIRAを精査しJIRAに取り組みます。

SECCONなどのイメージが近かったので、専用のページをGoogle Sitesで作成しています。

それっぽいWebページがサクッと作れたので、ちょっとしたWebページ作成におすすめです(サーバも用意する必要がない)。

全体のシステム構成としては以下のような感じです。

(ほぼGoogleですね) あとは、採点を自動化できなかったので、ここはやむなしという感じです。

JIRAの一覧ページはこんな感じです。

やってみてどうだったか?

最後にJIRACONを開催してみての振り返りを含めて、アンケートの結果を紹介できればと思います。 それぞれ、「取り組みの意図」で説明した3つの目的に関してのアンケートを取っています。

1. 互いの作業を見たことで、今後の業務に活かせそうか?

一つ目の目的だった

互いの作業 (調査、コーディング、etc.) を見ることで、相互に良いところを吸収しあい、今後の業務に生かす

に関しては、綺麗に3分割されました。基本3人チームなので、役割ごとに意見が別れたようでした。 定性的なアンケートを結果を見た所、

  • 時間的な制約で、他の人の効率のいい面を見る余裕がなかった
  • 点数など競技性があったことで、個々が得点を取るための動きをしてしまっていた
  • どういうところで困っているのか/分からないのかを見れてよかった
  • 単純にスキルを吸収してもらう方へ力を入れたので、自身の得るものはなかった
  • いつも触らない領域を触って知見が広がった、業務に活きそう

傾向としては、時間的な猶予が厳しかった人、他人に吸収してもらう役回りだった人が低評価で、 競技性が合っていた人や、教えてもらう/見る側の人は目的を果たせたという結果でした。

2. JIRA解決の敷居が下がったか?

二つ目の目的は、

今回で「JIRAをサクッと解決する」という感覚をつかみ、今後もすぐに解決できるものは溜めずに解決していく習慣づけの端緒にする

に関しては、全体的にJIRA解決の敷居は下がったという結果になりました。 代わりに、自分から能動的に動く習慣が付いたかという意識改革までには至らない結果になりました。

また、最終的に、総計 「21件」のJIRAが解決されていましたので、JIRA解決という副目的もそれなりに満たされた結果になりました。 入賞ラインのチームは、「17点、13点、12点」といずれも、修正PR 10点を1つ以上は出していました。

3. 限られた時間の中で、調査力や問題解決力の向上が感じられたか?

最後の目的に関しては、1つ目のアンケートでも出ていましたが、時間的な制約がネックになっているという結果でした。 調査力・問題解決力が微増、全体的にポジネガが半々という状態でした。

ただ、時間に関しては「1時間では短いが、2時間だとダレそう」という意見があったので、単純に伸ばせばよかったとは言えない感じでした。

まとめ

最後に、JIRACONという取り組みをやってみた、まとめになります。

JIRAというプロジェクト管理ツールを使って、ペアプロ大会をやってみました。 互いの作業を見ながら、相互に刺激をもらえる機会を作ることができました。 また、チーム内に溜まったJIRA解決の敷居を下げつつ、ゲームの改善に繋がるような取り組みを行いました。

  • 主目的
    1. 互いの作業 (調査、コーディング、etc.) を見ることで、相互に良いところを吸収しあい、今後の業務に生かす
      • → 人の作業風景が見れてよかった or 余裕がなかった
    2. 今回で「JIRAをサクッと解決する」という感覚をつかみ、今後もすぐに解決できるものは溜めずに解決していく習慣づけの端緒にする
      • → JIRA解決の敷居は下がったが、マインド改革までには至らない
    3. 限られた時間の中で調査や解決策の検討を行うことで、調査力や問題解決力の向上を図る
      • → 一部の人には効果があったが、限られた時間だとその余裕が作りづらい
  • 副目的
    • 日頃触れない領域のコードに触れる → 人によってはあった
    • 溜まっているJIRAの数を少しでも減らす → 21件のJIRA解決
    • エンジニア間の交流 → まぁなったかなと

今後の展望

上記踏まえて、今後似た企画を行う場合のアイデアとしては、以下のようなことを考えています。

  • 時間的な制約がネックになったので、競技性のない取り組み
  • 普段関わりのある人で固めてチームを組んだので、チームを跨いだ交流の場
  • スタートから実装に取りかかれるような企画
  • 簡単なゲームを1から作る企画

JIRACONは競技性が高かったので、ゆとりを持って他人の作業を見ることに注力しやすい企画だったり、調査が必要なくやることが明確な手を動かせる企画が良いのではと考えています。

以上、FFRKチーム内で行なったJIRAを使ったペアプロ大会「JIRACON」に関して紹介してきました。 チケット駆動開発を行なっているチームがいれば参考にしていただければと思います。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。