[Truncated abstract] The primary tool for software process control is the project plan, with divergence from the schedule usually being the first indication that there are difficulties. Thus the estimation of the schedule, particularly the effort parameter, is a central element of software engineering management. Regrettably, estimation methods are poorly used within the software industry and accuracy is lacking when compared with other engineering disciplines. There are many reasons for this. However, the need to predict project effort remains, particularly in situations of tendering for contracts. The broad objective of this research is the improvement of project control by means of better estimation. . . The error in the prediction of a project parameter is investigated as the result of the variation in two distinct (estimation and actual development) processes. Improvement depends upon the understanding, control and then reduction of that variation. A strategy for the systematic identification of the sources of greatest variation is developed - so that it may be reduced by appropriate software engineering practices. The key to the success of the approach is the statistical partitioning of the Mean Square Error (of the estimate) in order to identify the weakest area of project control. The concept is proven with a set of student projects, where the estimation error is significantly reduced. The conditions for its transfer to industry are discussed and a systematic reduction in error is demonstrated on five sets of commercial project data. The thesis concludes with a discussion of the linking of the approach to current estimation methods. It should also have implications for the statistical process control of other projects involving small sample sizes and multiple correlated parameters.