$30 off During Our Annual Pro Sale. View details »

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

More Decks by Tugberk Ugurlu

Other Decks in Programming


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

  4. Beyond the problem fit 5

  5. Working with assumptions 6

  6. 7 The Goal: Build the right thing for the business!

  7. This talk is all about mindset Techniques don’t matter as

    long as you adhere to the same mindset 8
  8. 9 https://flic.kr/p/ta4a

  9. Spike and stabilize bit.ly/SpikeAndStabilise 10

  10. 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
  11. 12 Iterative Nature

  12. Iteratively Improving 13 Take it to 360 km/h, release! Then,

    to 370 km/h, release! Finally, to 375 km/h, release!
  13. Classification suggestions through data discovery for SQL Server databases 14

    Conceptual Models
  14. Classi!cation suggestions listed for each column 15 Conceptual Models

  15. Stabilize When Value is Proven

  16. Validation techniques 17

  17. Qualitative Information that can't actually be measured

  18. 19 Talking to Users https://flic.kr/p/UD5grg

  19. “ If I had asked people what they wanted, they

    would have said faster horses. - Henry Ford (maybe?)
  20. The Mom Test http://momtestbook.com/

  21. JTBD (Jobs-to-Be-Done) People buy products and services to get a

    “job” done. https://www.intercom.com/books/jobs-to-be-done
  22. Quantitative Information that can be measured and written down with

  23. Hypothesis Driven Development 25

  24. 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
  25. What’s wrong here?

  26. 28 https://flic.kr/p/8ZBm3K https://flic.kr/p/8s1FYZ Confident Statement!

  27. “ Hypothesis: A supposition or proposed explanation made on the

    basis of limited evidence as a starting point for further investigation.
  28. 30 https://flic.kr/p/8ZBm3K

  29. None
  30. “ Would users engage with the search functionality on the

    site? How can we know this in a cheap way? 32
  31. A basic search form on the home page 33

  32. No logic to return results, always return “No results, sorry!”

    page. 34
  33. TARGET 40% of users to use the search, out of

    at least 50 unique users! 35
  34. 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
  35. Would users engage with the search functionality on the site?

  36. 54 Unique Users 2 days experiment ~5 Searches Per session

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

  38. Heatmap view of the users engaging with the site 40

  39. “ Would users engage with the search functionality on the

    site? 41
  40. YES!

  41. Investing further to provide price information based on the search

    criteria 43
  42. Capturing the hypotheses with Test Cards https://blog.strategyzer.com/posts/2015/3/5/validate-your-ideas-with-the-test-card

  43. Visualising your progress with the Progress Board https://blog.strategyzer.com/posts/2015/3/11/lean-startup-progress-board

  44. Visualising your progress with the Progress Board https://blog.strategyzer.com/posts/2015/3/11/lean-startup-progress-board

  45. Visualising your progress with the Progress Board https://blog.strategyzer.com/posts/2015/3/11/lean-startup-progress-board

  46. Learning! This process is optimized around learning! 48

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

    contribute directly to the learning you seek! - Eric Ries (The Lean Startup) 49
  48. Other Enablers 50

  49. 51 Feature Flags https://hackernoon.com/feature-flag-driven-releases-7a7a5fee6ba7

  50. 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
  51. 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
  52. None
  53. None
  54. None
  55. None
  56. None
  57. None
  58. None
  59. None
  60. 63 Continuous Delivery https://flic.kr/p/kqUGPi

  61. Further Reading: The Lean Startup http://bit.ly/2KxsBsi 64

  62. Further Reading: Value Proposition Design http://bit.ly/2GsH7yT 65

  63. 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
  64. THANKS! Any questions? You can !nd me at: @tourismgeek tugberk@outlook.com

    Presentation template by SlidesCarnival