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

Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road

Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road

NewCrafts 2018 (Paris, France)

Choosing the right area to focus on has a tremendous effect on the path of success for your organization's products and services. This is especially important when you are operating under uncertainty in an exploratory fashion, where it's not clear what your customers' needs and core jobs are. Challenge is to know whether you are channelling your efforts to solving the right problems for your customers. Are they reliably able to tell you what is not quite working as expected with your products?

In this talk, I will introduce you the Hypothesis-Driven Development approach which lets you build software in an uncertainty in an iterative way by testing the assumptions about your customers and also allows you to see development iterations as experiments. Besides going through this in theory, I will also give you a real-world example for the implementation of this approach in Web application in coordination with the help of tools such as Google Analytics, Hotjar and Intercom.

This approach will let you have another tool in your tool belt in order to succeed when operating in an uncertain problem space. By the end of the talk, you will also have a good example to take away and relate to your next challenges in a similar context.

Tugberk Ugurlu

May 17, 2018
Tweet

More Decks by Tugberk Ugurlu

Other Decks in Programming

Transcript

  1. Let the Uncertainty Be Your Friend! Finding Your Path in

    a Wiggly Road Tugberk Ugurlu @tourismgeek tugberkugurlu.com
  2. BONJOUR! I’m Tugberk I love creating products and making an

    impact on people’s lives You can !nd me at @tourismgeek 3
  3. This talk is all about mindset Techniques don’t matter as

    long as you adhere to the same mindset 8
  4. Focus is The Learning! Iterative Nature Take a phased approach

    to delivery! Iterate on vertical slices, improve as you learn more. Conceptual Models Focus on conceptual models to get feedback on, not so much on the implementation. Stabilize When Value is Proven Implementation could be rough, untested for most cases during the spike phase. Get back to them to stabilize once the value of the feature is proven! 11
  5. Iteratively Improving 13 Take it to 360 km/h, release! Then,

    to 370 km/h, release! Finally, to 375 km/h, release!
  6. “ If I had asked people what they wanted, they

    would have said faster horses. - Henry Ford (maybe?)
  7. JTBD (Jobs-to-Be-Done) People buy products and services to get a

    “job” done. https://www.intercom.com/books/jobs-to-be-done
  8. A User Story As a student or professional, I want

    to search for language schools so that I can find the best school suited to my needs based on schools’ price, location and other criteria. 26
  9. “ Hypothesis: A supposition or proposed explanation made on the

    basis of limited evidence as a starting point for further investigation.
  10. “ Would users engage with the search functionality on the

    site? How can we know this in a cheap way? 32
  11. TARGET 40% of users to use the search, out of

    at least 50 unique users! 35
  12. Hypothesis We believe that a language school search capability will

    result in users engaging with the search form to find language schools based on their criteria. We’ll know that we have succeeded when 40% of users use the search, out of at least 50 unique users. 36 https://www.thoughtworks.com/insights/blog/how-implement-hypothesis-driven-development
  13. 54 Unique Users 2 days experiment ~5 Searches Per session

    37% Searched Out of unique number of users 38
  14. 39

  15. “ Remove any feature, process, or effort that does not

    contribute directly to the learning you seek! - Eric Ries (The Lean Startup) 49
  16. Design for feature removal in-mind Uncertainty on the value of

    the feature brings up a need to be able to remove the feature when necessary. Feature flagging makes this straight forward. Value of Feature Flags Decouple deployments from releases Don’t hold onto the code till you are completely done with a feature. Ship the code often under a feature !ag, reduce the need for long-running feature branches 52
  17. Enable/disable features for environments or users Easy way to enable/disable

    features on dev/test/prod environments or be able to do A/B testing with users. Value of Feature Flags 53
  18. Coming up! Lean Software Development Book bit.ly/LeanSoftwareDevTheBook Subscribe and when

    notified, use NewCrafts2018 coupon code to get the book for $4.99! 66