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
110
デザインから逆算して難易度を見積もるための観点
2/5に開催された『みんなのアジャイル』発売記念LT大会 in 虎ノ門でのLT資料になります。
Fumiya Sakai
February 05, 2025
Tweet
Share
More Decks by Fumiya Sakai
See All by Fumiya Sakai
iOS/Android間でUI実装を近づけるヒントと道標
fumiyasac0921
0
320
GeometryReaderやスクロールを用いた表現と紐解き方
fumiyasac0921
0
120
SwiftUIで座標位置を取り扱う場合の細かなポイントを探ろう
fumiyasac0921
1
160
iOS/Androidで同じUI体験をネイティブで作成する際に気をつけたい落とし穴
fumiyasac0921
1
160
DroidKaigi2024公式アプリiOS側Contribution裏話
fumiyasac0921
1
130
iOSエンジニアがAndroid・Kotlinでの開発を加速させた 3年間の実践テクニック(簡易版)
fumiyasac0921
1
260
複雑なUI実装の壁を越えるための考え方事例紹介 (iOS/Android間で実装を合わせるヒント)
fumiyasac0921
1
180
こんなUIってSwiftUIでこう作るのか!を解剖してみた
fumiyasac0921
2
920
「swift-testingはじめました」 Quick/Nimbleからの置き換えの最初の一歩
fumiyasac0921
2
850
Other Decks in Technology
See All in Technology
“自分”を大切に、フラットに。キャリアチェンジしてからの一年 三ヶ月で見えたもの。
maimyyym
0
320
例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する
kajitack
13
4.4k
マルチデータプロダクト開発・運用に耐えるためのデータ組織・アーキテクチャの遷移
mtpooh
1
380
Classmethod AI Talks(CATs) #14 司会進行スライド(2025.01.31) / classmethod-ai-talks-aka-cats_moderator-slides_vol14_2025-01-31
shinyaa31
0
100
AIをプロダクトに実装するならAPIで分離しよう 〜タクシーアプリ『GO』のアーキテクチャ実例紹介〜
74th
2
130
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
170
アーキテクチャわからん、の話
shirayanagiryuji
0
270
Amazon Location Serviceを使ってラーメンマップを作る
ryder472
2
180
SCSAから学ぶセキュリティ管理
masakamayama
0
130
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
370
Server Side Swift 実践レポート: 2024年に案件で採用して見えた課題と可能性
yusuga
2
460
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
7
870
Featured
See All Featured
Speed Design
sergeychernyshev
25
770
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building Adaptive Systems
keathley
39
2.4k
Become a Pro
speakerdeck
PRO
26
5.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
128
19k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
How STYLIGHT went responsive
nonsquared
98
5.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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 !