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
User Driven Development
Search
David González
October 06, 2015
Programming
740
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
User Driven Development
Improve your development process focusing on the user
David González
October 06, 2015
More Decks by David González
See All by David González
A comprehensive guide to tracker protection on Android
malmstein
1
110
Building a Multiplatform library for iOS and Android
malmstein
9
1.4k
Unidirectional Data Flow on Android
malmstein
6
560
Introduction to Kotlin Coroutines
malmstein
0
200
A State Container Architecture for mobile applications
malmstein
0
180
Things I wish I knew before starting to work remote
malmstein
0
120
Remote, lonely and productive
malmstein
0
220
The source of all technical debt
malmstein
6
460
Android Architecture Blueprints
malmstein
0
330
Other Decks in Programming
See All in Programming
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
210
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
250
SODA - FACT BOOK(JP)
sodainc
1
40k
オーケストレーション記述言語 Katari
yukikurage
0
210
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.7k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
200
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
5
1.3k
Modernizing iOS Apps
seyfoyun
0
140
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.3k
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
280
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
No More NoSuchMethodError
exoego
1
120
Featured
See All Featured
We Are The Robots
honzajavorek
0
410
Discover your Explorer Soul
emna__ayadi
2
1.3k
Embracing the Ebb and Flow
colly
88
5.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
320
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
480
Leo the Paperboy
mayatellez
10
2.4k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
WCS-LA-2024
lcolladotor
0
940
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Transcript
User Driven Development Improve your development process focusing on the
user David González @dggonzalez
[email protected]
Design Prototyping Scribbles Reviews Retrospectives User testing Beta releases Development
Stakeholders
None
Designers are also nice people “ - Sebastiano Poggi Android
Developer at Novoda
Paper prototyping is to find as much issues as possible
before starting to develop
Paper allows you to do and redo without fear of
losing development time The Sun Mobile News - Aug 2014
Scribbles are the minimum representation of an element
public class FeedItemView extends AspectRatioView { private TextView createdText; private
TextView categoryText; public FeedItemView(Context ctx, AttributeSet attrs) { super(context, attrs); } @Override protected void onFinishInflate() { super.onFinishInflate(); inflate(getContext(), R.layout.feed_item, this); createdText = findById(this, R.id.feed_text_created); categoryText =findById(this, R.id.feed_text_category); } } Create a custom view
<ScrollView xmlns:android=“…” android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="?android:attr/actionBarSize"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <com.newsuk.thesun.view.AspectRatioView
android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_article_top" /> <com.newsuk.thesun.view.AspectRatioView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_article_content" /> </LinearLayout> </ScrollView>
None
Iterate How do we do it from here?
Split the user journey in as few steps as possible
Guesstimate
None
Acceptance criteria
None
5 points Scribble implementation with local data Given I am
a logged in user And I have previously saved an article When I navigate to My Articles Then I should see a list of articles
3 points Loading screen Given I have internet connection When
I navigate to My articles Then the date should be fetched from the API And I should see a loading screen
3 points Empty screen Given I have no saved articles
When I navigate to My Articles Then I should see an empty screen
8 points Scribble implementation fetching data from API Given I
have internet connection When I navigate to My articles Then the date should be fetched from the API And I should see a list of saved articles
5 points Visual design items Given I see a list
of articles When I navigate to My articles Then the list items designs should match specifications
5 points Interaction with articles Given I have a list
of saved articles When I tap on the article header image Then I should see a selected item
8 points Response from API Given I have a list
of saved articles When I swipe away one of the elements Then the remote item should be deleted And I should be notified of the deletion
Design reviews It’s up to the design team to accept
a visual design story
None
None
None
Code quality
None
None
None
None
Use Pull Request Builder and Thresholds in Jenkins to prevent
Technical Debt
None
None
None
None
None
Sprint reviews, retrospectives and demos
None
None
Show what you achieved
Be transparent about what’s missing
Excite them about what’s coming
Usability testing
Acceptance criteria Define goals, what do you want to achieve?
Pilot tests highlight problems early and save your user’s time
Acceptance criteria Define action points, refine and test again
Nightly releases
None
Thank you! David González @dggonzalez
[email protected]