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
730
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
88
Building a Multiplatform library for iOS and Android
malmstein
9
1.3k
Unidirectional Data Flow on Android
malmstein
6
550
Introduction to Kotlin Coroutines
malmstein
0
170
A State Container Architecture for mobile applications
malmstein
0
170
Things I wish I knew before starting to work remote
malmstein
0
100
Remote, lonely and productive
malmstein
0
200
The source of all technical debt
malmstein
6
460
Android Architecture Blueprints
malmstein
0
310
Other Decks in Programming
See All in Programming
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.7k
えっ!!コードを読まずに開発を!?
hananouchi
0
220
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
200
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
850
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
240
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
510
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
140
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
650
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
860
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
350
The Spectacular Lies of Maps
axbom
PRO
1
860
30 Presentation Tips
portentint
PRO
1
350
Done Done
chrislema
186
16k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Faster Mobile Websites
deanohume
310
32k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Scaling GitHub
holman
464
140k
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]