Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デザインから逆算して難易度を見積もるための観点
Search
Fumiya Sakai
February 05, 2025
Technology
0
230
デザインから逆算して難易度を見積もるための観点
2/5に開催された『みんなのアジャイル』発売記念LT大会 in 虎ノ門でのLT資料になります。
Fumiya Sakai
February 05, 2025
Tweet
Share
More Decks by Fumiya Sakai
See All by Fumiya Sakai
興味の胞子を育て 業務と技術に広がる”きのこ力”
fumiyasac0921
0
620
StickyHeaderとScroll追従の構造を紐解く
fumiyasac0921
0
150
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
580
iOS/Androidで無限循環Carousel表現を考えてみる
fumiyasac0921
0
240
ノートを取る習慣を続けていたので、その記録の一部を書籍にまとめてみました
fumiyasac0921
1
100
Riverpod & Riverpod Generatorを利用して状態管理部分の処理を書き換えてみる簡単な事例紹介
fumiyasac0921
0
160
iOS/Android間でUI実装を近づけるヒントと道標
fumiyasac0921
0
470
GeometryReaderやスクロールを用いた表現と紐解き方
fumiyasac0921
0
200
SwiftUIで座標位置を取り扱う場合の細かなポイントを探ろう
fumiyasac0921
1
280
Other Decks in Technology
See All in Technology
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
980
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
9
2.2k
【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX
brainpadpr
2
480
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
360
Amazon Qで2Dゲームを作成してみた
siromi
0
140
o11yツールを乗り換えた話
tak0x00
2
1.3k
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
2k
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
1k
LLMで構造化出力の成功率をグンと上げる方法
keisuketakiguchi
0
810
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
140
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
1
1.3k
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
750
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Bash Introduction
62gerente
614
210k
Embracing the Ebb and Flow
colly
86
4.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Rails Girls Zürich Keynote
gr2m
95
14k
Done Done
chrislema
185
16k
Transcript
デザインから逆算して難易度を見積もるための観点 Fumiya Sakai 『みんなのアジャイル』発売記念LT大会 in 虎ノ門 @ 虎ノ門ヒルズビジネスタワー 2025/02/05 書籍ダイジェスト版
& 補足事項
自己紹介 ・Fumiya Sakai ・Mobile Application Engineer アカウント: ・Twitter: https://twitter.com/fumiyasac ・Facebook:
https://www.facebook.com/fumiya.sakai.37 ・Github: https://github.com/fumiyasac ・Qiita: https://qiita.com/fumiyasac@github 発表者: ・Born on September 21, 1984 これまでの歩み: Web Designer 2008 ~ 2010 Web Engineer 2012 ~ 2016 App Engineer 2017 ~ Now iOS / Android / sometimes Flutter
iOSのUI実装本を執筆しています! 書籍に掲載したサンプルのバージョンアップや続編等に現在着手中です。 少しの工夫で実現できるTIPS集やライブラリ表現の活用集をはじめとした、iOSア プリ開発の中でも特にUI実装やUIKitを利用した画面の中で特徴を与える様な表現 という題材に焦点を当てた書籍となっております。 現在は電子書籍版のみとなります。 こちらは全て¥1,000となっております。 https://just1factory.booth.pm/ 概要: https://book-tech.com/
価格: 📖 Booth 📖 Book Tech
UI実装であると嬉しいレシピブックの最新情報 UI実装であると嬉しいレシピブックVol.3として2022年10月に商業化しました! Still WIP これまでの同人誌として頒布したものに加えて、Vol.1及びVol.2に頒布したものの 中で書籍に載せきれなかったものや表現や動きが特徴的でユーザーにもほんの少し 遊び心を与える様なUI実装を紹介したものをVol.3としています。 概要: これからの構想: こちらで購入可能です:
Amazon / Google Play / Apple Books / KINOKUNIYA / Rakuten BOOKS etc.. 🏊 iOS: SwiftUIを利用したUI実装や動画関連の実装 🏊 Android: Jetpack Composeの基本やその他気になるUI表現の考察
技術書同人誌博覧会スタッフ&デザイン協力もしてます (御礼)第11回技術書同人誌博覧会参加ありがとうございました! 🍀 #9 一般参加募集チラシ 🍀 #10 次回案内チラシ 🍀 #11
次回案内チラシ 🍀 技書博 mini OSC案内 (ちょっと宣伝)上記案内のデザインは私が作成しました。
デザインを基に実装難易度を見積もる重要性に関して iOS/Androidはそれぞれ異なるデザインガイドラインや技術的要件を持つ 同じ様なデザインを実装する場合でも、異なるアプローチが必要になる。 1. モバイルアプリ開発において難易度を見積もる際に重要な観点を整理する: デザインから逆算して実装の難易度を正確に見積もることは、プロジェクトの円滑な進行に不可欠だと考えています。 2. iOS/AndroidそれぞれのUI実装観点からの重要性: デザイナーとの協業においても、これらの技術的な制約や可能性を共有することで、実装しやすく、かつユーザー体験の高いデ ザインの創出につながると考えています。
3. アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる例: iOS/Android両方の違いを事前に把握することで、スプリント計画の制度向上によるリソースの最適配分やリスクの早期特定から 適切な対策を立てることができるので、スムーズな開発支援にもつながると考えています。
モバイルアプリ開発において難易度を見積もる際に重要な観点を整理する(1) 観点は様々ありますが、見積もりの際に特に重要なものをピックアップしました 😀 1. UIコンポーネントの複雑さ 2. プラットフォーム間の差異 3. データフローとステート管理 4.
パフォーマンスへの影響 5. API連携とデータ同期 標準のまま or カスタムの必要 / AnimationやLayoutの複雑さ / 複雑なInteraction / 階層構造 UIガイドライン / プラットフォーム固有機能 / デバイス毎の画面やアスペクト比 データフローと状態管理の複雑さ(※複数の依存関係がどの様に絡むか?) 大量データの取り扱い / 画像処理 / 動画再生(重い処理)、Background処理 / Push通知(応答性) 必要なAPI呼び出し数・データの同期方法(ネットワーク不安定時・オフライン時・データ競合防止) 特にUI実装に直結する ような項目を列挙 ※本書でフォーカスしている点 ※本書でフォーカスしている点
モバイルアプリ開発において難易度を見積もる際に重要な観点を整理する(2) 観点は様々ありますが、見積もりの際に特に重要なものをピックアップしました 🧐 6. セキュリティ要件 7. アクセシビリティ対応 8. ローカライゼーション 9.
テスト容易性 10. メンテナンス性と拡張性 ユーザー認証 / データ暗号化 / Secure Storage(実装の複雑さに影響を及ぼす可能性がある点) 色コントラスト比 / 音声読み上げ機能 / Touch Target Size(使いやすさの考慮に関する要件) 多言語対応 / RTL / 地域ごとの法的要件や文化的配慮(グローバル展開を視野に入れた場合) ユニットテスト / UIテスト(実装のしやすさ)・エッジケースや異常系(テストシナリオ設計) コードの再利用性 / 将来的な機能追加や変更のしやすさ(長期的なプロジェクト成功の想定) 機能要件や仕様次第で はUI実装に影響する可 能性がある項目を列挙
iOS/AndroidそれぞれのUI実装観点からの重要性 iOS/Android両方の難易度を見積もる上で重要な観点をピックアップしました 1. コンポーネント単位で見た時の方針選択 2. iOS/Android間における考え方の相違点 3. カスタムUIコンポーネントの実装 4. アニメーションとトランジション
5. システムUIとの統合 一見すると同じ様な見 た目や体験が同じ様に 見えても注意が必要。 ・UIコンポーネントの複雑さ ・プラットフォーム間の差異 6. アプリのライフサイクルの違い iOS/Androidの両方のUIガイドライン(iOS: Human Interface Guideline/Android: Material Design)、 レイアウトエンジン、ナビゲーションパターン等の違いを事前に把握することによって、各プラット フォームに応じた開発タスクの見積もりを正確に行う際の手助けになる。
アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる この様な動きをするために普段から心がけておくと良いポイント 1. 定期的な公式ドキュメントの確認・新機能やデザインの変更点の共有 2. 両プラットフォームに共通する部分と独自に調整すべき部分の明確化 3. プロトタイプ段階でアニメーション・インタラクションの確認 4. iOS/AndroidのUI処理における相違点やアプリケーションとの調和の確認
5. 定期的なデザインレビューやユーザビリティテストの実施 チームで実際に発生し た問題や事例を共有す る機会を積極的に創出 ・スプリント計画の精度向上 ・リスク早期特定と問題対処 6. 各プラットフォームにおける実装の課題や成功事例の共有 - 各プラットフォームのガイドラインやベストプラクティスにできるだけ従う - 同じ機能でもプラットフォームによって実装アプローチが異なる場合がある点に注意する - ユーザー体験を損なわないよう、各プラットフォームの特性を理解した上で設計・実装する
アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる
アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる
アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる
アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる
アジャイル開発の観点からiOS/Androidでの類似点・相違点を押さえる
なぜこの観点がアジャイル開発において重要だと考えるか? アジャイル開発の特性や目指す成果と密接に関係すると考えています 1. 迅速なフィードバックサイクルの促進 2. 優先順位の明確化とスコープ管理 3. チームの共通理解と連携の強化 4. リスク管理と技術的負債の抑制
5. 持続可能なペースの確保 デザイナーとエンジニ アだけではなく関連す る職種の皆様と一緒に ・Communication ・Collaboration 6. ユーザー価値の最大化 デザインから逆算して難易度を見積もる観点は、スムーズなスプリント計画、リスクの早期発見、チー ム全体の連携、持続可能な開発ペースの維持、そしてユーザー価値の最大化に直結します。これらはア ジャイル開発の成功に欠かせない要素であり、結果として全体効率や品質向上にもつながります。
まとめ 難易度を見積もる際に大切なのは「目に見えない」部分への準備力のところ 時間やリソースが限られた状況で、技術的に難しい部分やリスクの高い部分を特定して対応する準備が大切。 1. チーム全体の連携: 各役割が1つのチームとして協力することが不可欠になります。特にUI実装と機能ロジックは切り離して考える事が難しい場合も 珍しくないため、役割や職種を越えて共通理解を持っている状態が望ましいと思います。 2. 技術的な実現可能性の評価: デザインが提案された時点で「実現が技術的にどれほど難しいか?」をという問いを常に持ち、評価する事も重要になってきま
す。複雑な実装を要する箇所を早期特定する事で、可能性の模索や難しい場合の代替案を検討がしやすくなると思います。 3. 時間とリソース制約の考慮: 時間やリソースには限りがあるため、実装の難易度が高い部分を早期に見極めることが求められます。これにより、開発プロセ スの初期段階でリスクを管理し、優先順位をつけて進めることが可能になると思います。
Thank you for listening !