Machine learning has been incredibly successful. We are drowning in choice as to how we can build software {\em quality optimizers}, programs that find project options that change quality measures like defects, development effort (total staff hours), and time (elapsed calendar months). This paper presents a general strategy and specific implementation for {\em contrast set learning}, a means of determining what separates two distinct populations. We expand upon previous work with {\W}, a simple, calibrationless, model-agnostic, case-based reasoning algorithm that implements contrast-set learning.

The optimized {\W}2 algorithm performs as well as our previous {\W} algorithm, runs in linear time, and is easier to explain. We show a worked example where {\W}2 is applied to a hypothetical instance of Brooks' Law, where a project has recently brought onboard a large number of inexperienced programmers.

We present an extended certification of {\W}2's performance across multiple, arbitrary datasets as well a practical example of {\W}2's performance against drastic management decisions. We demonstrate that {\W}2 performs just as well or better for reducing software cost across multiple goals such as development effort, project defects, and completion time.

%\emph{\textbf{Background:}} There are many data mining methods but few comparisons between them.
%For example, there are at least two ways to build {\em quality optimizers}, programs that find 
%project options that  change quality measures like defects, development effort (total staff hours), and
%time (elapsed calendar months).
%In the first way, we 
%construct a {\em parametric model}  to represent prior software projects. In the second way,   we just apply 
%{\em case-based reasoning} to reason directly from  historical cases.

%\emph{\textbf{Aim:}} To assess case-based reasoning vs parametric modeling for quality optimization.

%\emph{\textbf{Method:}} 
%We compared the {\W}  case-based reasoner against
%the SEEWAW parametric modeling tool.

%\emph{\textbf{Results:}} {\W} is easy to explain and fast to build. It
%makes no parametric assumptions and hence can be rapidly applied to project data in many formats.
%SEESAW is an elaborate tool that can only process project data expressed in a particular ontology (i.e. just
%the COCOMO attributes). It is also slower to execute than {\W}.
%In
%24 different tests comparing {\W} and SEESAW, 
%{\W} always performs at least as well as SEESAW. In 6 of those tests {\W} performed statistically better (all tests used Mann-Whitney, 95\% confidence).
% Lastly, like any CBR method, it comes with a built-in 
%maintenance strategy (just add more cases).

%\emph{\textbf{Conclusion:}} The {\W} case-based reasoning tool is recommended over the SEESAW parametric modeling tool (except in the case where there is no local data).

