The document discusses how cognitive biases and heuristics affect software developers' thinking and decision making. It explores Daniel Kahneman's concepts of System 1 thinking (fast, emotional, instinctive) and System 2 thinking (slower, deliberate, reasoning). Specific biases that can influence developers are then examined, including the availability heuristic (recalling what is memorable), substitution heuristic (replacing complex judgments with easier ones), and anchoring bias (relying too heavily on initial information). The document encourages developers to employ techniques like constant learning, prototyping, and unbiased estimation practices to overcome these cognitive tendencies.
2. Thinking, Fast and Slow
An awesome book!
Exploring how we think…
“Bias and decision heuristics”
amzn.to/KidCCy
21/03/2014 @taidevcouk
3. Your Thinking: A Tale of Two Systems…
System 1:
fast, instinctive, emotional, subconscious
Systemic errors
System 2:
slower, deliberate, reasoning, conscious
Lazy, and causal (not statistical)
21/03/2014 @taidevcouk
5. Availability Heuristic
“If something can be recalled,
it must be important”
Ever notice that MongoDB are at every conference?
…and every application seems to use MongoDB?
21/03/2014 @taidevcouk
7. Substitution Heuristic
“…a computationally complex judgment
will be substituted
for a more easily calculated heuristic”
Observe what happens when you ask…
‘Is Scala a good choice for your current project?’
21/03/2014 @taidevcouk
9. Anchoring Bias
“Common tendency to rely too heavily
on the first piece of information offered
when making decisions. ”
How does your manager ask for estimates?
…is it an unbiased question?
21/03/2014 @taidevcouk
12. Thanks for Listening!
This is a beta lightning talk…
… was it interesting? Please let me know!
Contact me:
d.bryant@iatltd.com
@taidevcouk
21/03/2014 @taidevcouk