『B1グランプリ(Bug Bash)』を2時間やって細かいIssueを洗い出しました

KyashでAndroidアプリを開発している@konifarです。

最近Kyashで始めた『B1グランプリ(Bug Bash)』という取り組みがなかなかよかったので、事の経緯と結果をまとめておこうと思います。

結論からいうと「2時間やってバグや改善点が70個くらい出た上にちょっと楽しかった」という話です。

細かいバグをどう減らすか問題

サービスのバグをどう減らすかという問題は、きっと多くの会社が抱えているのではないかと思います。弊社Kyashも例外ではありません。

どの会社でもクリティカルな問題はすぐに直していると思いますが、「ここって何か変じゃない?」「ここはこうした方がいいよね」くらいのちょっとした問題は気づかぬうちに溜まって放置されがちです。

Kyashでも「誰がいつ直すかは別の問題として、まずはそれらの問題を洗い出してみないと始まらないよね」という話があり、ミーティングの中で上がった解決策の一つが『B1グランプリ(Bug Bash)』という名の皆でバグを報告する会でした。

開催

話が上がってすぐにPMがカレンダーに予定を入れてくれました。

f:id:konifar:20180202165740p:plain

余談ですが、こういう改善系のTryを実行するにはすぐに予定を入れてしまうのが一番です。 やっていく気持ちが高まっている時に予定を入れないと、意義を忘れめんどくさくなって結局やらなくなるからです。

「B1グランプリって、普通にバグを見つける時間を取ってみんなで触るだけでしょ?」と思われる方もいるかもしれませんね。まあそのとおりなんですが、どうせやるなら楽しくやれないかということで賞金つきのグランプリ形式にしてみたという感じです。もちろん賞金はKyashで支払われます。

やり方は単純で、時間を決めてとにかくアプリを触り、見つけた問題をSlackの #bug_report チャネルにレポートしまくります。その後、審査員であるPMが「普通のバグ: 1ポイント!」「ナイスバグ: 3ポイント!」といった具合で判定をしてグランプリを決めます。

結果

予想以上に参加者全員が色々な問題と見つけてくれて、AndroidのIssueが20個くらい、iOSのIssueが50個くらい上がりました。

f:id:konifar:20180202165618j:plain

f:id:konifar:20180202165732p:plain

グランプリはデザイナーの女性の方でした。「よくこんなの気づいたな...」という問題も含め20個くらい上げてくれて、本当にすごいなと思いました。彼女には賞金の890円(バグ王)がKyashで送金されました。

「そもそも問題多すぎなのでは?」と思われるかもしれませんが、サービスを運用していく中で細かい粒度のものまで洗い出すとそれくらい出てしまうのですよね。他のタスクの優先度や工数とのトレードオフではあるのですが、定期的に棚卸して潰していくのがよいと思っています。

ちなみに審査に関しては「ナイスな報告なので3ポイント!」といった感じで若干ジャッジが属人化していたこともありましたが、それも含めて盛り上がったのでよしとしましょう。

こういう取り組みは会社によってベストなやり方は変わってくると思いますが、Kyashの場合にはグランプリ形式で皆でワイワイやるのは合っていたなと感じています。

f:id:konifar:20180202165839j:plain

もちろんよいところだけでなく改善点もありました。KPT(Keep Problem Try)形式で以下にまとめておきます。

Keep

  • すぐに予定を入れて開催できた(何気にこれが一番大事だったりする)
  • グランプリ形式でとにかく言ったもん勝ちという「どんなことでも報告していい」空気を作れた
  • 「ナイスバグですね」「これは渋い」といったコメントが飛び交いワイワイとやれた
  • Android/iOSの普段使っていない方のプロダクトを触れられるいい機会になった
  • 短時間で予想以上に多くの問題を洗い出せた
  • Slackに報告する形式が楽でよかった
  • グランプリを狙うために、 iPhone SEを使う、Notificationまわりを攻める、Activityを保持しないモードをONにするといった戦略を練ってくるメンバーがいてエッジケースの問題も拾えた

Problem & Try

  • Issue出すぎて片付けられない問題起こりそうな予感

=> 1週間経ってすでに30個くらい潰せているので意外と何とかなりそうな気もする。様子見。

  • デバッグ版アプリの準備に手間取ってしまった。

=> 事前に周知するか準備済の端末をエンジニアが用意するのがいいかも。

  • スクショ => Slackに報告の流れをもっと楽にしたい。

=> InstaBug、Balto(サービス終了)みたいなツールを導入を検討する(いいツールがあれば是非教えてください!)

  • 2時間は長すぎた

=> 30分でも十分成果が出そう。機能やテーマを絞って開催した方がいいかも。白熱しがちなのでタイムキーパー欲しい。

  • あとでIssue化するのしんどい

=> Slackでの報告は変えたくないので、グランプリ審査中にエンジニアがサッとIssue化しちゃうのがよさそう。

  • 審査中にはピザを食べたかった

=> 次回は何か出るかも?


実はすでにTryをいくつか実践していて、前回よりよくなっているのを感じています。

Keepでも書きましたが、個人的には どんな問題でも報告しやすい雰囲気で開催できている のが一番よかったと思います。

特にエンジニア以外のメンバーは、「こんなこと報告してもいいのかな」みたいな多少なりとも気持ちがあると思うのですよね。これは審査員であるPMの盛り上げ方も多分に寄与しているのですが、「バグか自信がないことでもちょっとした使いにくさの指摘でも何でもWelcome!」という雰囲気で開催できたことで、バグ報告以外にも使い勝手の改善などが上がり色々な気づきもありました。

イメージとしては、終わったときに「あぁ、これも言っとけばよかった」と思えるくらいがいいのかもしれませんね。

ただ、こういう取り組みは続けてみたら色々問題が出るんですよね。次に想定されるProblem『ダレてナァナァになる』でしょうか。まあそうなったらそうなったで、また同じように改善案を見つけて何か Try していくのだろうなくらいに考えています。

ドキュメントの整理などもそうですが、今回のB1グランプリのように皆で少し時間をとって取り組めばかなりの効果が出せることはわりとあると思うので、問題に感じた時に声をあげて変化を楽しんでいければと思います。

もちろんバグ修正だけではなく、「そんなことよりKyashのここ改善してほしい」というユーザーの皆さんの声にもできる限り応えられるよう引き続きがんばります。

f:id:konifar:20180202170344j:plain