A client is a person or organization receiving professional services or commissioned work. In software development, the lead developer works with the people representing the client to understand what they need and how they plan to use the software. The client brings goals, concerns, and knowledge of their domain; the development team brings technical expertise. Neither perspective is enough on its own. section 8.1 section 8.3
Treat client communication as part of the work, not just a way to report its progress:
- Listen and ask questions before settling on a solution. Compare written requirements with what the client says they need, and agree on the business requirements before designing the system. section 8.1 section 1.2.3
- Explain why a feature is being built, not only how. Real-world examples help developers test their work; shared requirements help avoid scope creep. section 1.2.3
- Build trust when things are difficult. Listen to concerns, stay open to collaboration, and work with the team to give the client a unified response. section 1.2.3 section 8.3
A concern behind a deadline
Suppose a client is worried about a tight deadline or budget. Acknowledge the worry and work together on a feasible solution rather than treating the concern as an obstacle to the conversation. A little rapport helps, too: casual conversation before a meeting can make later project discussions more open. section 8.3.2
Understanding a client does not mean making every decision for them. Listen, offer informed recommendations, and involve them in choosing a way forward. That collaboration improves the chance of delivering something that meets their expectations while preserving a working relationship. section 8.1 section 8.3














