SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
In Beyond Chaos, legendary software engineer Larry Constantine brings together 28 outstanding essays on software project management, straight from the must-read Management Forum column in Software Development Magazine. Critically important reading for every software manager and engineer, this book covers an extraordinarily wide range of issues -- with equally impressive depth. You'll find Karl Wiegers on the basics of project management, and Capers Jones on software productivity measurement; Steve McConnell on managing outsourced projects and Michael Vizard on the need for stronger software professional standards. From Lucy Lockwood on aligning development with e-Business, to Ed Yourdon on surviving software "death marches," it's here: dealing with difficult people, sustaining teamwork, coping with project failure, managing from the bottom up, and much more. There are also four essays by Larry Constantine himself, covering requirements, development culture, modeling, and other key issues.
Click below for Sample Chapter related to this title:
constantinech1.pdf
I. IT'S ABOUT PEOPLE.
1. Dealing with Difficult People: Changing the Changeable.Larry Constantine.
2. Avoiding Feedback Traps: Improving Customer and Client Communication.Naomi Karten.
3. These are Trained Professionals: Beyond Training to Transformation.Larry Constantine.
4. Maintaining Your Balance: Managing Working Relationships.Sue Petersen.
5. Job Qualifications: On Hiring the Best.Larry Constantine.
6. Problem-Solving Meta-Rules: Habits of Productive People.Larry Constantine.
II. PROJECT MANAGEMENT.
7. First Things First: A Project Manager's Primer.Karl Wiegers.
8. Money Bags and Baseball Bats: Sponsorship Rules.Rob Thomsett.
9. Productivity by the Numbers: What Can Speed Up or Slow Down Software Development.Capers Jones.
10. Software Waste Management: Managing Data Migration.John Boddie.
11. When in Doubt, Blame Everybody: The Responsibility for Usability.Lucy Lockwood.
12. Creative Input: From Feature Fantasies to Practical Products.Larry Constantine.
13. Software Collaborations: Managing the Complexities of Cooperation.Mary Loomis.
14. Managing Outsourced Projects: Project Management Inside Out.Steve McConnell.
15. Tough Customers: Toward Win-Win Solutions.Ulla Merz.
16. Avoiding the Iceberg: Reading the Project Warning Signs.Ed Ziv.
17. Lemonade from Lemons: Learning from Project Failure.Norman L. Kerth.
III. UNDER PRESSURE.
18. Death March: Surviving a Hopeless Project.Ed Yourdon.
19. Web-Time Development: High-Speed Software Engineering.Dave Thomas.
20. Taking the Crunch Out of Crunch Mode: Alternatives to Mandatory Overtime.Johanna Rothman.
21. Reducing Cycle Time: Getting Through Bottlenecks, Blocks, and Bogs. Dennis J. Frailey.Larry Constantine.
IV. QUALITY REQUIRED.
24. No More Excuses: Innovative Technology and Irrelevant Tangents.Peter Coffee.
25. The Mess Is Your Fault: Toward the Software Guild.Michael Vizard.
26. Seduced by Reuse: Realizing Reusable Components.Meilir Page-Jones.
27. Real-Life Requirements: Caught Between Quality and Deadlines.Larry Constantine.
28. Rules Rule: Business Rules as Requirements.Ellen Gottesdiener.
29. Taming the Wild Web: Business Alignment in Web Development.Lucy Lockwood.
30. Calming Corporate Immune Systems: Overcoming Risk Aversion.Gifford Pinchot and Gene Callahan.
31. Inventing Software: Breakthroughs on Demand.Larry Constantine.
V. DEVELOPMENT PROCESSES AND PRACTICES.
32. Order for Free: An Organic Model for Adaptation.Jim Highsmith.
33. Beyond Level Five: From Optimization to Adaptation.Jim Highsmith.
34. Optimization or Adaptation: In Pursuit of a Paradigm.Sylvain Hamel and Jim Highsmith.
35. Adaptive Software Development: An Experience Report.James Emery.
36. Creating a Culture of Commitment: Of Deadlines, Discipline, and Management Maturity.Larry Constantine.
37. The Commando Returns: Learning from Experience in the Trenches.David Thielen.
38. Persistent Models: Models as Corporate Assets.Larry Constantine.
39. Card Magic for Managers: Low-Tech Techniques for Design and Decisions.Ron Jeffries.
40. Throwaway Software: Delivering Through Discards.Dwayne Phillips.
41. Unified Hegemony: Beyond Universal Solutions.Larry Constantine.
VI. LEADERSHIP AND TEAMWORK.
42. Scaling Up: Teamwork in the Large.Larry Constantine.
43. Sustaining Teamwork: Promoting Life-Cycle Teams.Peter Jones.
44. Managing from the Below: The Russian Embassy Method.John Boddie.
45. On Becoming a Leader: Advice for Tomorrow's Development Managers.Larry Constantine.
References.Chaos. Not the inchoate state of the early universe, not the ill-behaved subject of a specialized branch of mathematics, not the mid-revolutionary fragmentation of a society in transition, but coding chaos--the everyday reality of projects that develop software applications for computers and the World Wide Web.
Countless managers struggle for control and stability, for accountability and predictability amidst this chaos. From the project leaders, who provide the day-to-day oversight and guidance all the way up to the CIOs, whose charge is strategic direction and corporate-wide coordination, they struggle to understand and manage technology and processes of enormous complexity made all the more complex and unmanageable by the relentless and accelerating pace of technological change.
Herding squirrels. Corralling cats. Taming the mongrel hordes. Whatever the metaphor, the challenges of managing software development are legend. The stories are alarmingly similar for projects of every scope and size, whether staffed by the arrayed forces of thousands of programmers and testers or tackled by a small team of freelancers. The budget may be blown by a hundred percent or more and deadline upon deadline may be passed like so many exits on a freeway. Rarely do software development projects meet budget constraints, techni-cal objectives, and delivery schedules--if indeed recognizable constraints, objectives, and schedules exist. Applications that are far more complex than a highrise office building have sometimes been launched with little more planning than a sketch on the back of a napkin.
Some managers simply give up and accept this uncontrolled chaos as the state of affairs, an unchangeable reality and the unavoidable price of dealing with a highly paid and poorly understood profession. They accept the reality of seeking discipline among the undisciplined, of perpetually pushing the envelope of the possible, or of seeking certainty where specifications are little more than executive fantasies and deadlines are the arbitrary impositions of uninformed marketing managers.
Some managers seek refuge in mindnumbing manuals of procedure and in the step-by-step details of elaborately defined processes. They rationalize the investment in expensive systems that promise predictability through the imposition of regulation and regimentation.
Some managers, defining defeat as success, instead celebrate unmanageable chaos as the crucible of creation, the necessary and desired context in which to unleash the powers of the digital genie that will transform life on earth.
Beyond chaos, however, beyond surrender or celebration, is another view of software development--the view that software development projects and software developers are indeed manageable, that chaos is not an inevitable condition or concomitant. In this view, salvation dwells in the details, success lies in subtle insights, and control is achieved through thoughtful attention and planning.
The expert edge is the difference. Compiled in this book are the insights, inspiration, practical pointers, and provocative thinking of an elite assemblage of working managers and practicing consultants--the recognized experts who contributed monthly to The Management Forum. The Forum, a regular feature in the respected industry publication Software Development, occupied the prestigious inside back page of the magazine and proved to be one its most popular features.
Written for busy working managers, the Forum featured pragmatic, provocative essays by the leading thinkers and doers in software and Web development, software engineering, and technical management, including such industry luminaries as Ed Yourdon, Capers Jones, Meilir Page-Jones, Steve McConnell, and Jim Highsmith. The column set high standards for the clarity and quality of both the writing and the thinking it expressed. Every guest columnist was charged with the twin tasks of providing something that a working manager could put to use tomorrow and of offering something to think about for the next week.
Not surprisingly in light of the diversity of contributors, the discussions reprinted in this volume represent diverse views grounded in a variety of backgrounds and experiences. What they have in common, however, are common and positive threads--that software development and software developers are manageable, and that better management in this economically and technologically critical field is sorely needed.
The essays span such diverse topics as dealing with difficult people, managing from the bottom-up, coping with project failure, sustaining teamwork, and building software to throw away. Managers will find among the chapters the distilled essence of experience and the hard-won wisdom of those who have fought in the trenches of technical management, and won.
Highly focused analyses and specific suggestions are combined with provocative arguments and thoughtful perspectives. The essays have been edited and organized by broad subject matter and arranged to form a logical progression, finishing with what I hope will stand as a challenge and a look to the future of management and of software development.
Larry Constantine
Rowley, Massachusetts
March 2001
A
Adaptive development
case study, 273–280
lessons learned, 279–280
methodology, 276–277
productive development tools, 277–278
team organization and composition, 278
collaborations and, 254–257
communication with stakeholders in, 280
definition of, 270
incentives in, 279–280
limitations of, 274
vs. optimization, 257, 259–264, 261, 265–271
organic model of, 251–257
process vs. pattern thinking in, 260–262
Allchin, Jim, 37–38
Anderson, Ann, 308
At Home in the Universe: The Search for the Laws of Self-Organization and Complexity (Kauffman), 253
B
Balance
definition of, 31
maintaining, 32
in personal relationships, 30–31
Basic principles of design process, durability of, 34–35, 38
Bertalanffy, Ludwig von, 251
Best practices
critique of, 263
familiarity with, 54
implementation of, 263
information on, 174
vs. personal style, 293
standardization of, 199
Blank-filling, 42
Boddie, John, 73–79, 347–354
Body language, and personal relationships, 6
Boeing 777, development of, 332–337
Booch, Grady, 323
Boo.com, 169
Brainstorming, 41
Brooks, Frederick, 144, 188, 313
Brooks' Law, 159
Brown, Shona, 264
Burke, James, 34
Burning Chrome (Sterling), 189
Business goals. See also Goals
and business rules, 225
employee understanding of, 236
and web development, 228–231
Business rules, 219–225
application of, 221, 222–223
and business goals, 225
definition of, 220–221
discovery and validation of, 223–225
forms of, 221
and requirements analysis, 220–221, 223–225
in Unified Modeling Language/Unified Process, 222
and use cases, 221, 222, 223
C
Callahan, Gene, 235–240
Capability inventory, 91–92
Capability Maturity Model (CMM), 253, 261. See also Optimization
levels of maturity in, 283
pros and cons of, 265–271
CASE
critique of, 294
in model construction, 302
and teamwork, 344, 345
and throwaway design, 318
Categorical language, and personal relationships, 6
Change management. See also Adaptive development
automated, 71
vs. collaboration, 256
and productivity, 70, 71
for Web sites, 175
Chaordic, definition of, 262
CMM. See Capability Maturity Model
Code restructuring tools, and productivity, 70, 71
Coffee, Peter, 187–194, 211–212, 213
Collaborations, 95–102
and adaptability, 254–257
characteristics of, 95–96
collaborative networks, facilitation of, 256–257
communication in, 98–99, 100
conflict resolution process, 98
and credit, 99
examples of, 100–102
forced, 99
leadership-collaboration model, 260, 262–263
leadership in, 96
scheduling, 97
in software design, unique features of, 100
successful, characteristics of, 96–99
COM+, 192
COMDEX, product launches, 282
Communication. See also Language
in collaborations, 98–99, 100
with coworkers
about deadlines, 156–157, 285
about goals, 348–349
asking for help, 315
encouragement of, 351, 353–354
productive and unproductive forms of, 28–30
in teamwork, 278, 340, 341, 344–345, 348–349
with customers, 14–15, 16–17, 357. See also Feedback; Usage-centered design
about deadlines, 157–158
about project requirements, 111–112, 214–217, 245, 275–276, 278, 306–307, 342
common problems in, 112–114
communication styles and, 117
to minimize differences, 114–117
in model driven approach, 181
in Web site design, 230
gossip
destructiveness of, 29–30
psychology of, 29
with intrusive management, 124
office design and, 85
with sponsors, 62–63
with stakeholders, in adaptive development, 280
in usage-centered design, 93–94, 181
in Web software development, 147
Competing on the Edge (Brown and Eisenhardt), 264
Complexity analysis tools, and productivity, 70, 71
Component-based approaches, 148
Component models, Microsoft vs. Java, 195–196
Computer Language Magazine, 289
Computer-supported cooperative work (CSCW), 366
Condit, Phil, 333
Configuration management, need for, 190
Conflict, resolution of, and sponsors, 58–59, 60
Consensus-building, in team management, 334–335
Constantine, Larry, 3–9, 19–26, 33–38, 34–35, 39–45, 83, 89–94, 144, 177–184, 211–217, 241–247, 281–287, 297–303, 321–328, 331–337, 355–366
Content/capability inventory, 91–92
Contracts
in outsourced projects, 109
renegotiation of, 118
in vended services, 115–116
Control, need to maintain, 30–31. See also Balance
Cooper, Alan, 83
CORBA, 192
Coworkers, communicating with
about deadlines, 156–157, 285
about goals, 348–349
asking for help, 315
encouragement of, 351, 353–354
productive and unproductive forms of, 28–30
in teamwork, 340, 341, 344–345, 348–349
Creative input, from upper management, processing of, 89–94
Credit, in collaborations, 99
Cremeans, Jack, 33
Cross-platform development
future of, 197–198
hazards of, 190–191
Cultural changes, in adopting reusability, 206–208
Cultures of commitment
characteristics of, 286–287
deadlines in, 284–285
Customer profile, definition of, 90
Customers. See also Feedback
communicating with, 14–15, 16–17, 357. See also Feedback; Usage-centered design
about deadlines, 157–158
about project requirements, 111–112, 214–217, 245, 275–276, 278, 306–307, 342
common problems in, 112–114
communication styles and, 117
to minimize differences, 114–117
in model driven approach, 181
in Web site design, 230
educating about development tradeoffs, 214–215, 826
recognizing contributions from, 53
reluctance of, to complain, 12–14
renegotiating relationship with, 118
and trust, 116
understanding needs of, 51–52, 188
Cusumano, Michael, 35–36
Cycles of learning principle, 165–166
D
Data, accurate, importance of, 72–75
Data migration, 72–79
error source identification in, 77–78
in phased implementation, 78–79
problems faced in, 75
techniques for, 76–78
Deadlines
communicating about
with coworkers, 156–157, 285
with customers, 157–158
in culture of commitment, 284–285
importance of, 282–283
meeting, 281–287
and trust, 281, 284–285
Death march projects
inefficiency of, 292
surviving, 137–144
Decline and Fall of the American Programmer (Yourden), 137
Defects
automated tracking of, and productivity, 71
and requirement creep, 190
solutions to
manager's role, 350
and time pressure, 155–156
De Geus, Arie, 260
DeMarco, Tom, 144, 333
Denver Airport baggage handling system, 68
Design
disposable, 318
joint application design (JAD), 341
joint essential modeling (JEM), 342
need for, 291–292
participatory, as team-building technique, 342
scenario-driven, 342–343
task-driven design, and UML, 323–324
user-focused, 342
Development process. See also Adaptive development; Failed projects; Model driven approach; Productivity; Structure; Throwaway software
and adaptability, 255
adapting to programmer quality, 293–294
basic principles, durability of, 34–35, 38
best practices in, 174
in culture of commitment, 286, 287
customer-vendor agreement in, 116–117
economies of scale in, 166
future trends in, 191–194
improvement of, as goal, 54–55, 266–267
planning of, and productivity, 69–70
rapid application development (RAD) and, 143, 146
scenario-driven design, 342–343
tailoring to project, 178
uniform, pros and cons of, 324–325
in Web environment. See Web environment
Development tools, proprietary, political aspects of, 196–198
DHTML (Dynamic HTML), 192, 193
Difficult people, dealing with, 3–9
Dijkstra, Edsgar, 34
Dissociative language, and personal relationships, 7
Documentation of design, importance of, 36–37, 38
Donnellon, Anne, 339
Dot-coms. See Web environment
"Double Dummy Spit and Other Estimating Games" (Thomsett), 141
Dynamic HTML (DHTML), 192, 193
E
Economies of scale, 166
Eisenhardt, Kathleen, 264
e-mail, and team communication, 344–345
Emergencies, strategies for handling, 309–310
Emery, Dale, 30, 215
Emery, James, 212, 213, 273–280
Error-prone modules, and maintenance productivity, 71
Escalators, in conversation, 6–7
Essential models, updating of, 301
Essential use cases
cutting corners in, 91–92
definition of, 94
and models, 302
and requirement creep, 216, 217
and testing, 217
Estimation of project time
model for, 68
and productivity, 67, 68
and time pressures, 141
Extreme Programming (XP), 268–269
iteration planning in, 307–308
paired programming in, 358
release planning in, 305, 306–307
F
Fagan, Michael, 68
Failed projects
coping strategies
effective, 130–133
unproductive, 128–129
learning from, 127–133
outsourced, example of, 104
post-mortems for, 131–133
Fatigue, and productivity, 155–156
Feedback, 11–17
broadening sources of, 32
and miscommunication, 15–16
proper use of, 11
solicitation of, 12–14, 16–17
as two-way street, 11, 16–17
useful forms of, 14–15, 15–16
Food.com, 174
Fowler, Martin, 324
Frailey, Dennis J., 161–167
Function points
information sources on, 66
in measurement of project size, 69
usefulness of, 66
G
Gates, Bill, 36, 196
General systems theory
history of, 251
organic models
of adaptation, 251–257
of organizations, 260–262
as useful viewpoint, 363
Gentile, Chris, 183
Geriatric tools, for legacy applications, 71
Goals. See also Business goals
in collaborations, 96
communicating to coworkers, 348–349
customer-vendor agreement in, 113–114
defining, importance of, 122, 158
effective, characteristics of, 122–123
explicit, importance of, 208
lack of, as warning sign, 121–122
for process improvement, 54–55, 266–267
for projects, 51–53
SMART (Specific, Measurable, Achievable, Related to a primary objective, Time-bound), 122
Goldratt, Eliyahu, 162
Gossip
destructiveness of, 29–30
psychology of, 29
Gottesdiener, Ellen, 219–225
Guilds for developers, 198–201
functions performed by, 199–201
history of guilds, 198
and labor-management relations, 200–201
need for, 195–198
H
Hamel, Sylvain, 265–271
Hammer, Michael, 162
Heinlein, Robert, 178
Help, asking for, 315
Henderson-Sellers, Brian, 324
Hendrickson, Chet, 308
High-performance teams, 147
Highsmith, Jim, 251–257, 259–264, 265–271
Hildebrand, J. D., 289
Hiring, 33–34, 38
and staff quality, 293–294
in Web environment, 172–173
Hock, Dee, 262
Humphrey, Watts, 144, 283
I
IBM Systems Journal, 34
iMotors.com, 174
Incentives. See also Productivity
in adaptive development, 279–280
ownership as, 294
perverse, 237, 238
proper, 238–239
Inclusive language, and personal relationships, 7
Index cards, as planning tool, 305–311
Influencers, in conversation, 7–8
The Inmates Are Running the Asylum (Cooper), 83
Innovation
vs. conventional thinking, 242–244
fear of, 236, 241
process of, 241–242, 246, 247
resistance to, 244–246
sources of, 241
Inspections. See also Reviews; Walk-throughs
management attendance at, 351
and productivity, 67, 68, 157
value of, 268, 359–360
Intelligent agent technology, future of, 192
Interest in project, lack of, as warning sign, 120
ISO 9001, 325
Iteration planning, in extreme programming, 307–308
J
Jackson, Michael, 321
JAD (Joint application design), 341
Jasper, Dave, 34
Jeffries, Ron, 305–311
JEM (Joint Essential Modeling), 342
JIT (just-in-time) model, in software development, 147–148
JITR (just-in-time requirements), 181
JITT (just-in-time training), 21
Joint application design (JAD), 341
Joint essential modeling (JEM), 342
Jolt product excellence awards, 137
Jones, Capers, 65–72
Jones, Peter, 339–345
Judgmental language, and personal relationships, 7
Just-in-time (JIT) model, in software development, 147–148
Just-in-time requirements (JITR), 181
Just-in-time training (JITT), 21
K
Karten, Naomi, 11–17
Kauffman, Stuart, 253–254, 257
Kelly, Kevin, 254, 260
Kerth, Norman L., 127–133, 212, 214, 215
Kopp, Sheldon, 187, 364
Kübler-Ross, Elisabeth, 130
L
Landauer, Thomas, 189
Language
counterproductive, 6–7
as methodological term, 326–327
relationship-building
with coworkers, 7–8
with customers, 16–17
Large-scale projects, management of, 331–337
Leadership. See also Management of people
in collaborations, 96
leadership-collaboration model, 260, 262–263
Legacy applications
geriatric tools for, 71
and resistance to innovation, 244–245
Librarian, role in team structure, 352–353
Lifecycle(s), 209
Lifecycle models, and business rules, 223
Lifetime learning, importance of, 364
Limit-stop language, and personal relationships, 6
Linux, 291, 336
Listening, and personal relationships, 8
Lister, Tom, 137, 333
Lockwood, Lucy, 81–87, 177, 227–233
Loomis, Mary, 95–102
Lotus Notes, 366
M
Mackenzie, Ken, 33, 34, 36–37
Maintenance
definition of, 70
and productivity, 70–71, 72
Management of people. See also Hiring; Management of projects; People; and specific topics
bad managers, characteristics of, 28
good managers, characteristics of, 28, 355–366
hands-on approach, 347–354
and inner balance, 30–33
inspirational leadership, 362
progress, recognizing and rewarding, 53, 359
and rest time, 152
sharing skills with subordinates, 362
tensions inherent in, 27–28
under time pressure, 144, 152. See also Time pressures
and usability, 83–84
in Web environment, 152
Management of projects. See also Collaborations; Outsourced project management; Sponsors; and specific topics
basics of, 49–55
best practices, familiarity with, 54
big-picture thinking, 363–366
challenges of, 212–213
hands-on approach, 347–354
large-scale, 331–337
learning from past projects, 53–54
priority of responsibilities, 50
process improvement, as goal, 54–55, 266–267
and productivity, 72
progress, recognizing and rewarding, 53, 359
self-evaluation in, 50–51
and technological change, 363–365
training and education in, 51
upper management, input from, 89–94
McConnell, Steve, 103–110, 174
Meetings
management of, 359
planning, strategies for, 310
Merz, Ulla, 111–118
Meta data models, in data migration management, 76–77
Methods, and models, 297
Meyer, Christopher, 162
Microsoft
business model of, 196
Component Object Model, 195, 196
corporate culture of, 36, 37–38
software design at, 36–37
Microsoft Secrets (Cusumano and Selby), 35–36
Misuse of systems, forestalling, 191–192
Model(s)
essential, updating of, 301
maintenance of, 302–303
persistent, 300–302, 303
reuse of, 300–303
in usage-centered design, 302–303
Model driven approach
advantages of, 298, 299–300
case study, 297–299
evolution of, 297
model development costs in, 300–302
streamlining of
by communicating with customer, 181
essential use cases, 179–181
navigation maps, 182
pros and cons of, 177–179
prototypes and, 182–183
teamwork and, 182–183
in Web software development, 147–148
The Moon is a Harsh Mistress (Heinlein), 178
Mulaly, Alan, 333
Murphy's Law, 124
The Mythical Man-Month (Brooks), 141, 188, 313
N
Naval Postgraduate School, 274–275
Netscape, 256
Neuromancer (Gibson), 189
Nielsen, Jacob, 364
O
Object-oriented programming, 193–194. See also Reusability
and code lifecycle, 209
switching to, 206–209
O'Brien, Larry, 184
100% Pure Java model, 195, 196
OPEN process, 266
and UML, 324
Optimization
vs. adaptation, 257, 259–264, 265–271
history of, 252–253
limitations of, 253
Oracle, 196
Organic models
of adaptation, 251–257
of organizations, 260–262
Outsourced project management
benefits of, 110
contract, components of, 109
failed, example of, 104
importance of, 104
project specifications, importance of, 105
project tracking, 109
pros and cons of, 106
request for proposal (RFP), components of, 106–108
steps in, 105–109
vendor selection, 106–108
Ownership, as incentive, 294
P
Page-Jones, Meilir, 20, 34, 203–209, 323
Paired programming, 358
Participatory design, as team-building technique, 342
Pattern thinking, vs. process thinking, 260–262
People. See also Management of people; Training
adding to project, 159
basic nature of, 364–365
difficult, dealing with, 3–9
and incentives, 237
ordinary, motivation of, 361–362
politics, ubiquity of, 361
Perls, Fritz, 30
Persistent models, 300–302, 303
Peters, Chris, 36
Petersen, Sue, 24, 27–32
Phillips, Dwayne, 313–319
Pinchot, Gifford, 235–240
Plauger, P. J., 358
PM Network, 51
Pressure. See Time pressures
Prigogine, Ilya, 251
Privacy, safeguarding of, 191–192
Problem-solving, 39–45
blank-filling technique, 42
brainstorming technique, 41
and experience, 39
"sleep-on-it" technique, 44–45
unnecessary labor, avoidance of, 43–44, 157
wheel-spinning, avoidance of, 42–45
writer's block, escaping from, 40–42
Process. See Development process
Process thinking, vs. pattern thinking, 260–262
Product definition, 91
Product framework, definition of, 90
Productive development tools, in adaptive development, 277–278
Productivity, 65–72. See also Incentives; Time pressures
average annual, 33
and bureaucracy, 167
and defining of goals, 157–158
factors affecting, 67–71, 72
fatigue and, 154–159
in maintenance, 70–71
maximization of, 159
monthly, distribution of, 66
principles of, 165–166
and project cost, 66–67
prototypes and, 182–183
quantification of, 165, 167
range of, 293
scheduling and, 67, 68
vs. time spent, 167
value-added analysis and, 163–165
working conditions and, 67–68, 294–295
Product specification, 91
Programming, basic principles, durability of, 34–35, 38
Progress, useful, vs. mere innovation, 188
Progressive language, and personal relationships, 8
Project Management Institute, 51
Proprietary development tools, political aspects of, 196–198
Prototypes
and productivity, 182–183
as throwaway software, 314
Prototyping, visual, 343
Q
Quality
project-specific definitions of, 51–52
traditional definitions of, 52
Quality control. See also Testing
and productivity, 69, 72, 166
and time pressures, 188–189, 212–213
Quality Function Deployment, 215