Quiz #2– Cooper/Brooks

Answers

 

CIS385 – September 30,  2004

Matching

 

The answers to #1 to #56 are found in the Answer Bank.  Give the letter of the correct answer.

 

(1-9) Identify these basic terms:

1. The belief that product improvement consists of adding features.

Featuritis

2. The resistance encountered by a human intellect when it engages with a complex system of rules that change as the problem permutes.

        cognitive friction

3. Extreme anger and frustration engendered by poorly designed software products.

        Techno-rage

4. Software that is bulky, but “marvelous” because of what it can do.

        Dancing bearware

5. Software that is overloaded with features that most users do not use.

        bloatware

6. Those in the user community who are adamant in support of software, regardless of its design flaws.

        apologists

7. Those in the user community who use the software enduring its poor design.

        Survivors

8. The negotiating process engaged in by programmers vis a vis designers characterized by focusing on a product’s features instead of its overall unity of design.

        Feature list bargaining

9. The product development process characterized by scattering development effort among a variety of products in the hopes that a few will be successful.

        Spray and pray funding

 

11. We cannot say that the cause of the crash of American Airlines Flight 965 was a clear case of pilot error because the _____ was a contributing factor.

          design of the navigation program

 

(12-14) What 3 undesirable properties of software products do manufacturers ignore?

12. They are . . .

        hard to use

13. They are . . .

        hard to learn

15. They  . . .

        diminish and degrade their users

 

16. What solution does Cooper propose regarding the problem of cantankerous software?

        interaction design

 

17. What is the point of the dancing bear metaphor?

        we marvel that the bear dances at all

 

19-20. Why do we put up with bad software products?

        we need them

        we think the collateral costs are unavoidable

 

21-22. The goals of the programmer differ from the goals of the user in the following way: The programmer wants the _____ to be smooth and easy.

The user want the _____ to be smooth and easy.

construction process

            interaction with the program

 

23-24. The “personas-tool” of Cooper is used in the following manner: develop a _____ of the user and what he _____.

          precise description

wishes to accomplish

 

25. Personas are not real people, but they are . . .

        hypothetical archetypes of actual users

 

26. Personas are defined by their . . .

        goals

 

27. From the mini-sports-truck problem we learn that you achieve far greater success by designing _____.

        for a single person

 

28. Why did the chairman of Chrysler produce the Dodge Ram pickup when 80% of the people in a preliminary study hated it?

        because the other 20% loved it

 

29. The broader the target you aim for . . .

the more certain you are of missing the bull’s eye

 

According to Brooks . . .

30. What is the tar pit?

        large system programming

 

31. What is the main reason large software projects go awry?

        lack of calendar time

 

32. Regarding the end to end nature of tasks, as the number of tasks to be done sequentially increases, the _____ decreases.

probability of on-time completion

 

33-34. The man-month as a unit of measuring the size of a job is a _____ and deceptive _____.

dangerous

myth

 

35-36. _____ varies as the product of men & months; _____ does not.

cost

progress

         

37. Men and months are interchangeable only when . . .

        tasks can be partitioned

         

(38-39) Tasks are not partitionable when. .

38.

39.

Communication among workers is required

        the task has sequential constraints

         

40-41. It is dangerous to underestimate testing time because discovery of errors near the end of a scheduled deadline is too late _____.  Project delay at this point has _____.

     for proper response

     severe financial & psychological repercussions

         

42-43. Urgency can govern _____ completion, but it cannot govern _____ completion.

scheduled

actual

 

44. If a task is partitionable then . . .

        the number of workers and the time vary inversely

 

45. If a task is not partitionable then . . .

        adding more workers has no effect on time

 

46. In what way does the mini-sports-truck metaphor relate to the Reims Cathedral example touted by Brooks?  Why did Brooks single out that cathedral of the many found in Europe?

unity of design leads to structural coherence

 

47. The surgical team framework implements this concept because _____ are promoted by giving the chief programmer (the surgeon) responsibility and authority for the architectural design of the software construct

unity & coherence

 

(48-56) Complete these quotes from Brooks:

48. The purpose of a programming system is to make a computer _____.

easy to use

 

49. Ease of use is enhanced only if the time gained in functional specification exceeds the time lost in _____.

learning, remembering, and searching manuals

 

50. The ratio of _____ is the ultimate test of system design.

function to conceptual complexity

 

51-52. Simplicity and straightforwardness proceed from _____.  Every part must reflect the _____ and the same balancing of desiderata.

conceptual integrity

same philosophies

 

53. _____, then, dictates unity of design, conceptual integrity.

ease of use

 

54. The separation of _____ is a very powerful way of getting conceptual integrity on very large projects.

architectural effort from implementation

 

55-56. _____ tells what happens, _____ tells how it is made to happen.

architecture

implementation

 

Short Answer

 

57. State Brooks’ Law.

Adding more manpower to a late project will only serve to make it later.

58. State Cooper’s Corollary to that.

Adding features to a overly complex system will only make it more complex.

59. What caused the crash of American Airlines Flight 965?

Pilot selected ROMEO instead of ROZO from a list of destinations supplied by navigation computer program.

 

60. Why does Cooper say that you get a computer when you cross a computer with a camera, since the camera still takes pictures?

        because it behaves like a computer instead of a camera

 

61. How do most manufacturers view “product improvement”?

        adding of features

 

62. How does Cooper apply the image of “clearing a minefield” in his critique of product development?

        Supposedly, minefields were cleared by the Soviets by marching soldiers through them; some products are “debugged” by springing them on the unsuspecting public and letting them find all the errors through encounter.

 

63. What does Cooper say about the “momentum of programming”?  What role did this phenomenon play in the problems Brooks encountered in the OS 360 operating systems project?

        If design and programming proceed in parallel, as programmers begin work, their needs, preferences and perspective begin to affect the design process even to the point of setting the product schedule.  Since he allowed programming to being before the design phase was completed, the momentum of programming interfered with design, contributing to cost overruns and schedule slippage.

 

64-65. Give Brooks’ Rule of Thumb for scheduling a software project

                1/3 planning

                1/6 coding

                1/2 testing Ž 1/4 component testing;

                                  1/4 systems testing (all components in hand)

 

66-68. Relate the following:

          Cooper – user’s goal; cognitive friction

          Brooks – unity of design; conceptual integrity

In what ways do Cooper and Brooks agree or disagree?

Cooper & Brooks agree that the purpose of a programming system is to make the computer easy to use.  The user’s goal, according to Cooper is not to be made to feel stupid.  For this the software should be intuitive and easy to use, i.e., not generate cognitive friction.  According to Brooks, unity of design and conceptual integrity promote ease of use.  Cooper also sees design as the key to ease of use.  He goes one step further to say that the design process should focus on the user’s interaction with the system, hence, the pre-eminence of interaction design.  All in all, amazing agreement be two persons working in different time periods and vastly different stages of development of computer hardware and software.