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

How to Build a Software Product?

How to Build a Software Product?

An introduction talk for the Startup Programming course. It highlights the main steps and principles on how to successfully build software products and web applications.
http://startup-programming.com

slides were updated in 2016

Alexey Zagalsky

September 05, 2014
Tweet

More Decks by Alexey Zagalsky

Other Decks in Programming

Transcript

  1. How to Build a Software Product? based on Steve Marmon’s

    presentation and Ohad Barzilay’s slides {Startup} Programming by Alexey Zagalsky 2016 edition
  2. A recipe for successful startups? AirBnb for X (Eatwith) Uber

    for X (BlackTux, Uber for Uber) Tinder for X (BarkBuddy) Netflix for X
  3. “Making something that people want, but only a medium amount,

    is a great way to fail and not understand why you’re failing.” image taken from http://startupclass.samaltman.com/
  4. Persona • Jane, 62 • Lives in Victoria, BC •

    Has 3 grandkids in Toronto • Loves to draw pictures with them • Wishes she could interact more often
  5. Principle 1 Know Your Users Needs Goals Use cases Priorities

    Skills Cognition Time Behaviour patterns Concerns Context of use Errors Experience
  6. • How is your solution different? • Gain insights on

    user intuitions and expectations ◦ Users don’t want to invest time to learn the application ◦ Take advantage of existing usability knowledge Exploring Existing Solutions
  7. Platform Awareness Constraints of a mobile app • Small screen

    • Less precise touch input • Typing is more difficult • Short burst of usage
  8. Platform Awareness Affordances of the platform • Multitouch screen, Led

    notifications • Accelerometers, Magnetometers • Camera • Gestures • GPS
  9. But Don’t Wander Too Far Your goal is not to

    have as many features as you can fit. Your goal is to have as few as you can, while still achieving what you want to accomplish.
  10. Step 5: Okay, You Can Code Finally Follow an Agile

    process and use MVC architectural pattern
  11. • Start by beta testing with your friends • Pilot

    with real users ◦ Aim for your target audience ◦ Early adopters first, and then mainstream users ◦ If possible, do more than one pilot • Don’t take the feedback as is, analyze it Pilot
  12. • Stand on the shoulders of giants • Talk to

    users • Explore many designs • Iterate based on user feedback Key Takeaways