The best way to ensure your outsourced software project is successful is simple: be a good client. If you can, be the best outsourcing client your offshore development team works with.
Why? Most service companies make lists of their clients, from best to worst, and offshore teams are no different. It may seem a bit odd to rate clients as good or bad, but it’s both human nature and good business to do so. As a client, you’re team will likely judge how easy you are to work with and if your project is enjoyable to work on. And let’s face it – it’s always better at the top.
Being at the top of the list gets you the best service, the best resources, and the best support when things go wrong. Being at the bottom of the list will cost you a pretty penny, not to mention the headaches and stress associated with a difficult engagement.
So it’s worth it to ensure you’re viewed as a good client in the eyes of your outsourced team. Follow the advice below, and you’ll be sure to be at the top of your team’s list.
First Impressions Are Always Important
Getting to the top of the list requires an understanding of how services companies work.
When a new client comes in, their initial contact is usually with the sales or business development department. Once a contract is in place, the salesperson goes to a resource manager or department head and informs them that a new client has been signed and needs to be staffed up. It’s up to the department lead or resource manager to identify the resources and assign to the project.
The quality of the developers that are assigned to your project is the single biggest factor in your success. That decision is frequently made by a person to whom you’ve never spoken or ever met.
That first interaction with your vendor is a chance to set the tone of the project, and set yourself up for better service. Take great care to make great first impressions on everyone at the company: sales people, administrators, bookkeepers, lawyers, and especially the developers. Here are a few pointers to achieve outsourcing success:
- When interacting with sales people, be careful not to waste their time. Sales is a grind, and salespeople score leads (literally) for their value and how fast they move through the pipeline. Be realistic about potential start dates and team sizes, and avoid making blanket statements like, “if this goes well it will lead to more work.”
- When getting through the legal and administrative hoops, be exceedingly kind and responsive to each person you encounter. You may never interact with them again, but you can be sure they will discuss you at the water cooler at some point. You want that talk to be positive.
- When your developers come on, give them a bit of time to sink into the project, review existing code, and get their environments setup. Don’t obligate them to discuss deadlines or commitments early on; developers are not prone to speculation, especially when variables are unknown. Also, never be critical of the previous team no matter how bad they were. Failed engagements are frequently the outsourcing client’s fault, so developers are wary of the “blame game.”
- Keep an eye out for that mystical resource: the resource manager! Sometimes this is the department head, sometimes it’s a tech lead, sometimes it’s a CTO. Whoever it is, there is a person at every company who chooses which developers will work on your project. If you encounter this person, reach out and make an effort to get to know them. Provide them with the information they need to ensure a mutually successful project.
Resources Change, But You Can Control the Process
Service companies live by gaining great clients – but they die by losing great developers. Retention is a big deal in software development. Resource and engineering managers face constant pressure to provide near-perfect – and profitable – service to all the agency’s clients, while also facing pressure from attrition, burnout, hiring competition, zealous recruiters, boredom, personality conflicts, training and career advancement issues, and more.
“More” is where you come in. Managers have to shift resources across projects often – it’s a fact of life outsourcing clients never like – but he has to respond to all those challenges. The good news is that you can control a good deal of your own destiny by helping the manager shield his team from probably the worst pressure and biggest complaint from a developer – the dreaded Miserable Gig.
Imagine that a developer suddenly left the company, and the department head needs to quickly put another developer in their place. Consider these two scenarios:
- If you’re a “great” client, the salesperson who brought in the work is going to be concerned about the project. The salesperson will probably visit the resource manager in person to push for a great replacement resource. The resource manager is with the developers every day, and already knows that developers will be happy to join it. He picks one of the strongest developers and assigns him as the replacement. The developer is happy, and the project pushes on like nothing happened.
- If you are a “painful” client, the salesperson will be less motivated to keep the project on track. After all, he’s busy taking care of his “great” clients. So, he contacts the resource manager by email but mostly trusts the department head to assign a replacement. The department head needs to be careful not to place his top developers onto a project with a bad reputation. That person’s primary job is to keep his best developers happy and productive while delivering across the entire client base. So, he picks a mediocre developer and presents him as a top-quality replacement. Six weeks later, that painful project has become more painful than ever.
It’s easy to know which client you want to be.
How To Be The Best Outsourcing Client
So it’s clear that there’s a big ROI to be gained by taking some simple steps to ensure that you are a beloved client from day one. Here are some simple strategies:
- Pay well. The low-hanging fruit here is the rate you’re paying. Simply put, try to find out what the range of rates is at your vendor, and make sure you’re at or near the top of the range. Resist the urge to negotiate the rates down – this is certain disaster. You’ll turn off the sales person right out of the gate, negating all chances of being that “great” client. An extra few dollars per hour does wonders and brings a near-certain ROI in the form of productivity and skill. Driving down the price, on the other hand, guarantees that you’ll get junior resources and poorer service.
- Make sure the developers like your project. This one is also easy. Pay attention to the developers – their personal lives, holidays, health, and their experience as a member of your team. Send gifts. Developers always talk to each other, and you want your project to have a great reputation at all times. It’s ok if your project is difficult, boring, or tedious – developers will understand this if you reach out to them in a supportive way.
- Make a strong connection with non-developers. This is a great way to distinguish yourself from other clients since most clients never concern themselves with these relationships once the project beings. There are just three people you need to be concerned with to take your place as a top client:
- The sales/marketing person who handles your account. Like it or not, sales drive the company and if the salesperson values and appreciates your account, you’re going to get better service from beginning to end. Be courteous, consistent, and give them tons of advance notice about project changes or termination. Make their job as easy as possible.
- The manager who makes the decisions about which resources are assigned to what project. This can be tricky because most clients don’t have much contact with this person, but if you can make contact with them and show some appreciation it can go a long way. This is the most important person in terms of your success, but in many cases, you can’t reach them directly so you need to take other steps to manage the reputation of your project.
- The accounting department or whoever handles AP. Be a good payer, be an accurate payer, and handle any paperwork or issues quickly and efficiently. Everyone hates a late payer, and late paying clients are quickly demoted down the ranks regardless how much they are spending. Pay every invoice on time, every time, and be friendly and courteous.
- Be honest and straight-forward when things get hard. If your project is chaotic and stressful, make it clear to everyone that you are aware of it and will try to improve it. If you forget to send a check (or are short on cash) be honest about it. Remember that the company is trying to make money, just like you. They understand that things are rarely perfect and will be understanding in most case. Nobody likes a game player or a set-it-and-forget-it client. Be proactive and supportive when things go wrong.
- Bring them new business. Outsourcing clients rarely do this automatically or willingly – yet it’s the nearest-certain route to the top. If you don’t have any referrals to give, you can help their bottom line in different ways. Offer to provide testimonials or LinkedIn recommendations, or to be a reference for prospective clients. Don’t wait for them to ask for this; offer it early on and you’ll position yourself as a great client.
To sum up, the best outsourcing clients are the ones that help their vendor to be successful, happy, and – most importantly – profitable. Do anything and everything you can to help the company to keep their margins high, and you’ll quickly rise up the client ladder and get the best resources and great service.