Slide 1

Slide 1 text

Minimum Viable Development Get stuff done, ship on time, and stop fussing with analysis paralysis @donnfelker

Slide 2

Slide 2 text

Donn Felker » Fragmented Podcast w/ Kaushik Gopal » Teaching #AndroidDev Caster.IO » #AndroidDev Digest (androiddevdigest.com) » AndroidJobs.IO » 4x Android Author » Consultant / Intl. Speaker

Slide 3

Slide 3 text

How this talk is organized 1. Soft Skills 2. Tactics

Slide 4

Slide 4 text

Paradigm Shift The majority of getting things done is mental

Slide 5

Slide 5 text

Minimum Viable Development

Slide 6

Slide 6 text

Using the minimum amount of effort & time to accomplish a development task to move the business forward.

Slide 7

Slide 7 text

Isn't that what we all do anyway?

Slide 8

Slide 8 text

Perfectionism and maybe a little bit of FOMO

Slide 9

Slide 9 text

Perfectionism Example The Insurance company

Slide 10

Slide 10 text

Analysis Paralysis

Slide 11

Slide 11 text

#AndroidDev Examples

Slide 12

Slide 12 text

Should I use Fragments or custom views or something like Flow and Mortar?

Slide 13

Slide 13 text

Should I re-write my entire app to use RX?

Slide 14

Slide 14 text

Should I use this new MVP FRAMEWORK?

Slide 15

Slide 15 text

how do you keep analysis paralysis at arms length?

Slide 16

Slide 16 text

Before you make any new dev decision, ask yourself this -

Slide 17

Slide 17 text

Is this going to enable me to ship faster?

Slide 18

Slide 18 text

Does this enable the code to be maintainable?

Slide 19

Slide 19 text

But ... is shipping faster really the only goal?

Slide 20

Slide 20 text

An early stage startup with a short runway needs to prove a market faster than an established Fortune 500 company.

Slide 21

Slide 21 text

The type of business determines how you should develop

Slide 22

Slide 22 text

Think like a business owner

Slide 23

Slide 23 text

Everything is an Experiment

Slide 24

Slide 24 text

Ok, Stop. Story Time

Slide 25

Slide 25 text

Everything is an Experiment

Slide 26

Slide 26 text

Let go of the emotional attachment to code. The code is not your identity

Slide 27

Slide 27 text

"But, my Code is art, man..."

Slide 28

Slide 28 text

Your code is art. But its art that's sold to someone else. Once it's done, let got of it.

Slide 29

Slide 29 text

Tactics to Ship On Time

Slide 30

Slide 30 text

Timeboxing

Slide 31

Slide 31 text

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.

Slide 32

Slide 32 text

Location Oriented Development

Slide 33

Slide 33 text

Meetings are no longer than 15 minutes

Slide 34

Slide 34 text

Place all meetings at end or beginning of work day. Makers Schedule, Managers Schedule - Paul Graham

Slide 35

Slide 35 text

Get Creative Think outside of the box

Slide 36

Slide 36 text

An Example

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

Use what works. Use what you know.

Slide 40

Slide 40 text

Android Libs that Help me move faster

Slide 41

Slide 41 text

Dagger Butterknife RxJava Retrofit Timber Realm

Slide 42

Slide 42 text

So, Should you use Retrolambda, RxJava, MVP and Flow and Mortar?

Slide 43

Slide 43 text

It Depends. Just ask yourself ...

Slide 44

Slide 44 text

Does it enable me to ship faster with maintainable code?

Slide 45

Slide 45 text

Thank You