Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Minimum Viable Development

Minimum Viable Development

Slides for the Minimum Viable Development talk given at Kotlin ∪ Android on March 14th, 2016.

Donn Felker

March 15, 2016
Tweet

More Decks by Donn Felker

Other Decks in Programming

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  4. Paradigm Shift
    The majority of getting things done is mental

    View full-size slide

  5. Minimum Viable
    Development

    View full-size slide

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

    View full-size slide

  7. Isn't that what
    we all do anyway?

    View full-size slide

  8. Perfectionism
    and maybe a little bit of FOMO

    View full-size slide

  9. Perfectionism Example
    The Insurance company

    View full-size slide

  10. Analysis Paralysis

    View full-size slide

  11. #AndroidDev
    Examples

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. Should I use this
    new MVP FRAMEWORK?

    View full-size slide

  15. how do you keep
    analysis paralysis
    at arms length?

    View full-size slide

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

    View full-size slide

  17. Is this going to enable me to
    ship faster?

    View full-size slide

  18. Does this enable the
    code to be maintainable?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  21. The type of business
    determines how you should develop

    View full-size slide

  22. Think like a
    business owner

    View full-size slide

  23. Everything
    is an
    Experiment

    View full-size slide

  24. Ok, Stop.
    Story Time

    View full-size slide

  25. Everything
    is an
    Experiment

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  29. Tactics to
    Ship On Time

    View full-size slide

  30. 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.

    View full-size slide

  31. Location
    Oriented
    Development

    View full-size slide

  32. Meetings are no longer than
    15 minutes

    View full-size slide

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

    View full-size slide

  34. Get Creative
    Think outside of the box

    View full-size slide

  35. Use what works.
    Use what you know.

    View full-size slide

  36. Android Libs that
    Help me move faster

    View full-size slide

  37. Dagger
    Butterknife
    RxJava
    Retrofit
    Timber
    Realm

    View full-size slide

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

    View full-size slide

  39. It Depends.
    Just ask yourself ...

    View full-size slide

  40. Does it enable
    me to ship faster
    with maintainable code?

    View full-size slide