14.01.2015 Views

Permission to copy, without fee, all or part of this material ... - PNSQC

Permission to copy, without fee, all or part of this material ... - PNSQC

Permission to copy, without fee, all or part of this material ... - PNSQC

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Collab<strong>or</strong>ative Techniques f<strong>or</strong> the Determination <strong>of</strong> a Best Alternative in a S<strong>of</strong>tware Quality<br />

Environment<br />

Dr. James McCaffrey<br />

Volt Inf<strong>or</strong>mation Sciences, Inc. / Micros<strong>of</strong>t C<strong>or</strong>p.<br />

presented at the Pacific N<strong>or</strong>thwest S<strong>of</strong>tware Quality Conference<br />

P<strong>or</strong>tland, Oregon<br />

Oc<strong>to</strong>ber 13-15, 2008<br />

== Introduction<br />

Consider the general problem <strong>of</strong> determining one best option from a list <strong>of</strong> alternatives, where the<br />

decision making process is collab<strong>or</strong>ative (perf<strong>or</strong>med by two <strong>or</strong> m<strong>or</strong>e people) rather than by a single<br />

person <strong>or</strong> by some purely quantitative technique. Examples <strong>of</strong> <strong>this</strong> type <strong>of</strong> activity in a s<strong>of</strong>tware quality<br />

environment include a group <strong>of</strong> beta users choosing the best user interface from a set <strong>of</strong> pro<strong>to</strong>types, and<br />

the members <strong>of</strong> a company <strong>or</strong> team voting f<strong>or</strong> some policy alternative. Situations where exactly one <strong>of</strong> a<br />

set <strong>of</strong> alternatives must be selected by a group <strong>of</strong> people occur in a wide range <strong>of</strong> problem domains, and<br />

different problem domains tend <strong>to</strong> use different terminology. In sociology, the study <strong>of</strong> <strong>this</strong> type <strong>of</strong> problem<br />

is usu<strong>all</strong>y c<strong>all</strong>ed social choice the<strong>or</strong>y, and typic<strong>all</strong>y uses terms like options and evalua<strong>to</strong>rs. In political<br />

science, analysis <strong>of</strong> these problems is <strong>of</strong>ten c<strong>all</strong>ed voting the<strong>or</strong>y and <strong>of</strong>ten uses the terms candidates and<br />

voters. In mathematics, group determination <strong>of</strong> a best alternative is frequently considered a sub-branch <strong>of</strong><br />

decision the<strong>or</strong>y. In a s<strong>of</strong>tware development and testing environment, a mixture <strong>of</strong> terminologies is<br />

typic<strong>all</strong>y used.<br />

Based on my experience, practical techniques f<strong>or</strong> perf<strong>or</strong>ming a group determination <strong>of</strong> a best alternative<br />

are not widely known in the s<strong>of</strong>tware quality and development communities. Dozens <strong>of</strong> group analysis<br />

techniques have been studied. This paper presents five <strong>of</strong> the most common methods used f<strong>or</strong> group<br />

determination <strong>of</strong> a best alternative in a s<strong>of</strong>tware testing environment:<br />

• The pure plurality technique<br />

• The maj<strong>or</strong>ity run<strong>of</strong>f technique<br />

• The B<strong>or</strong>da count system<br />

• The Cond<strong>or</strong>cet method<br />

• The Schulze method<br />

Each technique is explained with an emphasis on their application <strong>to</strong> s<strong>of</strong>tware quality. The techniques<br />

described in <strong>this</strong> paper apply <strong>to</strong> a fairly narrow range <strong>of</strong> problems and do not apply <strong>to</strong> strictly quantitative<br />

scenarios where a best alternatively is clearly defined, non-collab<strong>or</strong>ative scenarios where the decision is<br />

made by a single person, <strong>or</strong> scenarios where a group <strong>of</strong> people use discussion and negotiation <strong>to</strong> arrive<br />

at a consensus decision.<br />

== The Pure Plurality Technique<br />

The pure plurality technique is the simplest technique and one <strong>of</strong> the most common ways <strong>to</strong> perf<strong>or</strong>m a<br />

collab<strong>or</strong>ative determination <strong>of</strong> a best alternative -- but one which is not the best approach in many<br />

s<strong>of</strong>tware quality situations. Imagine you are developing a Web based s<strong>of</strong>tware application f<strong>or</strong> your<br />

external use and you create four significantly different user interface designs. Although you could ask a<br />

single person <strong>to</strong> choose the best design, in most situations a better approach is <strong>to</strong> ask a group <strong>of</strong> people<br />

<strong>to</strong> rank your four different pro<strong>to</strong>types. The process <strong>of</strong> perf<strong>or</strong>ming a collab<strong>or</strong>ative evaluation, and<br />

interpreting the results <strong>of</strong> the evaluation, are a bit trickier than you might expect. The pure plurality<br />

technique is simply <strong>to</strong> submit the alternatives <strong>to</strong> a group <strong>of</strong> evalua<strong>to</strong>rs and <strong>all</strong>ow each evalua<strong>to</strong>r <strong>to</strong> select,<br />

<strong>or</strong> vote f<strong>or</strong>, just one alternative. The alternative that receives the most votes is declared the winner.<br />

Suppose f<strong>or</strong> example, that you submit the four different pro<strong>to</strong>types (c<strong>all</strong> them A, B, C, D) <strong>to</strong> 10 evalua<strong>to</strong>rs,<br />

Excerpt from 2008 Proceedings<br />

<strong>PNSQC</strong>.ORG<br />

Page 2 <strong>of</strong> 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!