In the first week of March I attended two Spotify unconferences about Continuous Deliver and Quality (which I also had the pleasure to facilitate). I am amazed on how many we were (people had flown in from a lot of other places), the energy in the room, the quality of the discussions, and the massive number of practical initiatives that where suggested and started.
One reoccurring theme was the importance of a stop-the-line culture and what that actually means. I have to admit I was quite active in those discussion, and also held a short lightning talk about the broken windows syndrome. My this simple formula when it comes to bugs is this:
- You write tests to create a product without defects
- When a test fails you fix the underlying problem
- A bug found outside testing is just an unwritten test that would have failed
- Failing tests are always fixed
- Therefore: a zero bug policy is the only thing that works in the long run
- Otherwise you will suffer the broken windows system
- Just do it
Here’s my slides:
3 responses on “A bug is just an unwritten test that failed”
Thanks for sharing these insides about the broken windows.
I’m wondering what feedback you got from the crowed at Spotify. As a user of Spotify I’m experiencing many bugs ATM. In the community I see many bugs being reported. I would argue if Spotify is doing what you propose these bugs should be fixed latest in 2-3 versions from now.
What is stopping people to write these tests? Are the devs confident to solve bugs really honest test driven?
I would say the was well received.
High quality and great engineering practices has a high focus inside Spotify, and I both hope and think it will (eventually even to you) be visible. To me every defect a user encounter is a failure. However, getting to that mentality and state take time, and I dear to say that most product companies never really get to that state, instead ending up with sort of a side business of collecting, maintaining and prioritizing bug. The Quality Unconference and a ton of other initiatives is meant to take the heat away from you user and create a great quality product. Thats at least what I see and hear.
… and nobody would buy a house with broken windows.