Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!psuvax1!psuvm!uh2 From: UH2@PSUVM.BITNET (Lee Sailer) Newsgroups: comp.sw.components Subject: Re: Schedule and budget are secondary Message-ID: <89286.104355UH2@PSUVM.BITNET> Date: 13 Oct 89 14:43:55 GMT References: <16168@vail.ICO.ISC.COM> <6693@hubcap.clemson.edu> Organization: Penn State University Lines: 74 <16187@vail.ICO.ISC.COM> <1189@mrsvr.UUCP> In article <1189@mrsvr.UUCP>, hallett@positron.uucp (Jeff Hallett x5163 ) says: >How does one specify a requirement for "user friendliness" or >"well-written"? > I know many will scoff, but you can measure these things. Just go ask a social scientist, eg psychology, sociology, anthropology. These guys measure such fuzzy things all the time. So, without further ado, here's a brief course in Measurement: What is a meausre? We have some concept from the world, like 'user friendly'. The domain is the set of all programs we are concerned with. We'd need a function that maps from the domain to something arithmetical, say the set of reals. That function is a measure if some features of arithmetic on the resulting reals behave in a way that reflects the behavior of the objects in the domain. Consturcting that function is the art of measurement. Example--User Friendliness Let's use a spreadsheet as an example. Prepare a test, say 8 or 10 problems that spreadheet users should be able to solve. To measure the user friend- liness of spreadsheet X, choose 100 typical users at random, give them some fixed amount of instruction, say 5 hours, and then give them the test. The average score of those 100 users on the test is a number, UF(X). Repeat for spreadsheet Y with a new group of 100 users. This produces a number UF(Y). In fact, for any spreadsheet Z there is in theory at least a number UF(Z), so UF: Spreadsheets ------> reals is (within some variability from group to group) a function. I contend that if UF(X) > UF(Y) then spreadsheet X is more user friendly than Y is, which makes UF an "ordinal" measure. Comments That's pretty expensive, isn't it? Yes, it is. Some things are easy to measure. The physical scientists snapped those up pretty early, eg length, weight, temperature, strength. Some things are hard, eg time, space, subatomic thingies, and nearly all the stuff social scientists are studk with. Do UF(x)-UF(y) or UF(x)/UF(y) mean anything? These arithmetic operations may not be used on our example measure, UF. However, techniques for creating scales where these operations may be used are available, eg Magnitude Scaling. Where can I learn more? The library, or course, is full of books. Start with Research Methods in _______________, where the blank is any social science. Measuring "well-written" Give the code to the quality control team. They study the code, and then introduce bugs on purpose. Give the code to another team that debugs it. This produces several numbers: the number of introduced bugs they find, the number of introduced bugs they correctly fix, the number of new bugs they find. high scores for the first two indicate well-written code, and high numbers for the second indicate poorly written code. That's three measures. You might stick them together with something like WW = (measure1 + measure1)/measure3 Is this fuzzy and squishy? Yes, of course it is. More money poured on the process would make the measurement more precise, valid, reliable, and so on, but may not be worth it. lee