Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
数年滞っていたダークモード対応をおよそ2週間で完了させる
Search
Kazuki Chigita
September 03, 2026
Programming
770
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
数年滞っていたダークモード対応をおよそ2週間で完了させる
DroidKaigi2026 Day1のポスターセッションで発表。「家族アルバム みてね」における事例
Kazuki Chigita
September 03, 2026
More Decks by Kazuki Chigita
See All by Kazuki Chigita
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
580
あの日のHotReloadはなぜ動かなかったのか? 〜OSセキュリティ(W^X)とJITコンパイラの攻防〜
chigichan24
3
1.5k
「 動く」サンプルでスムーズなコミュニケーションを
chigichan24
1
1.5k
Claude CodeでサクサクTestコードを移行しよう
chigichan24
2
1.6k
Live Update notificationのつかいどころ
chigichan24
0
410
不具合調査とTest
chigichan24
1
480
Flutterと難読化
chigichan24
0
6k
Building Android and looking into the Android System
chigichan24
2
4.3k
DroidKaigiカンファレンスアプリの歴史からみるアプリアーキテクチャのこれまでとこれから
chigichan24
2
3.6k
Other Decks in Programming
See All in Programming
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
FreeBSDでZabbixを動かす
kenkino
0
360
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
320
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
140
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
phperだってパンチカードでコーディングしたい
o0h
PRO
0
220
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
1.9k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.5k
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
710
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
Why Our Code Smells
bkeepers
PRO
340
58k
Paper Plane
katiecoart
PRO
4
54k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
550
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
A better future with KSS
kneath
240
18k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
A Modern Web Designer's Workflow
chriscoyier
699
190k
Transcript
DroidKaigi 2026 · Poster Session 数年滞っていたダークモード対応を およそ2週間で完了させる せる Human in
the Loop で大規模なUI移行を行うためのプロセス values/ 1 対応した画面数 Wave 1〜5 の累計 2025.11 2026.05 02 事前準備1: 変更を逐次mainにいれる基盤 画面間の一貫性が命 = 中途半端に公開できない。全 リリースに混ぜつつ未公開のまま進める土台を先に作る 必要がある。 surface_primary #FFFFFF に値を集約 valuesnight/ ダークモード対応 =「使う箇所から _light を 消すだけ」に変換 or DesignSystemに則って いない部分を修正する作業 事前準備2: iOS の対応を丸ごと input AI が darkmode/wave_N の PR を作成 2 チーム(人間)が毎日ビルドを触って 成果物をレビュー へ iOS のダークモード対応 PR 約100本(2025.11– 2026.03) AI が時系列で確認し、対応の戦略・ハマった 問題点・人間の判断例を抽出 コンテキストとして活用できるように凝縮 Wave 1 のタスクリストを自動生成 し、 ループのはじめが効率よく回るように設計 フィードバックは ある? No 土台 連休 4/30–5/12 Wave 1 5/8–5/18 Wave 2 5/15–5/19 Wave 3 5/19–5/20 Wave 4 06 ★ 5/20–5/22 5/27–5/29 人間主導 ★ 9割完了 ループを支える 2 つの skill (① と ③ が参照し合う) /feedback-to-tasks フィードバックを 「AI 対応可」と「人間判 断」に二分し、AI 分は 1 タ スク = 1 コミットに分解 Wave が終わるたびに知見を skill へ書き戻す。同じ失敗は次の Wave で は起こらない ようになります。実質 1.5 日スプリントのアジャイル開発 のようなプロセスになります。 特に /feedback-to-tasks は AIに対応可能なものなのか、人間の判断が 必要なのかを蓄積した記録と、実際のコードベース両方を確認して 裏取りをすることで、その精度を高めます。人間が対応してほしいと 判断するスコープを小さくすることが最後の Wave 5 (人間主導による 対応)の作業時間を短くするために必要です。 なぜ大きな事故を防げたのか? ロジックを変えない 作業をリソース置換に限定し、失敗パターンを 「見た目が崩れている」のみになるようにした 2. Wave 反復の多重検査 同じ画面に複数の Wave・人 で何度もチェック が入るため、ヌケモレが小さくなる 3. Human-in-the-Loop 毎日のエンジニアのレビューに加え、PdM / デザイナーも一部Waveでは入り、 対応のスコープと色味の細やかな判断を行った 1. 07 End · ダークモード対応 完了 色置換マップと Compose / styles.xml / drawable の罠 を Wave ごとに積み上げる ナレッジベース GW タイトルの「2週間」= Wave 1 着手 5/8 → Wave 4 マージ 5/22。ここまで AI 主導で対象の 9 割が完了。 AI が判断を委ねた残りは Wave 5 で人間主導に切り替えて 5/29 に回収し、リリースを行いました。 事前準備含めて約 1 ヶ月(GW 含む)、品質担保のE2E テストでもほとんど問題は出ませんでした。 フィードバックを一箇所に集約し、 ナレッジとして蓄積 /darkmode-plan 結果と作業タイムライン AI 主導(実装中は流し見) #111111 FeatureToggle OFF の間は values-night が 読まれない = 何度リリースしても未公開の まま 03 の定義 1 3 残り 1 割は Wave 5(人間主導) Wave 5 → surface_primary_light semantic_colors.xml values/ 05 画面ごとに完璧を目指さず、広く浅く全画面にダークモード対応を 行い、毎日チーム30分触ってフィードバックを集める。各試行を Wave と呼び、生成 → 暫定版配布 → レビュー → ナレッジ化を 1 サイクルとして反復する。人間が関与するのはレビューの タイミングだけで、それ以外 AI がタスク分解含めて自走し続ける。 既存カラーを全部 rename Wave 4 時点の完成度 100+ 画面を触った結果として Wave ループで自走させるプロセス Start · wave_1 9割 ToggleOnの後のデグレ修正 全 266 コミット中 240 04 Android 10 で登場以来「いつかやりた い」課題。他に優先するべき施策も多く あったため時間を作れなかった。 iOS側の対応を先に行い、DesignSystem 含めた基盤の構築を実行 実装はほとんどAIで、レビューはチーム で行う。対象の9割を約2週間の実働で 完成。 2019 AI 共著コミットの比率 レビュー → マージも約 1 日 なぜ数年、滞っていたのか 5件 1+N_evaw 01 9割 ≈ 日 1 Wave の生成時間 → seY 100+ values-night/ Let's discuss! 1. このループがうまく動作する条件は 「失敗を確実に検出できる」×「多重検査」× 「PdM/デザイナーの参加」だと考えています。 i18n、アクセシビリティ対応、大規模 rename… あなたのチームなら何に応用しますか? 2. iOSとAndroidで双方に機能開発をするときに どうやってお互いのコードベースのコンテキスト を共有し、AIによる効率的な開発に 繋げていますか?モノレポ化、ドメイン知識の 外部コンテキスト化、UI操作の自動化等... あなたのチームでの事例を話したいです! 3. UIに関する変更は Visual Regression Test のよ うな基盤を整備することで人の介在をさらに小さ くできる可能性を秘めています。このような基盤 をどう整備していますか? 判断例ごと学ばせ、特にDesignSystemに対応していない 画面への判断を iOS に準拠させる ※本ポスターは、実際の開発結果からClaude Code / Claude Design を使用して、まとめたものです。