Search
Close this search box.

Git Blog

Releasing the Power of Git

Dealing with Difficult Stakeholders or Clients

This post was written by guest author, Nahla Davies. Nahla has been in the software space since 2010 and a technical writer since 2019. She previously served as a lead programmer at an Inc. 5,000 experiential branding organization whose clients include Samsung, Time Warner, Netflix, and Sony.


Most of the time, working with clients to create, improve, or enhance software is a great experience. You get to put your skills to the test and create unique solutions that improve people’s workflows and quality of life. 

However, there are occasions when working with a client can get out of control. For example, a client might make a last minute request that derails project timelines and stretches the scope beyond what was agreed on in the beginning. This article will give you the tools to manage complex situations by communicating more effectively and knowing how and when to say no. 

Identifying Stakeholders 

Studies show that only 50% of software development projects are delivered on time, on budget, and within scope. That’s because software development requires careful planning and attention to detail. Identifying key stakeholders is a necessary part of the planning and discovery process because stakeholders play a major role in whether a project is successful or not. 

While there are not clearly standardized guidelines for how client and stakeholder relationships must be maintained, there are ways to establish the scope and nail down the responsibilities and expectations of each party involved in product development and release. However, it’s not always easy to identify key stakeholders in a given project. 

There are many different types of stakeholders in software development: 

  • Internal stakeholders such as team members, managers, and executives
  • External stakeholders such as customers, investors, and vendors
  • End users such as those that will work with the software directly, those that depend on products created by the software, and others affected by the software
  • Software developers and project build teams
  • Company liaisons, project managers, and business analysts
  • Partners and regulatory bodies

While helping clients and stakeholders understand the project from the development perspective can be challenging, to say the least, remember, everyone involved wants the project to be a success. You’ll find that when you take the time to align with the stakeholders, your project is much more likely to be successful and run smoothly. 

Strategies for Managing Difficult Stakeholders and Clients

Stakeholders and clients want your product to be the best, and so do you. But sometimes this can lead to challenging conversations that put a strain on business relationships. Here are some tips to help you deal with difficult stakeholders and clients to avoid further confrontation: 

Identify the Clients and Stakeholders That Require More Attention

Some stakeholders are more likely than others to bring up issues with software development projects. Whether they are dissatisfied with the timing, progress, or other details, these individuals can cause you the most stress throughout the duration of the project. Take note of these clients and their specific concerns early on. Expect to play a more hands-on role when it comes to dealing with them, and plan to keep them in the loop every step of the way. 

Remain Calm

The most challenging thing to do when dealing with a difficult client is to stay calm when you’re under fire. There will likely be instances where stakeholders become agitated and express that through their words and tone. It’s important to stay calm, cool, and collected and maintain control of the situation. Staying calm in times like these does not imply weakness, it actually shows the client that you are equally strong willed, capable, and confident that the project will be completed in line with their expectations. 

Listen to and Understand Their Motivations

The best way to deal with challenging conversations with clients is to listen to understand their perspectives. While they may not communicate their needs clearly in the heat of a tense conversation, there is still an opportunity to hear them out and learn what is motivating their frustrations. Identify what the problem is and what is motivating their issues with the project, then you can work with them to create a game plan that works for all parties involved. 

Respond in a Timely Manner

Although it may be uncomfortable to have tough conversations with stakeholders and clients, it’s crucial that software developers and project managers respond quickly when issues arise. Communicate as soon as possible to nail down any concerns they may have, but don’t stop there. After you come up with a game plan, get to work right away. Responding quickly demonstrates to stakeholders that you take their concerns seriously and will do whatever it takes to meet their expectations.

Be Firm and Polite

While key stakeholders should have a say in important project details, they do not always have full visibility like developers and project managers do. As such, their input may lead the project down the wrong path. You don’t have to agree with everything that your clients say about a project. Calmly and respectfully disagree when necessary and help them see the situation from your organization’s perspective. It’s even better if you can back up your stance with data.

Communicating With Clients and Stakeholders More Effectively

While it may be difficult to keep clients and stakeholders happy at times, there are ways to approach challenging conversations by communicating more effectively:

Set Clear Expectations from the Beginning

No matter the size or scope of a project, be sure to set clear expectations with clients and stakeholders in the early stages of planning. Client requests can get out of hand if expectations aren’t made clear from the beginning. 

To ensure that your team doesn’t bite off more than it can chew, leading to more problems down the line, it’s crucial to manage their expectations properly. Developers need to create client contracts that state the project’s scope and any details or requests so that they aren’t forced to add entirely new features when the project is almost finished. 

Get Specific

Another way that developers can communicate more effectively with clients is to ask for specific examples of what they would like to see in a final deliverable and things they absolutely will not tolerate at project close. 

When they provide criteria for the project like “sleek and modern design,” ask for examples or show them your own so they can point out exactly what they want. You might learn that they don’t actually mean modern and perhaps wanted to go for a more minimalist design instead. Make sure that both of your definitions match to avoid frustrating rework and upsetting the client. 

Set Realistic Deadlines

Deadlines and milestones are a common source of frustration between software developers and their clients. This issue is twofold: first, clients may not have the perspective to understand why specific deadlines can’t be met; and second, developers and project managers may not have clearly communicated how long certain tasks and milestones will take. 

Meeting the needs of clients is important. But setting deadlines too aggressively can lead to frustration about the timeline and, even worse, mistakes or omissions that will need to be remediated later. Set realistic deadlines, and help clients understand the work and timeframe that play a role in your agreed upon deadlines. If a project looks like it may take longer than originally agreed upon, communicate that early and openly with your client.

Communicate Often

Communication can make or break a project’s success. And while communicating frequently with difficult clients is not exactly a fun thing that developers look forward to, it’s essential to manage expectations and keep them happy with the progress. You don’t necessarily have to check in every day, but communicating on a weekly basis is usually acceptable for clients that require more attention. It helps both parties stay on the same page, and gives the client reassurance that your firm is on top of the project as agreed upon. 

Remain Objective

Remember to keep an objective viewpoint, despite any personal emotions that may arise when dealing with challenging conversations. One way to maintain a productive conversation is to respond to client concerns with objective facts based on data. Present them with reports that demonstrate the progress of the projects and documentation for any setbacks within or outside of your developer’s control. It is hard to argue with facts and figures, so stick to the data when conversations escalate. 

Saying “No”

There may be times when stakeholder requests are simply out of the question. Most projects include a few changes to discuss along the way, but if a client requests a major change that is outside of the agreed-upon scope of the project, then it’s okay to say no

It seems counterintuitive, as many of us in service related industries were taught that “the customer is always right,” but this is simply not the case. Software developers and project managers are the experts in this scenario, so it is up to you to manage expectations and let your clients know when their requests are unfeasible. 

Establish the scope and project specifics in writing at the beginning of your business relationship to avoid scope crawl. Be clear in your reasoning when they bring up extra additions that are not included and explain to them the repercussions from the software developer’s perspective. 

Clients and stakeholders may not understand that a “simple request” will require additional resources or time to complete. Additionally, they may not be aware that their requested changes fall outside of the project scope. Maintain your composure, and politely help them understand why you can’t change the terms of your contract or add additional features after the contract has been signed.
Not every client is going to be difficult to work with, especially when you apply the strategies outlined in this article. I’ll leave you with one last trick that will help you identify optimal prospects for your next project.

And Repeat

Not every client is going to be difficult to work with, especially when you apply the strategies outlined in this article. I’ll leave you with one last trick that will help you identify optimal prospects for your next project.

Ask your good clients if they know anyone looking for the services you provide. If you established a good relationship with that client and delivered a high quality product, they’re more likely to give you some great qualified leads to pursue.

If you constantly ask your best clients for referrals and manage difficult clients with delicacy and grace, over time you’ll find that your clientele base will be full of great people and companies that appreciate you for your amazing work.

Like this post? Share it!

Read More Articles

Make Git Easier, Safer &
More Powerful

with GitKraken
Visual Studio Code is required to install GitLens.

Don’t have Visual Studio Code? Get it now.

GitKraken Browser Extension

Your bridge between apps
Track PRs   –   View PRs in GitKraken or VS Code  –   Work More Effectively with Repo Providers

GitLens for VS Code

Your IDE, Smarter with Git
30M+ INSTALLS
Bring PRs, WIPs & Issues to the Terminal – Run Multi-Repo Commands Manage Groups of Repos – Suggest Code Revisions

GitKraken CLI

New ultimate CLI for Git Collaboration
Bring PRs, WIPs & Issues to the Terminal – Run Multi-Repo Commands Manage Groups of Repos – Suggest Code Revisions

GitKraken.dev

Your command center in the browser
Track PRs & Issues – Suggest and Share Code Changes – Ramp Up New Devs Faster Bring Your Team Together – Secure and Control Your Data

GitKraken Desktop

Simplify Git for any OS

Visualize Git, Minimize Mistakes   –   Unblock PR & Code Reviews   –   Manage Multiple Repos      Resolve Merge Conflicts with Ease   –   Ramp Up Devs Faster