REALITY人事の松田です。今回はバーチャルライブ配信アプリ「REALITY」のエンジニアたちによる、ある取り組みをご紹介します。
それは、REALITYの全エンジニアが新機能開発をとめて、2週間ひたすらバグと闘うプロジェクト。その名も「終わりなき挑戦プロジェクト」。
なぜ全員で、2週間もの時間をバグ潰しに費やしたのか。そしてその成果は・・・。
プロジェクトの発起人である、REALITYエンジニアグループ シニアマネージャー渡邉 賢さんに話を聞きました!
エンジニア全員で2週間バグ潰し
ー 「終わりなき挑戦プロジェクト」を発足した背景を教えてください!
2018年8月のリリース以降、急速に成長し続けているREALITYですが、数多くの新機能を短期間でリリースしてきたので、それに比例して多種多様なバグ・不具合が発生しています。
ある日、社長のDJ RIOちゃんから「今のREALITYは不具合に遭遇したりタスキル駆使するのが当たり前になってしまっているけど、もうちょっと品質向上して、サクサクで目立ったバグがない状態になるだけでも、めちゃくちゃよくなる!」と言われて、「確かに!!」と思って。わかってはいたけれどなかなか手をつけられずにいたバグと闘う決心がつきました。
そして2週間という期間を決め、REALITYの全エンジニアで、新機能開発をとめてバグ潰しに挑むことを提案しました。
ー プロジェクト名の由来は?
REALITY社のValue(=社員が大切にする考え方、行動指針)の一つに「終わりなき挑戦を楽しむ。」というバリューがあります。せっかくやるならこのバリューを体現する取り組みにしたいと思い、「終わりなき挑戦プロジェクト」という名前にしました。社内では「おわちょ会」と呼んでいます。
また、以前からエンジニアの皆で何かイベントをやりたいと思っていて。普段の僕たちの業務はREALITYアプリの不具合修正や新機能開発ですが、それぞれ担当の開発領域(サーバー/iOS/Android/Unity)があるので、一つの課題に対して皆で頑張る、といった動きは少なくて。皆で楽しみながら盛り上がりたいな、という思いも込めました。
根深くて手強い"バグ四天王"
ーどんなバグと闘ったんですか?
今回はREALITYの最重要課題である以下4つに絞り、エンジニア総勢24名が4チームに分かれて取り組みました。
①ロードが長い
②アプリが固まる
③端末が熱くなる
④配信の音声が不安定
ー 大変だったことはありますか?
10/9に配信した「REALITY運営会議 ~ゆるっと近況報告~」で、ユーザーさまに対して取り組む内容を事前に公言しましたが、これについて社内のエンジニアからは、自分たちが作った不具合を大っぴらに話してエンタメショウっぽくする意味があるのか?成果が全く出なかったらどうするのか?という意見もありました。
正直めちゃくちゃ悩みました。悩みすぎて休日に一人で青森を目指す旅に出かけたりもしました。(途中で飽きて茨城で温泉入って帰りました。)
悩んだ結果、プロダクトを一生懸命よくしようとしている様子を正直に伝えることで、きっとたくさんの人が応援してくれるだろうと思い、やり切ることに決めました。REALITYのユーザーさまはとても優しく、実際に応援の言葉もいただき、とても励みになりました。
そしてプロジェクトの経過がわかるようハッシュタグ「#終わりなき挑戦プロジェクト」でツイートするなどしました。プロジェクト途中のあやふやな情報をリークしたりしたので、何回もメンバーに怒られましたが(笑)。
プロジェクトが佳境に差し掛かると社員からも続々と応援の差し入れをもらい、嬉しかったです。
2週間の闘いの末、成果は・・・
ー 結果はどうでしたか?
きちんと成果を出すことができたので、やってよかったなと思っています!これまで手をつけられずにいた課題としっかり向き合うことができましたし、最後までエンジニア皆で楽しみながら取り組むことができました。
ー 具体的にはどんな成果を得られたのでしょうか?
かなり詳細になりますが・・・。例えば、「④配信の音声が不安定」という課題で言うと、配信中の音量バランスや配信中の音質について現状分析から始め、分析に基づく改善を行いました。特に音量バランスは、音量が小さいのは小声で配信しているだけなのか端末のマイクの問題なのかなどはデータだけでは分かりません。
そこで過去の配信音声データ数百件に対してLUFSと言う音量評価手法を使って分析を行い、個別のデータではなく、全体のデータに対して音量を評価しました。分析手法を確立した上で、音量バランスに問題があるAndroidに対してバランスを適切にする設定を行うなどしました。また、配信中の音量レベルを可視化する機能(Zoomで喋るとマイクアイコンに音量バランスが表示されたりするあれ)の開発などを行いました。
社内のサウンドルームでOS別の視聴の音量を分析している様子
まだまだ成果はたくさんありますが、ここで多くをお伝えするのは難しいので、そのほか3つの課題も含めた成果の詳細については、10/29に配信した「REALITY『終わりなき挑戦プロジェクト』成果発表会」をぜひご覧ください!(投影資料はこちら)
ー エンジニア皆さんの反応はどうでしたか?
そうですねー、プロジェクトの終わりにエンジニア全員にアンケートをとったのですが、皆楽しんでやってくれていたことが分かりました。エンジニアの皆で何かイベントを楽しみながらやりたいと思っていた、当初の思いも達成できたかな、と思っています。
これからも、終わりなき挑戦を楽しむ
ー REALITYを開発する上で常に大切にしていることって何ですか?
開発速度です。
REALITYは先進的なアプリなので、変化が激しく、何が正しいのか分からないし、人によって意見もバラつく。よくなると信じてリリースした機能は、もしかしたら間違っているかもしれない。
そんな中で僕らエンジニアが一番大事にすべきなのは、プロダクトマネージャーやデザイナーを信頼して、とにかく早く作って世に出すことだと思っています。それがユーザーさまや会社に貢献するための一番重要な役割だと思っています。
また、新機能開発も重要ですが、今回のプロジェクトのように、開発時間の多くを不具合修正に使い、より安定したアプリを目指しています。とにかく早くたくさん作って、REALITYをもっともっとすごいアプリにしたいです!
ー REALITYのエンジニアはどんなチームですか?
うーん、どんなチームなんでしょうね?いろんな個性がありすぎて、一括りにしづらい。(笑)
エンジニアの仕事の中でも、原因が分かってない、やることが明確じゃない開発って、人によっては辛いんですよね。アンケートのコメントにもある通り、それでも全員が楽しんで取り組めたということは、REALITYのエンジニアは「終わりなき挑戦を楽しむ」ことができるチームなんじゃないかな、と思ってます。あと余談ですが、飲み会が好きです🍺
ー渡邉さん、そしてエンジニアの皆さん、2週間本当にお疲れ様でした。
REALITYの開発についてもっと知りたいという方は、エンジニアのnoteを是非ご覧ください!