note
jeffa
I can't remember who created this list, but this is what
i was taught in college. This is a very generic list of
qualities, but one that should be reflected upon often:
<dl>
<dt>correctness</dt>
<dd>does the software behave as specified?</dd>
</dl>
<dl>
<dt>reliability</dt>
<dd>can we depend upon this software?</dd>
</dl>
<dl>
<dt>robustness</dt>
<dd>how well does software behave <i>beyond</i>
what it is required to do?</dd>
</dl>
<dl>
<dt>performance</dt>
<dd>is the software efficient? scalable?</dd>
</dl>
<dl>
<dt>user friendliness</dt>
<dd>human-computer interaction</dd>
</dl>
<dl>
<dt>verifiability</dt>
<dd>test test test!!</dd>
</dl>
<dl>
<dt>maintainability</dt>
<dd>be sure that whomever takes over your code does not
know where you live</dd>
</dl>
<dl>
<dt>resuability</dt>
<dd>can others use this wheel for their needs?</dd>
</dl>
<dl>
<dt>portability</dt>
<dd>does it run on other platforms? will a lot of changes be
required to do so?</dd>
</dl>
<dl>
<dt>understandability</dt>
<dd>can others understand your code? did you try to ensure
that others can understand it?</dd>
</dl>
<dl>
<dt>interoperability</dt>
<dd>how well does this software work with other
software?</dd>
</dl>
<dl>
<dt>productivity</dt>
<dd>measurement of the development process, not necessarily
how productive the software itself is</dd>
</dl>
<dl>
<dt>timeliness</dt>
<dd>ability to meet your deadline</dd>
</dl>
<dl>
<dt>visibility</dt>
<dd>is the documentation clear to internal and external
users of the software?</dd>
</dl>
<p>jeffa</p>
<font size=1>
<pre>
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(<a href="http://jeffa.perlmonk.org/tripdid.mp3">the triplet paradiddle with high-hat</a>)
</pre></font>
265561
265561