5 ms·
Bugs are the responsibility of the process that brought them there. In most cases it is shared responsibility. Why doesn't your dentist mess up 1 out of 5 inte
by freediver 7y ago
Bugs are the responsibility of the process that brought them there. In most cases it is shared responsibility.
Why doesn't your dentist mess up 1 out of 5 interventions? They have gone through years of strict training and there are giant liabilities in place.
In development? A lot of self-taught developers, who can always jump to a next gig because of never-ending demand. This sets up the scene for a totally different scenario - never-ending stream of bugs.
If you want your team to have less bugs, then as a manager make sure you have a process in place that optimizes for that. Start with your hiring process and add requirements for code quality practices. Then build a process that includes strict commit guidelines, documentation, code reviews and QA process. Most importantly, add time to estimates that ensures all of the above is checked properly. After all that is in place, define in a clear way some sort of liability for bugs.
Your dentist goes through all of that, why not your developers doing arguably equally important work?
- ht85 7y agoAre there 100% medical procedures with 100% success rate? To me it seems that failures happens pretty often, generally due to incompetence, limitations in the science regarding the problem or insufficient resources. Seems very similar to bugs to me. The question is how bad is failure, obviously if someone's health is at risk, you have a much bigger incentive to have processes on the safer side. Maybe you feel "bugs" are more frequent in software because the software you're referring to has an incentive towards innovating rather than stability. I'm sure if you studied software used in critical systems, the failure rate would be more in line with a procedure at a dentist. You can't justify the kind of cost that kind of development has for most apps.
- wooby 7y agoI believe the answer to your question of why developers don't generally treat quality the way dentists do is one of economics. The world needs enough software, and the world's requirements for quality are low enough, and the average developer writes reliable-enough code, that in most cases money can be made without special attention to quality. In some domains, quality is paramount. I imagine that quality and bug mitigation are the primary concerns of someone who manages, say, an X-ray machine firmware project, or avionics software. Software for these purposes that is not extremely reliable cannot compete in that market. For other kinds of software people are paid to write -- like social networks for pets -- reliability is a much lower priority. Certain kinds of software needs to be rewritten constantly to meet the demands of highly-evolving markets. Games are an example of this. Reliability is important, but not paramount, because the underlying business can only continue to compete by at some point stopping work on the reliability of existing games, and moving on to developing new games. I'm sympathetic to the respect you have for the value of high quality software. But the reality is, the value of quality varies dramatically within the software industry -- much more than it does within, say, dentistry, or medicine, or aviation. Fewer bugs isn't necessarily the primary concern of those using and buying any particular kind of software.
- i_haz_rabies 7y agoIn absolute terms there's a lot more CS degrees working dev jobs churning out bugs. Self-taught devs can be great. Degree devs can be shit. I mostly agree with the rest of your post.
- freediver 7y agoMay be - may be not. Would you trust your dental work to a self-taught dentist? What makes developers a special case? I am agnostic to it and genuinely curious.