Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Eight Androidチームで取り組む「常に改善をまわす」取り組み

こんにちは!Sansan 技術本部 Mobile Applicationグループのふるしんです。
furusin (@furusin_oriver) / Twitter


本記事は Sansan Advent Calendar 2022 - Adventar 16日目の記事です。

普段は大阪のオフィスでAndroidアプリの開発に従事しています。

play.google.com
play.google.com


EightのAndroidチームでは、最近「常に改善をまわす」取り組みをいくつか開始しました。

その取り組みを共有していきます。

前置き:考え方の根幹

私はEightのAndroidチームのチームリーダーと、Android/iOS全体のマネージャーをしています。
マネージャーとして「我々はこういう組織になっていこう」という目線合わせのために「ふるしんが考えた目指す組織はこうだ」というものをチームに発信しました。
その中のひとつに「意識せずとも勝手に改善がまわっていく」組織になろう、と書いています。

# 「意識せずとも勝手に改善がまわっていく」組織
## 言いたいこと
案件だけに盲目的になっちゃダメ
問題・課題には常に向き合い、常に解消できるようにしよう


## 概要
闇雲に開発案件にばかり目を向け続けるだけの組織にはしたくない。
我々は開発を任された部隊として、UI/UXやクラッシュフリー率などといったユーザー体験だけでなく、開発のしやすさや開発効率などといった開発体験を高めていくことも責務として持つ。
そのため利用ライブラリやアーキテクチャを常に最新に保つなど、改善活動も案件と同等に扱ってほしい。


「気づいた人が気づいた時に改善を上げる」のではなく「自然と改善タスクが上がり、自然と解決されていく」状態が理想

改善をまわす取り組み

Eight Androidチームではいくつか取り組んでいることがありますが、中でも2つをピックアップして共有します。

  • 技術基盤改善
  • アーキテクチャ検討会

技術基盤改善

これは文字通り「技術基盤を改善する」取り組みです。
毎週水曜の午前中を使っています。

基本的に我々は1週間スプリントのスクラムで日々の開発業務にあたっています。
このスクラムの中で向き合うことができる分量には限りがあります。
我々はプロダクトの成長のために開発をしますが、やはり日々のFirebase Crashlyticsには様々なクラッシュが上がってきたり、技術的・運用的に改善したいことはたくさんあります。
そのような「スプリントの中ではやりづらい、でも重要な課題」に定期的に向き合う時間として活用しています。

これまでの実績だと、例えば以下のような取り組みをしました。

  • クラッシュの修正(5/31の24時間のクラッシュフリー率が99.33%だったものを11/30では99.80%まで向上)
  • CI/CDをBitriseからGitHub Actionsへ移行
  • 「修正したいがじっくり考える必要があるクラス」の修正方針を考える
  • 古くなったライブラリのアップデート

取り組むべき課題にしっかりと優先度付けをし、技術基盤改善の時間をしっかりと確保することで、多くの良い効果が現れていると実感しています。
特にクラッシュフリー率の上昇によりお客さまへの悪い影響を少なくしたり、GitHub Actionsの整備により運用コストを抑えるような取り組みができている点は良い点です。

もっとうまくまわせそうな感覚はあるので、これからもしっかりとプロダクトの成長に向き合いつつ、その成長を阻害するような要因を排除する動きを続けていきたいと考えています。

アーキテクチャ検討会

世の中のスマートフォンアプリ開発において「アーキテクチャ」は永遠の課題だろうと個人的には思っています。
私は今年の1月にEightに着任しましたが、私の目線では「これはもっと良くなるぞ!」という感覚がありました。

その感覚をチームメンバーに共有し、常に「我々にとってより良いアーキテクチャはどんな設計だろうか」を考える時間を取っています。
そうすることで以下のような良い効果がありました。

  • 日々の開発の中で「これはもっとこうしたら良くなるのでは?」という声が上がるようになった(アーキテクチャ検討会以外の時間で)
  • そういえば、我々にとって◯◯層の責務ってなんだっけ?を再定義することができている
  • よく考えるとこれ良くないかもね。このライブラリも要らないかもね。と潜在化してしまっていた負債に気づくことができた
  • いわゆるデファクト・スタンダード(Googleの公式ドキュメントとか)とズレている部分を軌道修正できてきている

まだまだ道半ばですし、もっと良くしたい部分は多いです。
今後も「アーキテクチャ」に向き合い続け、より良い設計を常に考えられるようなチームになれたら技術的にも筋肉質なチームになるだろうなと想像しています。

まとめ

ここまでEightのAndroidチームで取り組んでいる取り組みの2つを共有しました。
他にもiOSチームやQAチームを巻き込んだ改善も進めており、チームとして力が伸びてきているように日々感じています。

そんな私達と一緒に仕事をしてみたい!という方、是非お声がけください。
media.sansan-engineering.com
media.sansan-engineering.com

© Sansan, Inc.