Modern systems development practices, including the use of fourth generation languages and software engineering tools, often result in lower productivity and poorer technical quality in software projects than traditional methods, according to the report Trends in Systems Development Among PEP Members published by the Butler Cox Productivity Enhancement Programme. This conclusion is drawn from the analysis of data collected over three years from the Productivity Enhancement Programme. This programme is subscription-based and is aimed at organisations that want to ensure the productivity and quality of software development. The aim of the programme is to improve the standards of the management of software projects – to refine the exploitation of software tools by reassessing methods and techniques. The programme uses the measurement of the development process at the macro (or management) level to assess the impact of various methods and techniques. The key measure used was the rate at which the tools delivered functions, given the time rate under which the project is operating. These measurements were taken independently of the size of the development. Butler Cox’s Andy Milner, who is in charge of the programme, was anxious to point out that the report was not claiming that tools and techniques themselves had failings, simply that the development contexts in which they were being used did not lead to a reduction in the amount of effort required or in the number of errors being made. The problem lies with the use of the tool or technique, not with its existence as a product. Key factors in the successful use of software tools and programming techniques were found to be how they were introduced and whether staff accepted them; whether there was on-going training and education; and whether the hardware environment was adjusted to support the tools and techniques. Milner said that there is a tendency among project managers to rely on the tool itself – to replace the process with the tool rather than using the tool to support the process. This obviously has an impact on productivity. Furthermore, managers should understand where they expect to see the improvement. For example, with software engineering tools, to expect a productivity improvement during the initial development phase is to nurture false hopes.
Human communication
However, says Milner, with the arrival of each new technological development, people believe that, at last, they have the ability to complete projects on time. In this respect, Milner argues that project managers are too aware of technology, whereas they really need to concentrate on other areas such as the human communication between members of the development team. Milner believes that too many companies entrust the leadership of development projects to the best technician, and the best technician is is not necessarily the best manager. The only technique that the report found to be an unmitigated success was the structured walkthrough which involves no software at all. It is simply a formal technique for enabling colleagues to inspect and comment on the system deliverables, correcting faults and looking at the root cause of the error. Although the report offers statistical information yielding correlations, it does not give causal conclusions. However, Chris Woodward who runs the assessment service for members’ projects, believes that some project process productivity problems do lie with the software tools themselves. This is because they are developed to be functionally rich by people that understand the theory of systems but who may never have had practical experience of system building. But the report’s main conclusion is that project managers mustn’t rely on hunch and intuition – they must measure their project’s progress. – Katy Ring