3 ms·
A culture of quality has a significant cost. This is justified if lives are at stake, but that's pretty much the only case where it's justified. Grocery stores
by miloshh 17y ago
A culture of quality has a significant cost. This is justified if lives are at stake, but that's pretty much the only case where it's justified. Grocery stores also don't check each apple 3 times independently if it's not rotten. :)
- spitfire 17y agoImplicit in what you're saying is that you're willing to suffer the costs if your software fails. For me, if my banks software decides to munge some data, that's not cool. If my $2K laptop crashes, that's not cool. More importantly, a culture of quality mainly has initial costs, after that maintaining it is a small marginal cost with significant savings in reduced defects.
- grimoire 17y agoIf the bank's software decides to munge some data, no one dies. If your $2K laptop crashes, no one dies. The cost (both financial and human) of an aviation failure far exceeds the cost of your laptop crashing.
- nostrademons 17y agoSome software industries - aviation and healthcare particularly, but also to a lesser extent finance - are regulated. And have strong cultures of culture. And it works - how often are plane crashes due to "pilot error" vs. due to "software error"? For most things, though, that's just plain unnecessary. If my free web browser crashes - well, I'm a little annoyed, but I suck it up and restart the program. And I'd much rather use that free browser that crashes than wait until they can make it perfect and crash-free. There's an opportunity cost to everything. Time spent making sure your program never crashes is time not spent on solving new problems, and it's likely those new problems are a lot more pressing than "I need to reboot Firefox every 2-3 days because it has such horrible memory leaks."
- spitfire 17y agoI am not at all sympathetic to your world view. You're advocating that we make bad software on purpose. Not only that but you're advocating placing the burden of defects as an externality onto users. This to me is unprofessional. We have the technology and skills to build reliable software, without significant additional cost. To do anything else should be criminal. I'll use an analogy. You wouldn't date a fat, ugly, dull girl if you knew with even the most trivial effort you could date an attractive girl who's great at conversation and loves to discuss René Magritte and Douglas Hofstadter, would you? No. So why accept the same in software? EDIT: I should note that here in B.C., Canada Software Engineer is a certified title. You may not legally call yourself a software engineer unless you are licensed. hhttp://www.apeg.bc.ca/ http://www.apeg.bc.ca/
- orangecat 17y agoI am not at all sympathetic to your world view. You're advocating that we make bad software on purpose. Not only that but you're advocating placing the burden of defects as an externality onto users. He's saying that good software available today for $X beats flawless software available in 3 years for $5X, and I agree even if X=0. With the obvious exceptions for scenarios where people will die if it goes wrong. This to me is unprofessional. We have the technology and skills to build reliable software, without significant additional cost. And for some reason every organization in the world declines to use this magic bullet.
- nostrademons 17y agoEh, you don't have to be sympathetic to my worldview. You almost certainly use software I've written anyway. ;-) I'd strongly disagree that building reliable software can be done without significant additional cost. I spend perhaps 2/3 of my time writing tests, and then development time (on top of that) is probably doubled by code reviews. The benefit of this is that I have enough confidence in my (and others') code that I can freely improve it without worrying too much about breaking things. The downside is that I've spent 6x as long to implement a feature as I otherwise would've. That's a cost. I pay it because a.) I have to and b.) the business importance of the code I write really does justify it. I would not pay that cost if I were hacking up a startup with zero users and iterating until I had a useful product. And I don't pay the cost when I'm prototyping new ideas within my employer - most of my work later this week has been straight hackety-hack with no tests, because I'm doing a demo for something new. "You wouldn't date a fat, ugly, dull girl if you knew with even the most trivial effort you could date an attractive girl who's great at conversation and loves to discuss René Magritte and Douglas Hofstadter, would you?" Haven't you heard of "Smart. Pretty. Nice. Pick two"? You generally can't have everything - not unless you happen to be a debonaire billionaire with Brad Pitt's body. (The fact that such a person doesn't exist might be further evidence that you can't have everything...) Most people date a girl who has the qualities that they care about, and they don't worry so much if she's not perfect in other ways.