|
|
|
|
|
• Structured Programming — The problems of reconciling structured programming with an unstructured language (COBOL) still plague us. A pre-processor helps to solve these and we also find that limited use of the GO TO's improves readability and efficiency without sacrificing structure.
• Technical Reviews — This is a technique by which every product of the development process is reviewed by the development team before being used as input to the next phase, or in the case of the final product, before hand-over for acceptance testing. IMPAC is the first system on which reviews have been used by Fenwick Software and they were introduced only during the design phase. Although time consuming, we found a number of significant benefits accrued from their introduction:
• the quality of all interim products and the final system is higher;
• mistakes are detected earlier, and correction is less expensive;
• "deliverables" which pass the review team are almost always acceptable to the users (prior to the introduction of reviews there had been disputes over the quality of deliverables);
• The bulk of documentation is completed in final form during the development;
• Testing time is substantially reduced and the resulting software more reliable. • Fast Tracking Implementation — Structured techniques lend themselves to the overlapping of development phases. Coding and testing of one subsystem was completed by half the team while the other half continued with design of the remainder. This overlap of design, coding and testing continued down at lower levels. Top down implementation in the coding phase also meant that users were testing early versions of the more complex programs while programmers continued to implement successive levels.
|
Productivity Tools Most people find the idea of coding consuming only 10% of project time a little unreal. Even our figures of over 100,000 tested source code lines in 3,000 hours (about 35 lines per hour) are treated with suspicion, especially when people discover we are coding in COBOL. Obviously productivity tools are needed. IMPAC made use of the following:
• Separately compiled modules, reducing compile and de-bug time and minimising redundant code (click here to see Figure 2 for a breakdown of module sizes — bar chart);
• Standard library routines (using both CALL and COPY) for data base interfaces, screen handling, etc.;
• A program development menu (developed in house), which includes a COBOL pre-processor which simply makes COBOL a more structured language, but provides cross references as a spin-off. This allowed us to build in such extremely useful features as automatic recompilation of all modules which COPY a certain library routine;
• An application menu (developed in house), which was enhanced to meet IMPAC's requirements;
• A data base maintenance package, which allows changes to be made bothto schemas and to test data bases with ease (ADAGER, a proprietary package which operates on HP's IMAGE data base).
Last, but not least, the close teamwork and use of code reviews encouraged "borrowing" of code. This is such an old method of increasing productivity that it is not regarded with the importance it deserves. We have experimented with program generators of various levels of sophistication, but have determined that once a core of well-structured, reviewed and tested programs exists, "cloning" gives almost unbeatable productivity.
|
|
|
|