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
User Driven Development
Search
David González
October 06, 2015
Programming
17
720
User Driven Development
Improve your development process focusing on the user
David González
October 06, 2015
Tweet
Share
More Decks by David González
See All by David González
A comprehensive guide to tracker protection on Android
malmstein
1
67
Building a Multiplatform library for iOS and Android
malmstein
9
1.3k
Unidirectional Data Flow on Android
malmstein
6
530
Introduction to Kotlin Coroutines
malmstein
0
150
A State Container Architecture for mobile applications
malmstein
0
150
Things I wish I knew before starting to work remote
malmstein
0
83
Remote, lonely and productive
malmstein
0
190
The source of all technical debt
malmstein
6
430
Android Architecture Blueprints
malmstein
0
280
Other Decks in Programming
See All in Programming
AI巻き込み型コードレビューのススメ
nealle
2
2.3k
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
2
170
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
580
Oxlint JS plugins
kazupon
1
1.1k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1.1k
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
170
CSC307 Lecture 13
javiergs
PRO
0
310
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
190
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.5k
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
190
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
130
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
190
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
77
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
80
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
72k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
240
Design in an AI World
tapps
0
160
The Language of Interfaces
destraynor
162
26k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
81
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]