21.08.2013 Views

Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

352 Chapter 28 ■ Teams<br />

A chief programmer team is like a surgical team in which the chief surgeon is assisted<br />

by an assistant surgeon, an anesthetist, and one or two nurses. Each team member<br />

is a highly trained specialist. In the chief programmer team the job titles are chief programmer,<br />

back-up programmer, librarian and other specialist programmers as and when<br />

necessary.<br />

The roles of the team members are as follows<br />

Chief programmer<br />

This is a highly skilled software engineer who produces the crucial parts of the system.<br />

It is usually the designer of the software who determines and specifies the architectural<br />

components of the software.<br />

The chief programmer specifies all the other components in the system and oversees<br />

the integration or system testing of the complete system.<br />

The chief programmer’s role is intended to be almost entirely a technical one. To<br />

this end, administrative affairs like reporting to management and monitoring budgets<br />

and timescales are dealt with by a project manager. This frees the chief programmer<br />

from non-technical matters. The project manager is not really part of the team and will<br />

usually deal with the administrative aspects of several teams.<br />

Back-up programmer<br />

This is a programmer whose skill is comparable to that of the chief programmer. The job<br />

is to help the chief programmer with his or her tasks and act as the chief programmer<br />

when the latter is absent <strong>for</strong> any reason. Should the chief programmer leave the organization,<br />

the back-up programmer can immediately take over.<br />

Librarian<br />

The librarian maintains the documentation associated with the project. He or she may<br />

be a secretary with some training in using a computer system.<br />

Other specialist programmers<br />

When needed, other programmers are brought into the team to develop any subsystems<br />

specified by the chief programmer. Each of these programmers is an expert in a particular<br />

software area, such as user interfacing, databases or graphics.<br />

The structure of the team is hierarchical, with the chief programmer at the top. In<br />

contrast to a network of people each of whom communicates with everyone else, the<br />

hierarchy restricts in<strong>for</strong>mation so that it flows along far fewer paths – only up and down<br />

the hierarchy. The use of structured programming (Chapter 7) and top-down implementation<br />

and testing (Chapter 24), both of which are hierarchical, complement this<br />

scheme very neatly.<br />

There can be no doubt that the technique of the chief programmer team represents<br />

a creative application of scientific management to team programming.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!