LoginSignup
1
0

More than 1 year has passed since last update.

「Yahoo!天気アプリ 雨雲レーダー大幅アップデート開発の取り組み」で学んだこと(デブサミ2021夏)

Last updated at Posted at 2021-07-30

はじめに

本稿は、Developers Summit 2021 Summer の以下のセッションで学んだことを書きます。

セッション名:Yahoo!天気アプリ 雨雲レーダー大幅アップデート開発の取り組み
講演者:大前 良介[ヤフー]
セッション詳細:https://event.shoeisha.jp/devsumi/20210730/session/3238/

学んだこと

従来の雨雲レーダーは、ユーザーが地図上のデータを読み取って把握する必要があった。
それではユーザーにとって使いづらいため、どの地点にいつどのくらいの雨が降るのか、情報を整理してユーザーに伝えられるようにした。

今回のアップデート前のもともとの雨雲レーダーの時点で、多機能だった。
そしてFatActivityの状態だった。
1つの神クラスで、様々な機能が継ぎ足しで追加されてきた。
一時的にスケジュールを遅延させてでも大規模なリファクタリングを実施した。

完璧を目指すとコストが無限にかかるため、費用対効果を考え、妥協点を設定。
以下の方針で実施。

  • 機能ごとにクラスを分割。
  • リファクティブプログラミングの導入。
  • 雨雲レーダーの半に限定してリファクタリングを実施。

最初の1週間はリファクタリングのみを行った。
その後の開発速度が上がったため、スケジュールへのマイナスインパクトはなかった。

実際に作ってみて、ユーザーにさわってもらわないと、どういう操作が使いやすいか分からない。
最初に操作できるアプリを何人かにさわってみてもらった結果、想定していない操作をすることがあった。
そういう結果を踏まえて、操作方法を改善した。

「Yahoo!天気」と「Yahoo!JAPAN」のAndroid版とiOS版の4つの類似アプリがあるが、それらはそれぞれのOSでの最適なUXを提供するために、あえて仕様やコードを共通化していない。
ただし、お互いにフィードバックし合うことで、良い点を共有しあっている。

以下の2種類のフィードバックを活用した。
たくさんの改善案が提案された。特にバグバッシュは1つの指摘をきっかけに次々に改善点が見つかった。

  • Slackでのフィードバック募集
  • Zoomで集中バグバッシュ

まとめ

有名なYahoo!天気アプリが、開発現場でどのように考えられて開発されているのかが分かり、勉強になりました。

ちなみに私は、普段はエンジニアリングマネージャーとして、チームの皆で楽しく開発する施策を色々実施しています。詳しくは以下を参照ください。
1年以上かけて生産性倍増+成長し続けるチームになった施策を全部公開

Twitterでも開発に役立つ情報を発信しています → @kojimadev

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0