Judging the quality of software
time to read 2 min | 278 words
I found myself having some interesting discussions about quality, complexity and how to judge them.
More to the point, the difference between quality and fitness to use has came up.
My answer about judging quality was that I can judge that by applying generic software principals, which I have outlined here and by working with the software and seeing if it makes sense.
Make sense is hard to define easily. It is partly that the software is written in an understandable way, easy to work with, follow design guidelines and best practices and similar things.
My litmus test for that is the ability to go into a piece of software, and after a day or two (assuming that I understand the domain, of course), being able to work with the software.
I might not like it very much, but I will be able to work with it.
Trying the same with poorly written software doesn't really work, there is nothing to really grok there, and memorization and cursing is often your only alternative.
Subversion is a really amazing piece of software, I am working with it extensively, mostly by reverse engineering things, and
I keep throwing invalid input, at which point it:
- Errors
- Gracefully
- With a reasonable error message
- That makes sense
In general, if I go WTF more than two or three times while reviewing how I work with something, that is a very bad sign.
Comments
Subversion? you serious?
I have faced a few really WTF issues with it, in my experience it is very touchy and the error messages are REALLY bad, basically you are on your own, I should blog about some of those, I'm pretty sure I can reproduce at least 2 of those issues
the one I remember right now is doing something else (deleting or adding a file) while you are updating, you'll get some messages about locks and is really hard to get out of those, I did that accidentally when subversion took a long time to run, the way to "fix" it was to delete some files manually (tried the menus to acquare/releae locks)
That reminded me of the true quality measurement metric: WTFs/minute
Where I found it originally:
http://www.veracode.com/blog/?p=77
Comment preview