All other things being equal, the biggest difference between a programming team that succeeds and one that falls short is that the winning team paces itself. As a group and individually, the programming team sets achievement targets for each day. Each person makes a vow that they will achieve so much by the end of the day. Five minutes before they shut down, the development manager asks every individual, in the earshot of others, how he or she got on. The responses are noted but no one makes a comment, not even for praise. They just let the situation sink in. The development manager then asks everybody to reflect overnight on what they intend to achieve the following day. First thing next morning, he asks for each member to announce his target in front of the others. These targets should not be ambitious. The aim isn't to break records; it's to succeed as a team. The focus is on quiet determination.
While each member will want to demonstrate to his peers that he is pulling his weight, the target he sets himself has to be achievable. The development manager will at this stage lend a hand to anyone who is lagging behind his own schedule. When the situation warrants it, he may ask other members for their help.
Clever teams realize that it is only a matter of time before they experience setbacks. So they build up a safety lead from the start by stretching themselves, trying to pack an extra 15 minutes of coding into a seven-hour day until they have a healthy lead.
Crucial to pacing is the preparation of the project steps. Unless this is done, programs of any ambition always seem to take longer than the length of their parts to complete. There's a FUD factor (fear, uncertainty, and doubt) about them that daunts new and junior members of a team, in particular. Project managers, therefore, break down the project into self-contained bites. Initially this is done on a functional basis. They then subdivide the main sections into reasonable weekly targets. Further subdivision is then left to individual programmers. Between the start and finish of a page for a Web site, for example, the following main steps might be listed:
1. Agree on content.
2. Mock up the proposed look and feel.
3. Choose the appropriate technology.
4. Design the template.
5. Commission artwork.
You can then monitor progress component-by-component as your team gains in confidence, meets each challenge, and closes each subsection off.
The result is that you will have a working product to show for your efforts sooner.
Was this article helpful?