I posted a thought experiment recently asking, What if we paid for bugs? The response was very interesting.
Some of the responses were supportive, others incredulous, and one person posted a link to a Dilbert article on an adjacent topic.
The software we build is the way it is because of our constraints and our motivations for building it. Software has bugs for lots of reasons, but our constraints and motivations are two of those reasons. Heck, bug-free software may not even be desirable; but it’s worth thinking about why we produce software the way we do.
Why do we have regression bugs?
Why do we have late night sev-1 incidents?
Why do we discontinue software people love?
Why do we not fix really easy bugs that our users report that are essentially paper cuts?
Why do we value launching this quarter over next?
The things we do, we value. The things we don’t do, we value not doing them. Two questions to ask that’ll help you understand your team and company:
1. What things do they value (both things they do and things they do not do)?
2. Why do they value those things?