While it takes discipline, it is essential to take the time at the outset to get agreements on development processes and quality criteria for deliverables and resist the temptation to declare a deliverable “complete” until the quality criteria have unambiguously been achieved.
Deft and Deliberate
Oakes reports the most success when making conscious decisions about communication and planning. To gain an advantage, he advocates:
- Structured work. Daily progress meetings are only effective if they’re reporting progress against well-defined expectations. Weekly status reports should follow well-defined structure so they can be written quickly without forgetting key issues.
- Extreme visibility. Plans, goals, metrics and issues should be highly visible and easily accessible to the team.
- Frequent, brief communication. Conduct daily standup progress meetings—no more than fifteen minutes—in which each member details progress against the micro schedule or backlog.
- Clear, common goals. People will make a lot of decisions on the fly, but they must know how their piece of the project puzzle ties into the overall objectives.
When mistakes are expensive and time consuming, consider some basic guidelines for team formation and management to improve communication:
- Keep teams small. Having four-to-five developers working on a well-defined subsystem streamlines communication.
- Address problem team members promptly. Team members who cannot or will not work well as part of a team quickly become morale issues that cost more than they are worth.
- Avoid “part-time” team members. Sharing team members with other projects guarantees thrash and assures that both projects will suffer. Try to get full-time commitment from team members for the duration of their need on the project.
- Avoid adding developers to “fix” schedule issues. If the project is not performing to its schedule goals, avoid the quick fix of assigning additional people to an existing team. The overhead required to orient and assimilate a new team member rarely results in any short-term schedule improvement.
- Co-locate teams whenever possible. A development team should be located in the same building, on the same floor and in the same general area to facilitate team reviews and questions. A small meeting room for team use is a real plus. Virtual teams introduce avoidable communication barriers.
Sponsor and Stakeholder Communications
One of the biggest communication challenges is building and sustaining an understanding of the development process among key stakeholders and sponsors. Providing understandable and visible milestones and demonstrable product during development is key so that sponsors and stakeholders get a sense of progress. This, in turn, helps to manage their expectations and facilitates communication about issues and schedules.
International projects add yet another layer of complexity. Oakes’ notes there is huge tension between developing internationally and developing quickly. “Cultural, time zone, infrastructure, language differences—all slow down communication, yet the requirement for speed is fundamentally a requirement for rapid, effective communication. Setting norms, agreeing to structure, etc. is all the more critical. It's paradoxical (maybe) but you need to spend proportionately more time on defining communication protocols on rapid, international projects.” Oakes’ top considerations for communication on international development projects include:
- Assigning integrous modules to geographically co-located teams who speak a common language.
- Co-locating external interface developers with end users and assure that all members of both groups are fluent with the business jargon and national language of the application.
- Kicking off with face-to-face meetings to establish communication norms and common understanding.
- Using multiple modes of communication. Plan weekly conference calls at fixed times and with clearly defined agendas. Back these up with weekly status reports, regular e-mails, informal chats via an instant Internet messenger.
- Basic courtesy and consideration go a long way. For example, a Delhi-London-San Francisco conference call will require someone to work unusual hours. If you’re scheduling regular calls, rotate the times.
When coping with agile stresses, successful project managers don’t abandon the disciplines of software engineering or effective project management; they devote more thought and rigor to communication, recognizing the communication challenges and addressing them head on. Work as quickly as you can, but no quicker. Make haste slowly.