In an excellent 2013 article, Jonathan Klein lays out the many ways in which cognitive biases undermine the software development process. Whether it's fundamental attribution error ("my bugs are easily excusable mistakes, your bugs are the result of unforgivable sloppiness"); confirmation bias ("that's enough testing, we know that this works!"); bandwagon effect ("Bob's the bull-goose devops person, it would be silly to doubt his views on this software"); hyperbolic discounting ("a shortcut that saves me a day's work now is OK, even it costs me ten days' fixing in a year") and negativity bias ("the last time we did this it was a huge pain in the ass, screw it.")
But more importantly, Klein also suggests ways that you can mitigate these universal biases in your own software development practices — procedures that you can follow to make sure that when your stupid brain tricks you, you can spot the slight of mind.
Cognitive Biases in Software Engineering [Jonathan Klein]
(via O'Reilly Radar)
(Image: brain 2, J E Theriot, CC-BY)