リファクタリングで仕様と知識を“見える化”する

-- Views

July 03, 25

スライド概要

2025年7月3日に開催した「リファクタリングで解決するモバイルアプリ開発のリアル」で使用した資料です

profile-image

ウェルスナビ株式会社 技術広報チームの公式アカウントです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

リファクタリングで仕様と知識を “⾒える化”する ウェルスナビ株式会社 佐藤健作 リファクタリングで解決するモバイルアプリ開発のリアル 1

2.

⾃⼰紹介 佐藤 健作(Kensaku Sato) ウェルスナビ株式会社 サービス機能開発チーム / Android エンジニア ウェルスナビでは ● 経歴 ⼩規模SES2社 → SIer→ウェルスナビ株式会社(2024/02〜) ● 前職からAndroidアプリ開発(ドローン、携帯キャリアアプリ等) ひとこと ● 月末にリヴァプールFCの試合を見に行きます 2 @2025 WealthNavi Inc.

3.

資産運用ロボアドバイザー 「 WealthNavi 」 3 ※ ⼀般社団法⼈⽇本投資顧問業協会「契約資産状況(最新版)(2024年9⽉末現在) 『ラップ業務』『投資⼀任業』」を基にネット専業業者を⽐較 ウエルスアドバイザー 社調べ(2024年12⽉時点) ※ 画⾯はイメージです。

4.

アジェンダ 1. PJの抱える課題 2. 課題①と解決に向けたアプローチ 3. 課題②と解決に向けたアプローチ 4. まとめ 4 @2025 WealthNavi Inc.

5.

1. PJの抱える課題 5 @2025 WealthNavi Inc.

6.

PJの抱える課題 🟥 課題①:仕様書がない ● ● ● 少⼈数で開発していたため、実装優先で仕様の整理が後回しになっていた コメントが少なく、画⾯の仕様を把握するにはコードの深読みが必要 社内の他部署からもアプリの挙動で何が正しいのかわからず問い合わせが多々発⽣している 🟦 課題②:リファクタリングに関する知識が不⾜している ● ● ● アプリは8年以上の歴史があり、Android Viewベースが中⼼ Jetpack Compose化を進めているが、既存メンバーに知識が不⾜ Compose導⼊には学習と設計の⾒直しが必要 上記の課題に対して、リファクタリングを通じてどう改善を試みているか 現在進⾏中のアプローチを紹介します! 6 @2025 WealthNavi Inc.

7.

2. 課題①と解決に向けたアプローチ 7 @2025 WealthNavi Inc.

8.

課題①と解決に向けたアプローチ 🟥 課題①:仕様書がない 📝 仕様書がないことで起きる問題 🔹 新メンバーの⽴ち上がりが遅れる ● ● 仕様が明⽂化されていないため、コードを読み解くところからスタート 実務に慣れるまでに時間がかかり、チーム全体のスピードが落ちる 🔹 実装者しか意図が分からないコードが⽣まれる ● ● 「なぜこの処理が必要なのか」がコードから読み取れず、属⼈化しやすい レビュー時に背景を確認する必要があり、レビュー負荷が増加 🔹 他部⾨からの問い合わせ対応が⾮効率 ● ● 仕様書がないため、都度コードを確認して回答する必要がある 問い合わせ対応に時間を取られ、本来の開発作業に⽀障が出る 8 @2025 WealthNavi Inc.

9.

課題①と解決に向けたアプローチ ✅ 解決に向けたアプローチ 🛠 仕様書の整備を前提にする ● ● ⽬的:誰でも仕様にアクセスしやすい状態を作る ● 新メンバーの⽴ち上がりスピードアップ ● 社内問い合わせを減らす ⽅針:アプリ全体の仕様が整うには時間がかかる ● ● リファクタリングの進⾏に合わせて、仕様書も徐々に充実させていく ✅ 仕様書とコードの整備を“並⾏して進める”⽂化をつくる 9 @2025 WealthNavi Inc.

10.

課題①と解決に向けたアプローチ 🛠 コード上にもコメントを残す ● ⽬的:コードを読んだだけで、最低限の仕様が理解できるようにする ● 記載ルール: ● ● ● クラスやメソッドの概要 ● わかりづらい処理の補⾜ ● 過剰なコメントは避け、読みやすさを優先 仕様の分担: ● 対外的な説明 → 仕様書に記載 ● プログラム的な仕様 → コード上に残す ✅ リファクタリングと同時にコメント整備を⾏うことで、仕様の“⾒える化”を促進 10 @2025 WealthNavi Inc.

11.

3. 課題②と解決に向けたアプローチ 11 @2025 WealthNavi Inc.

12.

課題②と解決に向けたアプローチ 🟦 課題②:リファクタリングに関する知識が不⾜している 🔍 知識不⾜によって起きる問題 🔹 Jetpack Composeへの移⾏に不安がある ● ● Composeの経験が浅いメンバーが多く、⼼理的ハードルが⾼い UI設計や状態管理の考え⽅が従来と異なり、学習コストが⼤きい 🔹 設計の意思決定が属⼈化しやすい ● ● 新しい設計パターンやベストプラクティスがチーム内で共有されていない 実装の⽅向性が⼈によってバラつき、品質や保守性に影響 🔹 知識の“⾒える化”が進んでいない ● ● 学習リソースやノウハウが個⼈に閉じており、再利⽤性が低い チーム全体のスキル底上げが進まず、移⾏のスピードが上がらない 12 @2025 WealthNavi Inc.

13.

課題②と解決に向けたアプローチ ✅ 解決に向けたアプローチ 📘 学習のテンプレート化 ● ● CodeLabの実施:⼀部を抜粋して実施する形で構成 a. Jetpack Compose の基本 b. Jetpack Composeへの移⾏ c. Jetpack Compose の状態 d. Jetpack Compose の⾼度な状態と副作⽤ 参考書籍紹介(Android⾃体の開発経験はある前提) 🧱 開発環境の整備 ● ● Jetpack Compose⽤のコーディング規約を策定 共通UI部品の整備:TextStyle、Font、Text、Button、Theme などをあらかじめ⽤意 🧪 実践的な導⼊ ● ● Now In Androidの設計パターンを参考にした⼩規模な画⾯(通信あり)をComposeで実装 上記を参考にしてもらいつつ、ペアプロ‧モブプロを通じて、実装しながら知識を共有 13 @2025 WealthNavi Inc.

14.

4. まとめ 14 @2025 WealthNavi Inc.

15.

まとめ 1. リファクタリングの価値の再確認 ● ● リファクタリングは単なるコードの整理ではなく、プロジェクト全体の課題を⾒直すチャンス 技術的負債の解消だけでなく、チームの働き⽅や⽂化の改善にもつながる 2. 今回の課題と解決に向けたアプローチの共通点 ● ● 課題①‧②に共通していたのは、情報の整理と共有の不⾜ 仕様書とコードの整備を並⾏して進めることで、これらの課題に根本からアプローチできる 3. 今後のアクション ● ● この⽂化をチーム全体で育てていくことが、より良い開発体験につながる ⼩さな改善を積み重ねて、⼤きな成果につなげていきましょう 15 @2025 WealthNavi Inc.

16.

【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 16 @2025 WealthNavi Inc.

17.

ご清聴ありがとうございました 17 @2025 WealthNavi Inc.

18.

Appendix 1 定期的にWealthNaviの開発(技術‧組織)に関する情報を発信しています。 開発者ブログ ● 技術広報に関する お問い合わせ先 ● https://zenn.dev/p/wn_engineering ブックマーク追加や記事への「いいね」していただけると嬉しいです ウェルスナビ 技術広報チーム([email protected]) 18 @2025 WealthNavi Inc.

19.

Appendix 2 ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 主な採⽤中職種 ● ● ● ● ● モバイル開発エンジニア エンジニアリングマネージャー バックエンド開発エンジニア QAエンジニア データエンジニア 採⽤情報詳細 ● 下記URL(QRコード)よりご確認ください。 https://recruit.wealthnavi.com/ 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 19 @2025 WealthNavi Inc.