1. A method of developing a collective operation for execution in a parallel computer, the parallel computer comprising a plurality of compute nodes coupled for data communications by one or more data communications networks, the method comprising: receiving, by a collective development tool, a specification of a target collective operation to develop; receiving, by the collective development tool, a specification of computer hardware characteristics of the parallel computer within which the target collective operation will be executed, the specification of computer hardware characteristics comprising a specification of a network topology; selecting, by the collective development tool automatically without user interaction, iteratively for each stage of the target collective operation, a collective primitive in dependence upon the specification of computer hardware characteristics and a predefined set of rules specifying selection criteria of collective primitives based on computer hardware characteristics and the target collective operation to develop; generating, by the collective development tool, the target collective operation by linking the selected collective primitives with glue modules; and determining whether the target collective operation meets user-specified collective operation criteria, the user-specified collective operation criteria comprising a specification of a maximum number of collective primitives; and if the target collective operation does not meet user-specified collective operation criteria, performing, by the collective development tool, a subsequent iteration of collective operation development for the target collective operation.