Building Healthy Client Relationships In Software Consulting

Building Healthy Client Relationships In Software Consulting

Founder of 7Factor Software, a cloud-native software solutions company.

Are your client relationships based on healthy collaboration and respect—or on delivering what’s ordered by doing what you’re told?

Far too often, software engineering consulting companies accept one-way, transactional relationships with their clients. The client places an order in the form of fully specified software deliverables, and the consultancy acts like a vending machine that dispenses whatever the client orders, even if they know it’s all empty calories that create technical debt without delivering any real value.

At first, this may feel like the most effective way to win and retain clients, thereby keeping your company solvent. Choose being agreeable over the risk of an honest relationship. But as you contort yourself to client expectations along this people-pleasing path, the unique value your team brings to the table becomes secondary to your ability to obey commands.

This is toxic to your teams and contrary to the best interests of your clients. It also encourages clients to see you and your engineers as assemblers of commodity implementations, differentiated only by cost and speed of delivery—and easily replaceable by the competition.

Compliance is the absence of good communication.

When you let your client dictate all the details of development and delivery, you shackle your teams’ talents and leave them vulnerable to exploitation. Collaboration is cut off, and with it critical thinking. Methodology is misused to drive developers past healthy limits in the service of vanity metrics. Engineers are forced to comply with a process rather than cultivate constructive relationships among intelligent people.

What if the client’s specifications neglected to consider a critical edge case? Or underestimated the complexity of implementing a key feature? Or didn’t anticipate how a different architecture could better prepare the way for future scaling and extensions?

My point here isn’t that clients do a bad job of specifying their software requirements (although they may certainly miss things). Rather, it’s that no one can ever fully and accurately specify software requirements before engineering work begins. For any non-trivial implementation, the original specifications should only be the beginning of the conversation, never the final word.

If you don’t have open, honest communication with your clients—conversations in which you are free to challenge assumptions and acknowledge roadblocks—you’re setting the stage for stale concepts, subpar code and unhappy teams.

Giving the client what they want may not be what they need.

If your clients expect you to do what you’re told, they don’t understand how software development works, and they’re not prepared for a process that will yield a great product.

No matter how experienced your engineers are, unforeseen challenges will arise. Without the freedom to address them together, the end product will suffer. It’s your job to advocate for the right process and help clients think through important considerations up front.

Does the proposed product or functionality actually solve the problem at hand? Will you be able to conduct sufficient testing? What about requirements that could significantly delay the timeline?

Without questions and honest conversations, you may deliver what the client orders only for all parties to discover too late that it’s not what they actually need.

Compliance kills creativity.

When you manacle developers with client mandates and fixate on delivery, you close off the possibility of uncovering more effective, creative solutions.

By insisting instead on the authority to innovate within a broad set of guidelines, you open space for your team to discover solutions your client hasn’t considered. Why stay maniacally dedicated to the client’s original plan when open collaboration could yield a more secure, scalable, reliable and extensible solution of greater business value?

When you empower engineers to do what they do best, they ultimately deliver greater value to the client.

No one likes being a vending machine.

Transactional relationships are very hard on your team. It’s like telling them, “Hey, your ideas don’t matter. Get back to work dispensing your assigned code.” This creates a toxic culture that’s deadly to the health and happiness of your teams, and it’s not only your engineers who suffer.

Developer experience influences user experience. Time crunches turn into rushed, untested code generated by overworked employees who probably don’t even feel connected to what they’re building. What motivation is there to go the extra mile? What good is making a deadline if all you deliver is a mess of technical debt and defects?

Also, in a tight labor market, good software talent is incredibly hard to find, so you really can’t afford to alienate your people. (Nurturing healthy relationships is also simply the right thing to do.) You need to be able to stick up for your team and make sure they have what they need to collaborate, validate, deploy and measure quality solutions on the job—and live full, satisfying lives off the job as well.

Give the gift of honesty.

Sure, the client’s business needs, and their customers’ needs as users, should always be front and center. It’s why we’re all here, after all.

But you’re the experts, and you know best how to craft quality solutions. When you insist on having kind, candid conversations with clients throughout the software development life cycle, you unlock the full potential of your software engineers and the products they create.

At my company, 7Factor, I believe software engineering should be held to the highest standards possible. I also believe that good software development depends on a healthy social network that can’t thrive by mandate alone. It’s not a question of choosing between the humanity of my engineers and the value we deliver to our clients. It’s realizing that the two are inextricably linked.

Software engineering companies deliver greater value when their client relationships are healthy, collaborative and respectful. While it’s tempting to give in to the quick wins, building mutually respectful client relationships and protecting a more flexible process is worth it.

You’ll develop a deeper level of trust with clients than you could ever attain by just doing what you’re told.

Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?