QA vs. “If it compiles it should work.”

I recently returned my truck to the dealer for the same repair FOUR times. In the end this made a compelling case of how QA can save a company money, by showing how much money my dealer lost by skipping QA. 

It is probably worth noting that mechanics are paid book rates for a given job.  A good mechanic may finish faster and can make more money in a given day.  Unfortunately, this sometimes leads to mechanics rushing things.

Apparently my mechanic believed if it bolts up to the engine it should work (If it compiles it should work.)

Trip to the Dealer #1: 
Problem: It leaks coolant, and is getting worse. ( How about a memory leak analogy? Sounds good to me. Let’s go with that!)
Dealer Diagnosis: Looks like it’s leaking from the thermostat and water pump. ( I see a memory leak)
Action: They bolted on a new thermostat and water pump. ( I changed some code)
QA: None. ( I’m that good!)
Dealer Comment: It may drip a little coolant for a while. ( Yeah there’s still a mess, but I don’t need to check to see if I got the big memory leak.  I’m sure I got it.)

Trip to the Dealer #2:
Problem: There is no heat ( Hey, the program is locking up now! )
Dealer Diagnosis: Bad thermostat ( Lookee here, that line of code I wrote doesn’t work and caused a new bug. Changing spaghetti code is always creating new issues.)
Action: They bolted on a new thermostat ( Let me fix that for you real quick. )
QA: None. ( There ya go, it’s all better, really!)
Dealer Comment: You should be all set now. The temperature doesn’t read very high, but it’s giving you good  heat. It’s probably the sensor. ( Forget those compiler errors and exceptions. Most of those exceptions can be ignored. Don’t pay any attention to them.)

Trip to the Dealer #3:
Problem: It dropped all the coolant in the reservoir over the weekend. ( New memory leak from hell! )
Dealer Diagnosis: Bad radiator ( Look there are a few other lines of code I missed.. Hard to see with all the nasty code around it. )
Action: They put in a new radiator,  which the mechanic then jury rigged by drilling holes in it and bending the attachment plate to and fro. Then they pulled up the sagging  shroud and used zip ties and off angle screws to hold the shroud on. ( While I was fixing this, I screwed up your UI, but I saved you a few bucks!)
QA: They washed all the coolant out of the engine bay and were sure there was no more coolant leak. ( I’m tired of seeing you so I’m going to make sure I fixed the initial problem, even if I’m only hoping the original functionality is still intact.) 

Trip to the Dealer #4:
Problem: The temperature is all over the place and doesn’t seem right, and I’m pretty unhappy about the mangled mess under the hood. ( It’s still hanging on me, but in new mysterious ways! Why is my UI screwed up? When did I authorize this?  )
Dealer Initial Question: Isn’t it giving you heat?  ( I don’t believe you or the warning you are seeing. )
Dealer Diagnosis:  They finally do some testing.  The temperatures measured in different places are all wrong. They suggest that they may have the wrong water pump on the truck, and suggest that I shouldn’t drive it like this. ( Hey look there is something else wrong, and it’s pretty bad.  We better take care of this.)
Action:  They replace the waterpump for the second time, the thermostat for the 3rd time, the radiator for the second time and they give me a complimentary shroud. ( It takes a complete rewrite of the code because they didn’t set up unit testing or have anyone willing to test it. )

Their Extra cost:
1 radiator & installation – they mangled the first brand new radiator
1 shroud & installation – They mangled the original
1 water pump & installation – They installed the wrong pump
1 or 2 thermostats  & installation – The first was supposed to be bad, the second who knows?
4 complete coolant changes
Overhead of getting the Service Manager involved – priceless…?  maybe not!
Losing a customer who also wasted a lot of time.

End result: The truck is finally fixed correctly, but they wasted an enormous amount of unnecessary effort, wasted perfectly good parts, lost money on the job and lost a customer with an old used truck that needs work more frequently these days. ( We finally fixed the code at a great development cost, and on top of that we lost a chunk of our customer base and will have less future income because of that.)

0 Responses to “QA vs. “If it compiles it should work.””



  1. No Comments Yet

Leave a Reply