4 ● SELECTING TOOLS AND METHODSYOU ARE THE MANAGER OF A SOFTWARE DE...

30.4

Selecting tools and methods

You are the manager of a software development project. What tools and methods wouldyou select for use? How can you go about deciding whether a particular tool or methodis worth using?Chapter 31 looks at ways of assessing techniques, but the results of studies are notgenerally helpful.Some development methods are inapplicable to particular domains and can thereforebe disregarded. For example, prototyping is not usually of any use in developing scien-tific or mathematical software. Again, data structure design is only really applicable forserial file processing and it would be difficult or impossible to apply it to scientific pro-gramming or to process control.The customer may demand the use of particular methods. For example, a militaryclient may require the use of Ada in conjunction with formal specification.Any software development organization has expertise in particular tools and methods.It also has its own standards and procedures. These are huge investments. Thus, a projectmanager within an organization must usually adhere to local methods and standards.If there is scope to choose the techniques, a next step is to establish a checklist ofrequirements and criteria. These must reflect the nature of the software to be devel-oped, the customer and the organization developing the software. How important aresuch factors as cost, reliability, delivery date, ease of maintenance?When evaluating a technique, a generic checklist of criteria that can be used includesthe following questions:

what are its special features and strengths?

what are its weaknesses?

what is its philosophy/perspective?

is it systematic?

can the technique be used in this application area?

what is the extent of tool support?

what is the training time for the people who will use the method?

what level of skill is required by the people using the method?

does the method lead to maintainable software

does the method ensure that the software will meet performance targets?

what is its productivity?

how good is the reliability of the software produced with this technique?

is good documentation automatically produced?

is the method enjoyable to use?If the decision is taken to introduce a new method, training effort and time will beneeded. Training costs typically include buying training and the time that developers spend376 Chapter 30 ■Project managementaway from productive work. But that is not all. While a new technique is being adopted,the organization is still learning and therefore productivity slumps – at least temporarily.While the technical merits of development methods are important, it is often practi-cal considerations that determine which development approach is used. Examples are:

the computer facility only supports specific tools and languages

the price of software tools associated with a specific method.