Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
User Driven Development
David González
October 06, 2015
Programming
17
680
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
Building a Multiplatform library for iOS and Android
malmstein
9
950
Unidirectional Data Flow on Android
malmstein
6
430
Introduction to Kotlin Coroutines
malmstein
0
45
A State Container Architecture for mobile applications
malmstein
0
73
Things I wish I knew before starting to work remote
malmstein
0
50
Remote, lonely and productive
malmstein
0
110
The source of all technical debt
malmstein
6
350
Android Architecture Blueprints
malmstein
0
140
Remote and Lonely
malmstein
4
560
Other Decks in Programming
See All in Programming
質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
twada
PRO
30
19k
Monadic Java
mariofusco
4
270
TechFeed Conference 2022 - Kotlin Experimental
jmatsu
0
860
GraphQL+KMM開発でわかったこと / What we learned from GraphQL+KMM development
kubode
0
130
未経験QAの私が、よきQA(Question Asker) になっていく物語
atamaplus
0
380
インフラエンジニアの多様性と評価、またはキャリアへのつなげ方 / Careers as infrastructure engineers
katsuhisa91
0
550
バンドル最適化マニアクス at tfconf
mizchi
5
2.4k
Why declarative UI frameworks?
tkuenneth
0
200
マイクロインタラクション入門〜ディテイルにこだわるエンジニアリング〜
swimmyxox
0
110
Nix for Scala folks
kubukoz
0
140
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
1.2k
テスト設計技法をなぜ&どのように使うのか体験しよう!
imtnd
0
540
Featured
See All Featured
Unsuck your backbone
ammeep
659
55k
What's in a price? How to price your products and services
michaelherold
229
9.3k
Six Lessons from altMBA
skipperchong
14
1.3k
Support Driven Design
roundedbygravity
86
8.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
4
450
4 Signs Your Business is Dying
shpigford
169
20k
The Art of Programming - Codeland 2020
erikaheidi
32
5.8k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
How STYLIGHT went responsive
nonsquared
85
3.9k
GraphQLとの向き合い方2022年版
quramy
16
8.1k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Transcript
User Driven Development Improve your development process focusing on the
user David González @dggonzalez david@novoda.com
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 david@novoda.com