Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

45KB

The Psychology of Computer Programming — Back-Matter: Index, publisher catalog, and back cover

  • Source: /library/The Psychology of Computer Programming/source-file.pdf
  • PDF pages: 347–364
  • Pages without text: none

Index abbreviations, ambiguity, psychological versus physical, 222-223 arbitrary use of, 224 analytical mind, 137 as compression, 225-226 anteroom, information exchange in, 51 and documentation, 267 anthropology, 39 ability, differences in, 135-136 contrast with sociology, 37 acceptance testing, 75-76 participant observation, 31 access to machine room, 110-111 of software, xii ‘ accounting, 253-254 antisocial behavior, 87-88 as observation tool, 31-32 APL, 12.1 ACM Special Interest Group on Personal success of, 238 Research, 37 appearance of work, reward for, 109-110 Activity Vector Analysis, 157 Appley, M. H., 199 adaptability, 20-22, 150 Applied Data Research, P4.i, P4.ii in debugging, 166 appointed leader, 80-82 of a democratic group, 81-83 archeology on programs, 12, 39 and egoless programming, 59 arithmetic reasoning, and programming aptitude, and language, 240 173-174 of a language, 236-237 Aron, Joel, 113, 140 to operating environment, 256-258 arousal, 248 administrative assistant, as status symbol, 111 array operations, and linearity, 232 administrative terminal system, 264 Asch, S. E., 93, 103-104, 115 admission of weakness, 189 assembly language, ADR, see Applied Data Research block structure in, 224 aggressiveness, 53 influence on JCL, 233-234 _ Algol, 12.ii assertiveness, 150 Allport, F. H., 93 assumptions, ally, in pressure situations, 104-106 in a psychological study, 259 amateur programming, 122-125 role in debugging, 165-166 language for, 212 attachment to a programming language, 212 281

282 Index attitude, professional versus amateur, 125-126 about women, 111-112 attributes, shown in documentation, 267 audition for programming, 175-176 auditory learning, 193-194 Austrian Army model, 6.ii authoritarian, 78-79, 86-88 authority, reactions to, 147 avoiding problems, 164-166 awards, see reward background, for programming, 69, 184-185 bad programming days, 57 Bakunin, Mikhail, 119 Ballachey, E. L., 93 Barnum, P. T., P1.i batch, and beginners, 190 simulated on-line, 32-33 social structures associated with, 48-49 versus time-sharing, 259-262 batch-processing center, 4.i Bates, Marilyn, 8.i bebugging, 248 behavior, observation of, 3.i, 3.ii benefits, and employee satisfaction, 80 Berkeley, Edmund C., 272 Biamonte, A. J., 177 Bierce, Ambrose, 39 bit-picking, 76 blackboard, importance of, 207 blame analysis, 3.i blame, protection from, 12.i blanks, 186-188, 233-234 blind programmers, 11.i block structure, with assembly language, 244 and linearity, 232 shown in documentation, 267 bonus, importance of, 183-184 boredom, 96 Bouvard, Jacques, 14 Bower, G., 200 branching, 232 broadcast transmission, 207 Brown, J. A. C., 41 Bruner, Jerome, 208, 215 Bucholtz, Werner, 14 bundled software, legal challenge to, P4.ii Burton, N. G., 245 Buxton, J. N., 115 C, 12. ii call, reference versus value, 221 Cannon, W. M., 154, 159 capability, development of, 5.i capacity, mental, 224-229, 277 system, 237-238, 277 categories, covert, 220, 245 challenge, and motivation, 99 and program design, 126-128 and satisfaction, 79-80 change in personality, 143-145 character set, effects of, 221 cheating, on personality tests, 155 in school programming, 199 chief programmer teams, 94 chunking, 225 clarity of goals, 76-78 closed shop and status, 110 COBOL, xiii, P4.i, 12.i goals of, 239-240 coding, 76 requirements for, 132 Cofer, C. H., 199 cognitive dissonance, 54-56 and avoidance of extremes in reporting, 103 and goal acceptance, 76 commands, batch versus on-line, 33 comments, arbitrary placement of, 224 failure to close, 260 in JCL, 233-234 stripped from listing, 266 study of, 164 commitment to goals, 76 common room, communication functions of, 49 communication, versus adaptability, 237 asymmetry of, 208 of objectives, 130-131 operators and programmers, 141-143 compatibility, and efficiency, 23 machine to machine, 8, 22 of team members, 5.ii competence of supervisors, 80 compiler, diagnostics, 29 performance measures, 16, 23 compile-time facilities and adaptability, 237 complementary leaders, 85 complex tasks, motivation in, 182-184 compliance, 53 composition of programming teams, 69, 5.ii, 184- 185 compression, 224-229 versus locality and linearity, 231

through positional parameters, 252 and testing, 249-250 compromise, false, 82-84 Computer Personnel Research Conference, 42, 200 computing center, informal structure of, 48-49 confidence, effect on testing, 247-248 conflict, between goals, 77-78 and social climate, 108 connotative function of language, 208-210 consensus, false, 76 conservatives, liking for, 156 constraints on subject behavior, 32 consulting service, 49-50 contextual declaration, 227 continuation cards, 186-188 contractors, 5.ii conversion problems, 73-76, 5.ii cooperation, 5.i coordination, amount required, 69 among teams, 95 coping stances, 8.i Corbato, F. J., 66 correcting errors, 136 correlation coefficient, 172-173 cost, decrease per unit of computation, 25 of documentation, 264 of not having program on time, 19-20 of psychological studies, 33-35 covert categories, 220, 245 creative communication, as a challenge to pro- gramming, 9.ii creative thinking and problem solving, 9.i creativity in design, 168 crisis, group reaction to, 81-83 the team in, 85-91, 5.iii critical case, for learning, 197 Cronbach, L. J., 42, 159 cross-cultural study, 85-86 CRT in debugging, 274 Crutchfield, R. S., 93 culture, 39, 3..iii data, versus information, 32 data structure, choice of, 29 and compression, 226 in special purpose languages, 240 dead-end techniques, 190-191 debugging, and accounting information, 253 aptitude for, 169, 174-175 documentation for, 264-267 Index 283 proper placement of aids, 251-253 role of set in, 162-164 technique for consulting, 165-166 decision tables, 244 in documentation, 267 declaration of data types, arbitrary, 29, 224 implicit and contextual, 227 placement of, 230-231 default, compression by, 227-228 dehumanization, 211-212 delimiter, blank as, 233 deliverables, as basis for judging managers, 4.iii delivery service and social structure, 52 DeMarco, Tom, 4.i democratic, leadership of group, 81-85 team, 86-88 demonstrations, 111 depth of documentation, 263 design features, of natural language, 206-208 of programming language, 30-31, 210-214, 218-245 designated leader, 80-82 detachment, 53 detecting errors, 136 devil’s advocate, 105-106 diagnostics, 16 more explicit, 29 value of, 23-24 dialects, 245 dialogue, man-machine, 208 terminal possibilities, 223 difficulty of a program, 165 Dijkstra, E. W., 176 dimensions, number of, 30-31 directional reception, 207 dishonesty, in a manager, 82 dissonance, see cognitive dissonance distance, 162-163 of reference, 249-250 distortion of information, 82 diversity of schooling, absence of, among modern programmers, 10.i Dixon, Paul, 244 document production, as a specialized task, 13.iii documentation, 262-266 abilities required for, 132, 169-170 distaste for, 183 for modification, 21 prestige of, 107-108 Psychology as a source of, 13..iii drive, 181 dummy arguments, 221

284 Index duplex system, errors in, 75-76 early returns, effect on testing, 250-251 education, 184-188 effectiveness, opposed to efficiency, 25, 2.i efficiency, 2.ii and egoless programming, 60 false, 127 measures of, 22-25 and subscript limitations, 222 egalitarian teams, 72 ego and programming, 52-60 ego-full programming, 13.i egoless programming, 4.ii and documentation, 268 and efficiency, 60 and personality requirements, 146-147 and team structure, 72 Einstein, Albert, 3 elevators and informal structure, 51 elision of cases, 227 e-mail, 4.i emotive function of language, 208-209 enforcement of rules, 256 enthusiasm for terminal systems, 189-190 environment, enrichment of, 258 for learning, 193-195 of a program, 21-22 error, automatic correction of, 273 and ego, 52-60 extinction curve, 259-260 intentional introduction of, 248 location of, 162-164 and turnaround, 254-255 esthetics of a program, 209 estimating, of efficiency, 24 and egoless programming, 59 influenced by objectives, 130-131 and operating system priority, 256 optimism and, 5.i and team structure, 68-69 variance in, 20 ethical problems, 31-32 of using personality tests, 153 evaluation of programmers, through accounting, 253 through introduced bugs, 248 exceptions, effect on locality, 232 effect on memory, 218-224 executive appreciation courses, 124-125 executives, P1.i experience, as factor in subject selection, 33-35 and team structure, 68, 70-72 as training, 185 experienced programmers, selection of, 175-176 temptation to hire, 64 experiments, 32-34 extensibility, in languages, 216 of techniques, 190-191 extremes, avoidance of, 103 fading of utterances, 207 failure, fear of, 189 reasons for, 113 false consensus, 76 familiarity with first programming language, 212 family therapists, 5.iii Fano, R. M., 66 father figure, played by manager, 84 as task specialist, 85-86 favored modes of perception, 193-195 feedback in reporting systems, 102 Festinger, L. A., 54, 66 files, benefits of eliminating, 238 filtering of progress reports, 100-104 first-level manager, 109 Fisher, Ronald A., 21, 26, 240 fixation on a programming language, 104 flexibility in debugging, 166 flow diagrams, 264-265 folk wisdom, 36-37, 183, 262 followership, 78 forgetting, importance of, 171 formal languages, 210 formal leader, 81-82 formal organization, 47-50 formation, of a group, 63-64 of a team, 68-72, 89 former programmer, as manager, 76, 80 FORTRAN, 12.i Freedman, Daniel, xiii Freedman, Norie Yasukawa, xiii Freud, Sigmund, 28, 41 Friedan, Betty, 115 functions, for compactness, 226 Fundamental Theorem of Natural Selection, 21, 240 Gagne, Robert, 115 Gates, Bill, 2.i Gause, Don, xiv

Geller, Dennis, xiii, xiv General Electric Co., 31 generality of program function, 168 generic functions, effect on coding, 9 lack of capability, 226 need in subsetting, 228 genius, language designers, 211, 11.ii programmers, 58, 62-63 geometric figures, on aptitude tests, 173 Gerard, H. B., 93 gestalt, 169 Ghiselin, Brewster, 178 Gilb, Tom, 13.ii Gleser, Goldine C., 159 global variables, placement of, 230 GO TO, elimination of, 232 goals, P2..ii of education, 197-198 effect on estimates, 130-131 establishment of, 72-78 imposition by management, 81-82 multiple, 69-70 Goetz, Marty, P4.ii Goffman, Erving, 66 Golde, Peggy, 41 good programming days, 134 Gotterer, M., 177 graphic skills, 170 Greenberg, Joseph H., 215 Gresset, G. L., 273 group, cost of studying, 35 defined, P2.i effect on learning, 189 growth stages in team life, 89-90 Gruenberger, Fred, 14 gypsy programmers, 58, 81 habits, for better programming, 163-164 working, 194 Haire, Mason, 66 Hall, C. S., 159 Hall, Douglas T., 200 Hall, Edward T., 66 Hammond, K. R., 42 Hammond, Phillip, E., 42 hands-off management, 90-91 hardness, 85 hardware, see machine hardware group, 106 hash table, 22 Hawthorne Effect, 31, 3.ii Index 285 headship, 83 heterogeneity, of programming group, 184-185 hexadecimal, as chunking, 225 hierarchical organization, 106-109 in teams, 72 Higman, Brian, 216, 222 Hilgard, E. R., 200 hiring, ethics of, 153 policies, 53 historical traces in code, 11-12, 1.i Hoare, C. P.R., 113 Hockett, Charles, 206, 215 homographs, as mnemonics, 164 hot-box technique, 84-85 Householder, J. E., 42 human factors, 42 human interface design, xiii humility, 150 Hunt, J. M., 178 Hyman, H. H., 42 IBM, 10.ii, P4.ii and Programmer’s Aptitude Test, 171 System/360, 12.i Vienna Laboratory, 241, 12.ii ideal programmer personality, 146 idiosyncrasies, language provision for, 237 IF-statement and linearity, 232 image, of a programming group, 66 of the programming profession, 52-53 implementation, effect on coding, 9 implicit declaration, 227 incompetence, detection of, 87 effects of, 77 indispensable man, 99-100 individual, differences, 261-262 learning, 194-195 personality of, 5.ii in programming, 35, P3.i psychology of, 39 skills of, 5.ii as unit for study, 259 individualistic school of programming, 63-64 indoctrination, 63-64 industrial psychology, 31 influence, 80 informal organization, 47-50 information, versus data, 32 making full use of, 195-197 processing capacity of human beings, 225 information content, 218

286 Index inhibition, retroactive and proactive, 236 innovation in a programming language, 207, 232- 237 insecurity, as source of contempt, 204 insubordination, 79 integration of software tasks, 13.ii intelligence, as a factor in success, 9.i stability of, 149 interaction effects, 261 interchangeability, of language, 207-208 of people, 108 interest, measurement of, 156-158 and satisfaction, 79-80 interfaces and team structure, 71-72 intermediate storage, effects on coding, 8 interpersonal skills, programmers’ supposed lack ofertas interviewing, 157 intimidation by systems programmers, 77 introspection, 30 in programmers, 3.i invariants of personality, 145-148 involvement in planning, 183 IQ tests, 170-171 lrons, Eat.,273 isolation, of a program, 122 of programmers, 52 iteration for compactness, 225 Iverson, Ken, 223, 12.i Jackson, Michael, 10.i James, William, 28, 41 job control language, learning, 34, 186-188 syntax problems, 233-234 Jones, E. E., 93 Jordan, Michael, 10.i Junker, Buford H., 41 Kanowitz, Lee, 115 Keats, John, 209 Keirsey, David, 8.i Kelvin, Lord, 3.iii keying errors, 224 key people, 96-100 keyword, parameters, 252 setting off, 266 as variable names, 223-224 Klerer, M., 223, 244, 266, 274 knuckling under, 81 Kohn, Hans, 94 Krech, D., 93, 181 Kropotkin, Peter, 45 Kuder Preference Test. 157 labels, as mark of poor programming, 232 languages, confused with operating system, 261 dimensions of, 206-210 late delivery, cost of, 19-20 Laver, Murray, 14 law of effect, 256-258 Lawler, Edward E., 200 leadership, 78-85 team, 5.ili technical, 5.ii learning, method of, P2.ii professional versus amateur, 125 rate of, 102 transfer of, 235-236 through varied assignments, 135 Lecht, Charles P., 139 lecturing, effectiveness of, 186-187 Leeds, H. D., 274 left-to-right rule, 223 length of program, physical versus psychological, 225 letter series, on programmer aptitude tests, 174 levels of parentheses, 29-31 library, group, 106 private, 124 of works to study, 1.i Licklider, J. C. R., 245 lifespan of a program, 20-21, 126 limitations, language versus programmer, 213-214 of mental capacity, 224-229 Lindzey, G., 93, 159 linearity, 229-232 lines of control versus lines of information, 106 linguistics, 215, 244-245 Lister, Tim, 4.i literals, and locality, 230 stripped from listing, 266 load adjustment, to lessen variation, 24 local variables, placement of, 230 locality, 229-232 and testing, 249-250 localization, 169 locating errors, 136 lock-in, in social structures, 61-64 in testing, 251 lock-step programming, 134

logging of data, 32 London, Ralph L., 273 long-term group behavior, 91-92 long-term memory, 171 looping and linearity, 232 looseness in a language, 234-235 Lovelace, Lady, 206, 226 low-level operations with high-level results, 227 loyalty, to project and team, 107-108, 6.i Luria, A. R., 178 Lynch, Kevin, 65 machine, effect on coding, 7-8 importance of experience on, 185-186 reaction to trouble, 135 machine language, versus assembly language, 204 prestige of, 213-214 problems with, 22 machine time, adaptation to limits, 79 demands on, 134 variation in use, 129 Magic, 12.ii maintenance, 1.i maintenance-oriented activity, 85 management, emotional dimensions of, 6.ii information systems, 102 manager, appreciation of programming, 124-125 awareness of, 124, 6.ii change of, 78-79 competence of, 80 former programmer, 76, 80 goals of, 83-85 image of egoless programming, 61-64 remoteness of, 109-111 rewards of, 82-85 second-level, 95 status symbols of, 110-111 woman as, 5.ili, 111-112 manipulative management, 82 man-machine communication, asymmetry of, 208 manuals, non-use of, 213 Marcus, Bob, xiii material culture, 39 material rewards, and satisfaction, 79-80 Maxwell, J. C., 36, 3.iii May, J., 223, 244, 266, 274 Mayer, David B., 156-158, 159, 173, 176, 177 MBTI, see Myers-Briggs Type Indicator McCarthy, Jim, 6.ii measurements, 3.iii, 6.i choice of, 35-38 Index 287 of programming performance, 100-106 memory, 167-170 dump, 11.i and information content, 218, 225 short-term versus long-term, 171 synesthetic versus sequential, 229 Mendelssohn, Kurt, 94 messages, motivational qualities of, 213-214 from operating systems, 207-208 metaCOBOL, P4.i, 12.i metadesigner, 12.i metalanguage, 208-210, P4.i, 12.ii and adaptability, 237 Metzger, Phillip W., 139 Meyer, Marshall W., 115 Miller, George A., 216, 245 Mills, Harlan D., 94, 274 Minnesota Multiphasic Personality Inventory, 153 Minsky, M., 245 MMPI, 153 mnemonic symbols, 163-164, 224 and locality, 230 modifications, 133 of amateur programs, 123-124 — design for, 20-22 to documentation, 264 temporary, 11-12 money, as a means of obtaining loyalty, 6.i as a substitute, 97-98 as a symbol, 184 monitoring of execution, 16, 23-24 moral problems, 31-32, 145 Morgenstern, Oskar, 42 Morrison, Phillip, 215 mother figure as maintenance specialist, 85-86 motivation, 181-184, 10.i to conceal information, 103 for documentation, 267-268 by messages, 213-214 multiprogramming, efficiency estimates in, 24 multipurpose language, 237-241 multi-use symbols, 266 Myers, Isabel Briggs, 8.i Myers-Briggs Type Indicator, 4.ii, 8.i, 10.i myths, in programming, 39 names, automatic changing of, 267 choice of, 223-224 detection of pattern in, 250 natural language, 11.i and sense of rightness, 232-233 naturalness of right-to-left rule, 223 Naur, Peter, 115

288 Index neatness, 150 New York Yankees, 2. night people, 194 noise and performance, 194 note-taking and learning, 194 nuclear family, 85-86 number series on programmer aptitude tests, 173- 174 objectives, ambiguous, 128-131 object-oriented languages, 11.i, 11.ii observation, 30-32 obsolescence, of a manager, 109-110 octal as chunking, 225 official leader, 81-82, 5. iii Okimoto, G. H., 164, 178 on-line systems, and beginners, 190 design of, 152 used to simulate batch, 32-33 ON-unit, non-local action of, 231 operating statistics, publication of, 255 operating system, 2.i, 251-258 confused with language, 261 and social structure, 52 operators, redefinition of, 237 opinion survey, problems of, 183 opinions and social pressure, 76, 103-106 optimism in testing, 247-248 organization, formal versus informal, 47-50 system and team, 73-76, 5.ii OS/360, training for, 186-188 outgrowing a language, 238-240 output, full use of, 195-196 overdesign, 126-128 overlay, for compression, 227 non-local action of, 231 overmotivation, 182 overparenthesizing, 223 paging, avoiding excess, 24 palindromic programs, 174 paradox of leadership, 85 parentheses, differentiating levels, 266 matching of, 29-30 redundant, 220-221 Parkinson, C. Northcote, 68, 93, 132 Parsons, Henry M., 42 participant observation, 31 participation and understanding, 76 Parzen, Emanuel, 272 Pascal, 12. PAT, 171 pathological programs, 19 patience in documentation, 170 pattern, detection of, in code, 250 patterns movement, 1.i perception, 164 favored modes of, 193-195 performance, affected by equivalent language forms, 235 and arousal, 248 effect of group on, 189 failure of tests to predict, 156, 172-173 measurement of, 100-106 and motivation, 182-184 and sharing of goals, 73-75 Perry, D. K., 154-157, 159 persistence in debugging, 136-137 personal computer, effect on learning, 10.ii influence on tool development, P4.ii personality, 4.ii, 9.1 differences, 8.i distortions in, 212 “incongruent” stances of, 8.i traits, 53 phases of program, and team structure, 71-72 phases of work, effect on success, 168-170 and team structure, 89-90 phatic function of language, 208-209 physical environment, 50-52 Pietrasante, Al, 139 Pioreck, Brian, P2.ii, 4.i PL/C Compiler, 273 PL/I Language Log, 14, 12.i Plum, Tom, xiii poetic function of language, 208-209 point of view, ability to change, 169 tools for changing, 266-267 Polya, George, 178 positional parameters, 252 precision, in arithmetic, 8-9 in goals, 76-78 in psychological studies, 37-38 rules for, 29 prerequisites for using documentation, 263 pre-selection of programmers, 148-149 pressure and learning, 196 prestige, importance of, 183 of a language, 213-214 of programming tasks, 107 ina team, 72 prima donnas, 61-62 principles, acquisition of, 187-188, 212

priority, granting of, 255 as a status symbol, 111 private life, 145 proactive inhibition, 236 probability, and testing, 248-249 problem avoiding, 164-166 problem definition, xiii, xiv problem solving, 3.i, 164-166 application of research in, 38 Problem-Solving Leadership Workshop, 3.i, 5..ii, 5.iii Proceedings of PL/I Seminars, 243 production, and learning, 196-197 reliability and group structure, 81-83 productivity, and egoless programming, 136 language feature, 208 reduced by conflict, 89-90 versus training, 69-70 and working conditions, 31 professional programming, 122-125 language for, 212 profile, personality, 154-158 Programmer’s Aptitude Test, 9.i, 171-176 Programmer’s National Anthem, 152 programming, as human behavior, 1. studying, 3.i programming language, 205-216, 11.i, 12.i dead-end, 191-192 design, 210-214, 218-245 effect on coding, 9-10 fixation on, 60 learning versus use, 190-192 progress reporting, 100-106 and project structure, 133 progressives, liking for, 156 project design, staggered, 134-135 project predictability, 3.iii promotion, importance of, 183 leading to dissatisfaction, 97-98 of maintenance specialist, 85 prompting of amateur programmers, 123 proofreading, 162 property-oriented programming, 53-56 psychological studies, exaggeration in, 135-136 psychological testing scaling effects, 103 public relations, group, 106 quality, of code, 2.i importance of, 183 Index 289 raise, importance of, 183-184 leading to dissatisfaction, 97-98 Randell, Brian, 115 reading programs, 5-14, 1.i and egoless programming, 60 recoding of information units, 225 redundancy, measure of, 245 and syntax checking, 228-229 reference table in documentation, 267 referential function of language, 208-210 Reinstedt, R. N., 172, 177 relationship rules on aptitude tests, 173 reliability of compiled code, 16 remote job entry, introduction of, 257-258 social structure, 52 remoteness of leadership, 109-111 reorganization and team loyalties, 106-107 replacement, of non-cooperating managers, 83-85 of a team member, 86-87 reruns, cost of, 23-24 resolution of conflict, 78 resolution level of timing information, 32 responsibility, unwanted, 97-98 restrictions in a language, effects of, 213-214 retroactive inhibition, 236 reward, for accurate reporting, 103 for appearance of work, 109-110 for developers, 6.i of a manager, 82-85 misapplied, 165 right-to-left rule, 223 rigid personality, 153 rigidity of programming language, 211 root cause analysis, 3.i Rorschach Ink Blot Test, 153 Rosen, S., 139 Rosenthal, Robert, 272 Rosin, Robert F., 272 Rubey, Raymond J., 243 Russell, Bertrand, 39, 203 Sackman, Harold, 32, 34, 37, 42, 178, 199, 256, 259, 261, 272 salary, importance of, 183-184 and programming mystique, 3-4 Salsbury, R. G., 272 Sammet, Jean E., 139, 216, 239, 241, 244 Satir, Virginia, 5.iii, 8.i satisfaction with a special-purpose language, 238- 239

290 Index saving face, 77 schedule, 19-20 and egoless programming, 59 and team structure, 68-69 schooling, 184-188 Schulman, Ed, 7.i scope, of application of a program, 126-128 shown in documentation, 267 of work, 183 scoring, of Strong test, 157 Seashore, Charlie and Edie, xv second language, learning of, 212-213 second-level manager, 95, 109 secretary, as status symbol, 111 selection of programmers, with experience, 175-176 as experimental subjects, 33-35 mistakes in, 148-149 by self-selection, 52-53 for various tasks, 107 selective memory, 171 selectivity, in design, 168 self-describing documentation, 263-265 self-esteem, as a root problem, 6.ii self-fulfilling prophecy, 100, 154-155 self-image, damage to, 54 self-selection, 52-53, 149 selling of goals, 81 semantics, exploration of, 221 and syntactic looseness, 235 sense of humor, 152 sequential memory, 229 service group, goal problems, 77 set, 162-164 tools for overcoming, 266-267 sex, and status, 111-112 sexist language, 2.ii, 5.iii Shannon, C. E., 245 SHARE organization, P4.ii sharing of group goals, 73 Shaw, C. J., 244 sheltering programmers, 124 Shneiderman, Ben, xii, P3.i shortage of programmers, effect of, 79-80 shortcuts, temptation of, 68-69 short-term group behavior, 91-92 short-term memory, 171 Silver Anniversary Edition, reasons for writing, xii similarity of language and inhibition effects, 236 simplification, in amateur programming, 122-124 Simula, 11.ii, 12.i simulation of batch by on-line, 32-33 size, of program, 122 of programming teams, 69 of statements, 29 skills, acquisition of, 187-188 slack, 106 slippage in documentation, 265 small group behavior, 91 Smalltalk, 12.1i Smith, B., 245 smooth operation, and smooth reporting, 103 social activity in programming, 35 social contact and operating systems, 257-258 social environment, restructuring of, 56-60 social organization, and physical environment, 50- 52 social pressure, effects on reporting, 103-106 and opinions, 76 social psychology, 39 experiments in, 91-93 social role, reaction to, 148 social structure, 39 socialization of new team members, 61-64, 88-89 sociology, contrast with anthropology, 37 softness, 85 software forms, social organization of, 58 sorting mentality, 240 special-purpose language, 237-241 compression in, 226 specifications, 12, 17-19 and egoless programming, 59 languages, 13.i relaxation of, 23 speed as a factor in test scores, 170 spelling errors, 234 stability through change, 96-100 stages of programming, 132-137 staggered shift, 79 Stainaker, A. W., 159, 177 standards, and amateur programs, 122 group, 106 in procedures, 258 in programming language design, 211-214 Stange, G. H., 256, 272 static and dynamic structure analyzers, 13.i statistics, role in studies, 32-33 status of team members, 72 Steel, T. B., Jr., 216 Stockham, Thomas G., Jr., 274 storage capacity and coding, 8 stress, tolerance of, 149-150 strings, failure to close, 260 strong leadership, 89-90 Strong Vocational Interest Blank, 153-158 structure, of a data-processing section, 116 of a project, 106-109 subjects, sources of, 33-35

subroutines, non-local effects of, 231 and team structure, 70-72 subscript rules, 218-219 subset language, through defaults, 228 and efficiency, 23 psychological effects of, 219-220 success, effect on testing, 250-251 supplies, control of, 79 support group, goal problems, 77 suspicion, and problem test, 146 symbol table, in documentation, 267 symbols, choice of, 163-164 need for, 6.ii of status, 110-111, 6.ii symmetry of program structure, 168 Symposium on Extendible Languages, 216 synesthetic memory, 229 syntactic “sin,” 11.ii syntactic “syn,” 11.ii, 12.ii syntax, checking and redundancy, 228-229 directing documentation, 274 of JCL, 186-188, 233-234 specifications for checking, 260 synthetic mind, 137 system test group, 106-108 systems analysis, xiv systems design, xiv awareness of, 124 requirements for, 132 systems programming, background for, 184-185 goal problems, 77 group, 106 systems thinking, xv target dates, importance, 183 task forces, 106 task-oriented activity, 85 TAT, 153 teaching, effectiveness of, 185-186 by operating systems, 188 team, 67-94 cost of studying, 35 mother, 85-86 programming, P2.i technical reviews, 4.ii technocratic organization, 90 Teitelman, W., 273 temporary modifications, 11-12 terminal, and amateur programmers, 122-124 Index 291 benefits of limiting to, 238 built for two, 259 in a documentation system, 264, 267 effect on error, 255-256 resolving ambiguity at, 223 role in learning, 189-190 and social structure, 52 as status symbol, 111 users’ behavior at, 31-32 test cases, 251 test databases, 13.i test harnesses and drivers, 13.i testers, professional, 13.i testing, 13.i see also debugging for aptitude, 170-176 personality, 153-158 Thematic Apperception Test, 153 theory, application of, 38 theory of temperaments, 8.i thought, shaped by language, 238-240 Thurstone Temperament Schedule, 157 tight coding, 22 time, in motivation studies, 183 for quality work, 183 for reviewing reports, 101 time-clocks, enforcement of, 79 time-sharing, 13.ii versus batch, 32, 259-262 timing information, effects on coding, 8 resolution level of, 32 title, importance of, 183 tolerance of stress, 149-150 tool content, 13.iii tools, programming, P4.i, 13.i, 13.iii testing of, 13.i toy languages, 237-241 trade-offs, importance of, 2..ii tradition in programming language, 232-237 trainees, as rewards to managers, 97 subjects for study, 33-35 use in programming efforts, 69-70, 5.ii training, 184-188, 9.i effect on IQ scores, 171 through egoless programming, 60 through introduced bugs, 248 versus productivity, 69-70 for replacement, 98-100 traits of personality, 146 turnaround, 254-258 variation in, 24, 33 Tyler, L. E., 140

292 Index unanimity, and social pressure, 104-106 uncertainty, principle, 31 and team structure, 68-69 underdesign, 126 unfamiliar, diverse reactions to, 191-192 uniformity, 218-224 and testing, 249-250 universe of discourse, 210 benefits of limiting, 227-228, 237-238 unobtrusive measures of observation, 31-32 value, measures of, 2.i value system, restructuring of, 56-60 variance, importance of, 2.i variation, among individuals, 3.iii, 261-262 in production time, 20 in program execution time, 24 reduction through egoless programming, 59 in turnaround, 33, 255 vending machines and informal structure, 49-50 verbal ability, in documentation, 170 as measure of programmer aptitude, 176 Vienna Definition Language, 12.i virtual machines, consistent performance on, 24 overcoming machine limitations, 15 visual learning, 193-194 vocal-auditory channel, 207, 11.i von Neumann, John, 56 Vygotsky, Lev Semenovich, 216 walkthrough and inspection process, 1.i warm bodies, 68 weakness, admission of, 189 Webb, Eugene J., 42 Weinberg, Dani, xiv Weinberg, G. M., 14, 26, 179, 244, 272-274 Weinberg, Keats, 10.ii Wernick, Robert, 159 Wertheimer, M., 178 White, R. H., 159 White, R. W., 159 Whorf, Benjamin Lee, 244 Williams, R. J., 140 winning favor with management, 82-83 Wirth, N., 244, 12.i women, association with menial tasks, 111-112 as leaders, 98-99 as programmers, 5.ii, 6.ii reactions to, 147-148 self-selection of, 149 as team-mother, 85-86 words, as chunks of information, 225 work assignment, feelings about, 72-73 work habits, 9.i work patterns, 151-152 working conditions, 31 effect on debugging approach, 168 and satisfaction, 80 working habits, 194 working hours, strict enforcement of, 79 working to rule, 78-79 Wright, Frank Lloyd, 66 writing and learning, 194 X-factor in hiring, 157-158, 176 Yates, F.A., 245 years of programming, 35-36 Zemanek, H., 215, 12.ii Zipf, G. K., 225, 245

Build Your Weinberg Library [| Are Your Lights On? How to Figure Out What the Problem Really Is by DONALD C. GAUSE and GERALD M. WEINBERG ISBN: 0-932633-16-1 ©1990 176 pages softcover This powerful little book will make you a more effective problem solver. Any- one involved in product and systems development will appreciate this practi- cal illustrated guide, which was first published in 1982 and has since become acult classic. With their characteristic clarity and insight, Gause and Weinberg instruct on ways to improve your thinking power. Designed for anyone in in- dustry or academe, the book conveys a message that will change the way you view the world. “another wonderful and whimsical book from Gerald Weinberg and Donald Gause.” —Barry Kornfeld, Sound Bytes Bi Becoming a Technical Leader: An Organic Problem-Solving Approach by GERALD M. WEINBERG ISBN: 0-932633-02-1 ©1986 304 pages softcover This text defines leadership and the skills a successful leader must develoo— innovation, motivation, and organization. Then it shows you how to evaluate your own skills in each area and improve them immediately. Using memo- rable anecdotes, analogies, and parables to illustrate his principles, the au- thor helps you learn the essentials. Success, how to plan it, how to make it happen—Becoming a Technical Leader shows you how to do it! “twenty-four well-reasoned, thought-provoking chapters on making the change from technical star to problem-solving leader . .. an extremely prac- tical and down-to-earth resource guide... .” —Cause/Effect [|] Exploring Requirements: Quality Before Design by DONALD C. GAUSE and GERALD M. WEINBERG ISBN: 0-932633-13-7 ©1989 320 pages hardcover Here’s an innovative book that gives you the understanding you need to give people the solutions they want. The collaborative team of Gause and Wein- berg tells how you can assure the requirements are right—before the product is designed. Written by two authorities in the field, this book is a collection of ideas developed, refined, and tested during their more than sixty combined years of work with both large and small organizations. The techniques for- mulated in Exploring Requirements are not merely theoretical; they have been used effectively to develop a wide range of products—from computer software to furniture, books, and buildings. | “provides an excellent set of principles amply illustrated by relevant and thought- provoking examples.” —Barry Boehm, UCLA Contact Us for Price and Shipping Details DORSET HOUSE PUBLISHING (800) 342-6657 (212) 620-4053 fax (212) 727-1044 dhpubco@aol.com_ http:/Awww.dorsethouse.com

Build Your Weinberg Library [] General Principles of Systems Design by GERALD M. WEINBERG and DANIELA WEINBERG ISBN: 0-932633-07-2 ©1988 376 pages softcover The authors of this complete reference—a computer expert and an anthro- pologist—bring new perspectives and fresh insights to systems problems that defy conventional solutions. Written in plain English, General Principles of Systems Design looks at all kinds of systems design—human, natural, and technological. This highly readable book offers practical solutions to problem solving for professionals, lay people, and students alike. Suitable also as an undergraduate text in the humanities, social, natural, and engineering sciences. “the book is good at. . . the explanation of imaginative approaches to the organization of systems (of humans or of machines).” —Datamation [|] Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products by DANIEL P. FREEDMAN and GERALD M. WEINBERG ISBN: 0-932633-19-6 ©1990 464 pages hardcover To err is indeed human, and reviews have proved to be the most cost-effec- tive method in use for error detection and removal. In this highly acclaimed third edition, you'll learn exactly how to implement reviews for all sorts of prod- uct and software development. The book spells out procedures to conduct walkthroughs (or peer-group reviews), inspections, and technical reviews, with extensive checklists for each type of material reviewed (including specifica- tion, design, and code reviews). Using a lively question-and-answer format, this complete reference also describes ways to avoid problems that often accompany the review process. By implementing reviews, you can spot and eliminate defects at the source—before your customers find them. “a basic reference for anyone engaged in system design and programming activities.” —Journal of Systems Management [ | Quality Software Management, Vol. 1: Systems Thinking by GERALD M. WEINBERG ISBN: 0-932633-22-6 ©1992 336 pages hardcover In this first volume of the Quality Software Management series, Gerald M. Weinberg tackles the first requirement for developing quality software: learn- ing to think correctly—about problems, solutions, and quality itself. Guidelines on management are introduced to stimulate the kind of thinking needed. “Weinberg addresses more clearly the form and essence of quality that we software people worry about. . . . | can’t imagine a better way to help change the thinking process in your organization than the wide-scale distribution of Jerry Weinberg’s wonderful new book.” —Ed Yourdon, American Programmer Contact Us for Price and Shipping Details DORSET HOUSE PUBLISHING (800) 342-6657 (212) 620-4053 fax (212) 727-1044 dhpubco@aol.com_ http:/Awww.dorsethouse.com

Build Your Weinberg Library [] Quality Software Management, Vol. 2: First-Order Measurement by GERALD M. WEINBERG ISBN: 0-932633-24-2 ©1993 360 pages hardcover This second stand-alone volume of the series offers you a step-by-step plan for gathering reliable information through careful observation and measure- ment. Specific techniques are explained in detail, with a model that divides the complex measurement process into four steps: Intake, Meaning, Signifi- cance, and Response. Each step illustrates how to more precisely observe and measure the software development process. Weinberg targets the key factors to measure, so as to produce consistent quality software. “brimming with simple techniques and examples of their application.” —Roger D.H. Warburton, Computing Reviews [] Quality Software Management, Vol. 3: Congruent Action by GERALD M. WEINBERG ISBN: 0-932633-28-5 ©1994 328 pages hardcover To produce high-quality software, we need high-quality, effective managers. Be- coming such a manager is the subject of this third stand-alone volume in Wein- berg’s highly acclaimed series. To be effective, managers must act congruent- ly. That is, managers must not only understand the concepts of good software engineering, but also practice them, which sounds easier than it is in practice. Standing in the way is a lot of emotional baggage that we all carry, the author as- serts, and congruence is the way to cope with our emotional baggage. Congru- ence has the sense of “fitting’—in this case simultaneously fitting your own needs, the needs of the other people involved, and the contextual needs (in business, for example, the business needs). Examples, diagrams, and tools such as the Myers-Briggs indicator fortify the author’s recommendations. “This book will probably make you think twice about some decisions you cur- rently make by reflex. That alone makes it worth reading.” —Tom Adams, /EEE Software [|] Quality Software Management, Vol. 4: Anticipating Change by GERALD M. WEINBERG ISBN: 0-932633-32-3 ©1997 504 pages hardcover Attempts to change software organizations commonly fail because of inade- quate understanding of change dynamics—the same reason the organiza- tions got into crisis in the first place. Jerry Weinberg concludes his series of four stand-alone volumes with this pragmatic, comprehensive testament on the fundamentals of change management. “The Fourth Time’s a Charm. . . . fascinating . .. encompasses such diverse sources as family therapy theories, personality type studies, and experiences drawn from years of consulting for software development organizations. ... Thanks, Jerry.” —Warren Keuffel, Software Development Contact Us for Price and Shipping Details DORSET HOUSE PUBLISHING (800) 342-6657 (212) 620-4053 fax (212) 727-1044 dhpubco@aol.com_ http://www.dorsethouse.com

Build Your Weinberg Library [] Rethinking Systems Analysis & Design by GERALD M. WEINBERG ISBN: 0-932633-08-0 ©1988 208 pages softcover This unique book tackles crucial analysis and design issues that are glossed over in conventional texts. It recognizes that while many problems are solved with systems analysis and design, many problems are also created. Using a short, highly readable essay format, Rethinking presents readers with both the logical and the more intuitive aspects of the analysis/design process. A witty and illustrative fable concludes each of this engaging book’s seven parts. Among the informative topics are * mastering complexity * general systems thinking e observing and interviewing ¢ trading off quality versus cost ¢ under- standing the designer’s mind ¢ design philosophy. “good reading not only for designers but for anyone wanting to understand de- sign, particularly the users and managers of information systems.” —International Journal of General Systems [|] The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully by GERALD M. WEINBERG ISBN: 0-932633-01-3 ©1985 248 pages _ softcover If you are a consultant, ever use one, or want to be one, this book will show you how to succeed. With wit, charm, humor, and wisdom, Gerald M. Wein- berg reveals specific techniques, strategies, and first-hand experiences—all that you’ll need to set up, run, and be successful at your own consulting business. “In this book, Gerald Weinberg uses entertaining prose littered with humorous paradoxes, dilemmas and contradictions to share his ideas on how to deal with people and organizations to help them change. This book is full of ideas on how to work with people to get them to adopt new ideas.” —Mary Sakry, The Process Group [ | Understanding the Professional Programmer by GERALD M. WEINBERG ISBN: 0-932633-09-9 ©1988 240 pages softcover Discover the one book nobody involved in this dynamic field can afford to miss! Weinberg offers readers an insider’s view, with suggestions on how to become a better programmer and improve job performance, in a book that’s both help- ful and a pleasure to read! Learn how to * become a professional ¢ get a little respect ¢ Survive in a bureaucracy ¢ think more effectively * discover what kind of thinker you are ¢ envision the future of the professional programmer. “If you are a programmer or manage programmers, or indeed just associate with programmers, this is a book that you should read. . . . turn to any one of the essays, and find a thought-provoking idea.” —System Development Contact Us for Price and Shipping Details DORSET HOUSE PUBLISHING (800) 342-6657 (212) 620-4053 fax (212) 727-1044 dhpubco@aol.com_ http:/Awww.dorsethouse.com

a a 5 ——

, iz 4 fl ths if i =e

ONE OF THE MOST POPULAR TITLES IN COMPUTING — NOW UPDATED IN A SILVER ANNIVERSARY EDITION! ABOUT THE BOOK IN THIS SILVER ANNIVERSARY EDITION, Gerald M. Weinberg updates his landmark 1971 classic with a new Preface, chapter-by-chapter commentary, and straight-from-the- heart observations on topics that affect the professional life of programmers. Providing a characteristically fresh perspective on his original insights, Weinberg returns to topics that are strikingly relevant to today’s issues in programming, and high- lights the similarities and differences between now and then. Selected Contents include: Programming as a Social Activity ¢ Psychological Measurement ¢ Egoless Programming ¢ The Programming Team * Common Social Problems of Large Projects @ Intelligence, or Problem-Solving Ability * Motivation, Training, and Experience ® Some Principles for Programming Language Design. Regarded as one of the first books to pioneer a people-oriented approach to comput- ing, The Psychology of Computer Programming endures as a penetrating analysis of the intelligence, skill, teamwork, and problem-solving power of the computer programmer. Dorset House Publishing is proud to make this important text available to new generations of Weinberg fans — and to encourage readers of the first edition to return to its valuable lessons. ABOUT THE AUTHOR GERALD M. WEINBERG began his career in programming some forty years ago, as a staff member at IBM and later as manager of data processing, among other positions, and as manager of supervisory programming for Project Mercury. He has since become one of the best-known names in software engineering and is internationally respected for his innovative thinking on both human and technical issues. A highly influential author, lecturer, and consultant, Weinberg holds workshops on helping people improve their productivity. Among his more than two dozen publications are The Secrets of Consulting, Becoming a Technical Leader, and the Quality Software Management series (all available from Dorset House Publishing). DORSET HOUSE PUBLISHING 353 West 1 2th Street New York, New York 10014 www.dorsethouse.com PHO BY DAV DAL

Powered by TurnKey Linux.