The non-negotiable part is that there should be tests, regardless of when they were written. Those tests will be the record of truth for future development. They are proof that the proper specification was implemented, regardless of methodology. I really disagree with this. Asides from the fact that tests can't prove the absence of bugs, it's very easy to write a test suite that avoids the unhandled edge-cases; most…
Formal verification can prove the absence of bugs.
Investigating Higher Quality Software
11–16 of 16 posts
Re: Investigating Higher Quality Software
#12Well, it seems like a relatively surprise-free article... Write explicit code, write tests, have QA staff and procedures, build what the stakeholders what. I guess the biggest problem with software quality is not that we don't know how to do it, but that it's expensive.
Poor software quality is also expensive. I would like to see a study about the balance points and how to achieve them.
Flinging crap out fast is sometimes seen as a valid business model (unfortunately): that crap is only expensive to you if you have to maintain it, but that's not your problem if all you're trying to do is to "exit".
On the other end of the spectrum (like where I work at now for example), we take a lot of effort and time to make sure our code is not crap - but that is an expensive decision both in terms of money and time.
Re: Investigating Higher Quality Software
#13Deploying 100% bug-free code is the Holy Grail of software development. Is this really true? Judging by their decisions, most people's Holy Grail is more like something reasonably good and shipped on time. 100% bug-free code is already possible, but few are willing to pay for it.
Is anyone willing to pay for it? Is there any non-trivial code that's been deployed that has been bug free? I mean, supposedly NASA paid $1,000 per line of code and still got 0.11 defects per 1,000 lines. By that metric, windows would cost $40 billion to develop, but it would still have 4,400 defects in it.
Re: Investigating Higher Quality Software
#14Earlier quoted context omitted.
Poor software quality is also expensive. I would like to see a study about the balance points and how to achieve them.
Sure, what I meant is most companies will chose cheap-fast over good-fast, in my experience. Flinging crap out fast is sometimes seen as a valid business model (unfortunately): that crap is only expensive to you if you have to maintain it, but that's not your problem if all you're trying to do is to "exit". On the other end of the spectrum (like where I work at now for example), we take a lot of effort and time to ma…
Re: Investigating Higher Quality Software
#15Earlier quoted context omitted.
Is anyone willing to pay for it? Is there any non-trivial code that's been deployed that has been bug free? I mean, supposedly NASA paid $1,000 per line of code and still got 0.11 defects per 1,000 lines. By that metric, windows would cost $40 billion to develop, but it would still have 4,400 defects in it.
Yes, as DanWaterworth has pointed out, people have written large projects with entirely bug-free code (in the sense that it verifiably implements a formal specification). The way these projects are developed is very different from the process described by this article -- a lot of time is spent writing formally-verifiable proofs of correctness.
Re: Investigating Higher Quality Software
#16Earlier quoted context omitted.
Yes, as DanWaterworth has pointed out, people have written large projects with entirely bug-free code (in the sense that it verifiably implements a formal specification). The way these projects are developed is very different from the process described by this article -- a lot of time is spent writing formally-verifiable proofs of correctness.
I'm definitely not advocating throwing out agile and embracing waterfall. I like the ability to iterate quickly. I just think we seem to be taking "move fast and break things" a little too seriously in terms of breaking all the things. Everything in moderation.