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

Make Better Decisions

Make Better Decisions

A simple presentation given at Boulder Ruby in October 2016 on how we make decisions and ways to train our instincts around technical problems.

Marty Haught

October 13, 2016
Tweet

More Decks by Marty Haught

Other Decks in Technology

Transcript

  1. Instinctive • Fast, automatic • Subconscious • Prone to biases,

    fallacies • Can be trained • Quality depends on experiences, feedback, emotions, influence
  2. Rational • Slow, logical • Requires reliable sources of information

    • Still affected by experiences, feedback, emotions, influence
  3. Why is this important? • Can train ourselves to improve

    our instincts • Avoid repeating mistakes • Reliably able to make better decisions
  4. Rational Process • Define the problem • Identify the options

    • Qualify each option • Choose best option • Reflect on outcome
  5. Define the problem • What is the issue? • Why

    does it need to be solved? • What is the goal? • What are the constraints? • Strive to be accurate and complete
  6. Identify the options • Start a list of potential approaches/solutions

    • How many are necessary to consider? • Expand via research, networking, brainstorming • Consider unconventional ones such as doing nothing • Do not prematurely eliminate or skip options
  7. Qualify each option • How likely will this meet our

    goals? • What risks are involved? • How much time, effort, or cost is involved? • Other qualitative aspects to consider?
  8. Choose best option • Determine most important factor such as

    time, cost, people or process • Sort options after weighing pros and cons • Eliminate any show stoppers • Involve others if a clear choice doesn’t stand out
  9. Reflect on outcome • Retrospective • How did it go?

    Any lessons learned? • Any ways to improve your process for next time?
  10. Context matters • Know your tech stack + alternatives •

    Know your team • Know your client • Know the app’s business and market
  11. Specific examples • How risk averse is your client and

    business? • What is the cost of a mistake? • What sort of benefit do you gain by moving faster? • Are their politics involved or other invisible forces to be considered?
  12. Dreyfus Model • Novice - follow the recipe! • Advanced

    Beginner - stay focused in one area! • Competent - ready to solve problems! • Proficient - can self-reflect! • Expert - work from intuition
  13. Be observant • Pay attention to how things are done

    • Be inquisitive on how others solve problems • Understand what you are doing • Record your observations • Beware of cargo culting
  14. Dev Journal • Religiously keep your notes on everything work-related

    • Use throughout the day, like a logbook • Each task should have an entry with its estimation • At least once a day, stop and reflect, recording your thoughts
  15. Estimate • Break down task into smaller parts • Record

    each part with a time estimate • Track time as you work on your task • Compare estimated vs actual time • Reflect on why they were different
  16. Practice, practice, practice • Seriously, you have to do it

    yourself • Don’t let others do things for you if you’re trying to learn
  17. ‘Just right’ failure • Balance between ‘playing it safe’ and

    ‘pushing yourself too far’ • Experience is the best teacher (aka getting burned) • Too much confusion or being overwhelmed is a sign to pull back
  18. Feedback is a gift • Practice accepting feedback gracefully •

    Listen to your team • Ask for feedback if your team doesn’t offer it