How to Release in a Week

From Idea to MVP

No Time to Waste!

A working demo -- not mockup -- in a week!

Your First Tasks

  • Come up with a good idea -- done!
  • Build the first user testable version -- in a week!
  • Test it on some users -- the week after!
  • Build / Measure / Learn!

How to deliver in a week

  • Swarm
  • Slice
  • Delighter first

Swarm

Coding with Teams

A team divides the work. Everyone codes alone, right?
In agile, that's the worst way to work.

Swarming

  • Gang up on the problem.
  • Everyone works on UI and database design.
  • Form subgroups for specific coding tasks.
  • Code, test, deploy, commit as often as possible.

Why do it?

Increases Team bonding, team design, team debugging, continuous code review
Decreases Catch-up reviews, slack updates, dropped tasks, merge conflicts

Agile in 3 minute podcast

How to do it?

Advice from Remote Mob Programming
  • Typist + Mob (not driver + navigators)
  • Rotate every 10 15 minutes
  • Switch with Git push/pull (not shared laptop)
  • If remote
    • Everyone remote -- no hybrid swarms
    • Cameras on
    • Shared screen (not a collaborative editor)

Who should do what?

  • Avoid:
    • Working on what you know best
    • Working with team members you know best
  • Focus on
    • Building new skills
    • Bonding with all team members
    • Reducing the bus factor risk

Slice

User interface first

Delays testing feasibility. Adds promises of features before user need demonstrated. Allows only "what-if" lo-fi user testing.

Foundation first

Delays testing usability. Adds code for features that may never be needed. Allows no user testing at all.

Slice!

  • Slice = backend to frontend
  • Just what is needed to let a user see or do something

Delighter first

What should be in the first slice?

Common Mistakes

  • Starting with login or other data entry
  • Starting with "must haves" like saving data or payment
  • You have nothing to show users or investors with these.
  • You learn nothing interesting about your idea.

Work Backwards

  • Implement the payoff first!
  • Display payoff using realistic data manually entered in cloud database (best) or external JSON file.
    • Don't mock data directly in HTML.
  • User test! Find out what you got wrong about what users need to see.

Delighters vs Must-Haves

  • Kano model
    • Delighters make people want your product
    • Must-haves needed so people can use your product
  • Both are high value; which first?
    • Delighters first. Test if product is viable
    • Must-haves next, to make a releasable product

The 4-Panel Storyboard

How to deliver in a week

  • Swarm
  • Slice
  • Delighter first

Other Useful Product Design Concepts

Minimum Viable Product (MVP)

  • MVP: the smallest thing you can build to test your most critical unknowns,
    • your value prop
      • if users aren't impressed, you don't have a product
    • your ability to code for that value prop
  • 80% of your app is irrelevant to testing your idea
    • Login, preference pages, profiles, statistics, etc.
  • Twitter was designed on a napkin

Design by Storytelling

  • A demo is a story with characters, context, problem, and payoff
    • Character: someone with a background, needs, and opinions
    • Context: the situation someone is in
    • Problem: a specific problem, one that arises often
    • Payoff: your app coming to the rescue!
  • Kim Goodwin on design scenarios

Thanks to Hakim El Hattab for RevealJS