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
Minimum Viable Development
Search
Donn Felker
March 15, 2016
Programming
4
9.6k
Minimum Viable Development
Slides for the Minimum Viable Development talk given at Kotlin ∪ Android on March 14th, 2016.
Donn Felker
March 15, 2016
Tweet
Share
More Decks by Donn Felker
See All by Donn Felker
Testing for Success in the Real World
donnfelker
3
390
Realm - Droidcon 2016
donnfelker
7
380
Realm - NY Android Meetup
donnfelker
1
490
Realm - a New, Easy to Use Mobile Database & Object Framework
donnfelker
8
310
Understanding Build Variants
donnfelker
3
140
Android From The Trenches
donnfelker
11
860
Starting and Growing Your Career as a Freelancer/Consultant
donnfelker
6
290
Building Web APIs with Hapi.js and MongoDB (Mongoose)
donnfelker
11
6.7k
Approaches to Managing Genomic (DNA) Data
donnfelker
0
73
Other Decks in Programming
See All in Programming
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
290
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
840
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
120
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
SwiftUI Viewの責務分離
elmetal
PRO
1
240
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Spring gRPC について / About Spring gRPC
mackey0225
0
220
楽しく向き合う例外対応
okutsu
0
120
Grafana Cloudとソラカメ
devoc
0
170
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
130
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
190
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
What's in a price? How to price your products and services
michaelherold
244
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Cult of Friendly URLs
andyhume
78
6.2k
For a Future-Friendly Web
brad_frost
176
9.5k
Typedesign – Prime Four
hannesfritz
40
2.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Transcript
Minimum Viable Development Get stuff done, ship on time, and
stop fussing with analysis paralysis @donnfelker
Donn Felker » Fragmented Podcast w/ Kaushik Gopal » Teaching
#AndroidDev Caster.IO » #AndroidDev Digest (androiddevdigest.com) » AndroidJobs.IO » 4x Android Author » Consultant / Intl. Speaker
How this talk is organized 1. Soft Skills 2. Tactics
Paradigm Shift The majority of getting things done is mental
Minimum Viable Development
Using the minimum amount of effort & time to accomplish
a development task to move the business forward.
Isn't that what we all do anyway?
Perfectionism and maybe a little bit of FOMO
Perfectionism Example The Insurance company
Analysis Paralysis
#AndroidDev Examples
Should I use Fragments or custom views or something like
Flow and Mortar?
Should I re-write my entire app to use RX?
Should I use this new MVP FRAMEWORK?
how do you keep analysis paralysis at arms length?
Before you make any new dev decision, ask yourself this
-
Is this going to enable me to ship faster?
Does this enable the code to be maintainable?
But ... is shipping faster really the only goal?
An early stage startup with a short runway needs to
prove a market faster than an established Fortune 500 company.
The type of business determines how you should develop
Think like a business owner
Everything is an Experiment
Ok, Stop. Story Time
Everything is an Experiment
Let go of the emotional attachment to code. The code
is not your identity
"But, my Code is art, man..."
Your code is art. But its art that's sold to
someone else. Once it's done, let got of it.
Tactics to Ship On Time
Timeboxing
Example: A new, difficult, uncharted task - Give it 30
minutes to see how far you can get. Or 1 hour. Maybe 2. Then re-evaluate.
Location Oriented Development
Meetings are no longer than 15 minutes
Place all meetings at end or beginning of work day.
Makers Schedule, Managers Schedule - Paul Graham
Get Creative Think outside of the box
An Example
None
None
Use what works. Use what you know.
Android Libs that Help me move faster
Dagger Butterknife RxJava Retrofit Timber Realm
So, Should you use Retrolambda, RxJava, MVP and Flow and
Mortar?
It Depends. Just ask yourself ...
Does it enable me to ship faster with maintainable code?
Thank You