Fallacies of Software Development

  • Not Invented Here
    • Strong bias against ideas from the outside.
    • Often excused via the sunk cost fallacy.
  • Ikea effect
    • People would pay 63% more if they assembled it.
  • The mere-exposure effect
    • Tend to prefer things we are familiar with.
    • Part of dogmatism around programming languages.
    • Developers tend to think time began with the first language learned.
    • “That’s how we’ve always done it.”, to which you can ask “Does it have to be this way?”
  • Customers want features and functionality.
  • Never be afraid to ask why.
    • We can get myopic.
    • Never dismiss the power of a fresh perspective.
    • Challenge the status-quo.
    • Encourage junior devs!
  • XY problem, also known as the “jump to conclusion mat”.
    • We tend to go straight to a solution.
    • Often before we really understand the problem.
    • No amount of testing, not type system, finds misconceptions.
    • Rather than work around a problem? Avoid it in the first place.
    • Sometimes we focus on the wrong details, and make wrong assumptions.
    • Ask why.
    • Take the time it takes so it takes less time.
    • Check your assumptions.
    • R-mode vs L-mode in our brain, like forest vs trees.
      • R-mode processing: search and retrieve.
        • non-verbal
        • not directly controllable
        • runs in the background
        • Distract the L-mode: take a walk, take a shower, sleep a bit.
    • Be ruthlessly programatic. Adapt to the current situation.
    • Beware of the person who knows everything. They don’t, and they can be dangerous.