Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
57
Building a Multiplatform library for iOS and Android
malmstein
9
1.2k
Unidirectional Data Flow on Android
malmstein
6
510
Introduction to Kotlin Coroutines
malmstein
0
120
A State Container Architecture for mobile applications
malmstein
0
140
Things I wish I knew before starting to work remote
malmstein
0
76
Remote, lonely and productive
malmstein
0
170
The source of all technical debt
malmstein
6
420
Android Architecture Blueprints
malmstein
0
270
Other Decks in Programming
See All in Programming
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
関数実行の裏側では何が起きているのか?
minop1205
1
700
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
400
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
220
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
330
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
チームをチームにするEM
hitode909
0
330
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
360
愛される翻訳の秘訣
kishikawakatsumi
3
320
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
For a Future-Friendly Web
brad_frost
180
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Facilitating Awesome Meetings
lara
57
6.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
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]