The Mythical Man-Month#
Knowledge Check Questions#
True or False: More software projects have gone awry for lack of human resources than for all other causes combined.
True or False: Assuming that all will go well, i.e., that each task will take only as long as it “ought” to take, is poor strategy for scheduling software projects.
True or False: The use of person-month as a unit for measuring the size of a job is a dangerous and deceptive myth.
Persons and months are interchangeable commodities only when a task can be partitioned among many workers with no ________________ among them.
True or False: In complex interrelationships, communication effort can quickly dominate the decrease in individual productivity.
According to Brook’s, adding manpower to a late software project makes it ______________.
True or False: In tasks that can be partitioned but which require communication among the subtasks, the effort of communication must be added to the amount of work to be done.
Intercommunication effort increases as ________________ with the number of workers, making it a dominant factor in coordination-heavy tasks.
True or False: Failure to allow enough time for system test, usually has little impact on the outcome of the project.
_________________ is usually the most mis-scheduled part of programming.
According to Brook’s, a general rule of thumb for scheduling a software task (must add to 1):
_____________ planning
_____________ coding
_____________ component test and early system test
_____________ system test with all components in hand
True or False: Hasty measures, like overstaffing, can lead to diminished product quality.
True or False: False scheduling to match the patron’s desired date is much more common in our discipline than elsewhere in engineering.
The number of months of a project depends upon its __________________ __________________.
The maximum number of persons depends upon the number of __________________ __________________.
When faced with delays, the best option is to:
A. Add more people
B. Reschedule the project
C. Skip testing efforts
D. Switch to a new project