Techniques are described for determining the quality of software using
fuzzy logic. The techniques include using linguistic variables to
translate a numeric value of a quality attribute into a linguistic value
of a quality attribute. The linguistic values of multiple quality
attributes are aggregated into a quality rating of the software. The
quality rating then is used to predict a performance attribute for the
software. Techniques are described that may help improve the accuracy of
the prediction, including refining software quality parameters based on a
comparison of the parameters with software quality of the developed
software. The techniques also include the ability to modify the quality
attributes used based on the computing environment, the organizational
environment or other characteristics.