You’ve got a project in your digital product development pipeline and need to hire an external team to help you get from A to Z. Maybe you’re looking for:
Skills: You need resources with certain skill sets that you lack in house.
Speed: You need something done fast and don’t have the bandwidth internally.
Experience: You want to harness new tech and need someone who knows it inside and out.
Perspective: You want to tap into different thinking from a fresh, outside point of view.
There’s frankly a lot of different reasons why you’d choose to work with an external consulting partner. Outsourcing has become a normal part of doing business for companies big and small thanks to a slew of benefits, from injecting new insight into old problems to upskilling a team’s expertise.
Of course, alongside the many benefits can come some challenges, and these can lead to a lot of headaches at best, and leave you picking up the pieces of a poor product at worst. But with every challenge comes a solution, and we’ve got ones that have been tried and tested.
Here are five tips to help you avoid common partnership pitfalls and to ensure your project stays on track from first handoff to final delivery.
1. Manage the scope
First things first: Take the time to make sure all the details and objectives around your project are understood. In life (and in this article) it’s just a smart place to start. The success of any complex work requires clearly defined information regarding the desired outcomes and the work it will take to get there (tasks, deliverables, resources, timelines, etc.) at its outset. This makes up the overall scope, and without a mutual understanding about the project and its requirements, you risk coming up against the dreaded scope creep: when new tasks or unexpected deliverables arise that are outside of the initially laid out scope of work. This can cause missed deadlines, overrun budgets and a whole lot of stress — on both sides of the project.
Of course, things often come up once a project is underway and tasks can turn out to be more complex than anticipated, but there are ways to get things started to help avoid getting lost in scope creep and to help manage any necessary changes if and when they occur.
First, you need to make sure you have a clear vision of the project and are prepared to answer questions from potential partners about your goals. A good partner will want to get as clear as possible on the requirements and expectations, and the more information you’re able to give, the better they can estimate costs and realistic timelines. That said, don’t be turned off if you propose a timeline and your potential partner comes back and tells you the project will take longer to complete than you had in mind and explains why. It’s better to know this sort of thing up front than to find out once the work is underway!
Then, when you’re discussing a project, ask questions about possible unknown scenarios and discuss what will happen if things don’t go 100% according to plan: What features haven’t been covered that might be necessary? What happens if the project goes over budget? What’s the change sign-off protocol? Take the time to create a full picture of what the project entails and understand what happens if issues arise; it’ll help both you and your partner keep scope in check.
2. Establish a communication cadence
After scope, one of the biggest factors in successful consultancy engagements is clear communication. It seems simple enough, and yet we hear stories from clients over and over again about how communication with their previous partners was a major source of frustration. No matter where your teams are, it all comes down to a common denominator: either a lack of regular communication and project management or, on the opposite end of the spectrum, an excess of touchpoints and overbearing project management. The takeaway: These extremes are common, and balance can be hard to achieve.
To avoid ambiguity or conflicts in communication, always clarify how you prefer to be communicated with about a project and throughout the workstream. Your partner likely has some standard processes already in place, but trust us, you can work together to establish schedules and practices that work best for everyone — it’s just about taking the time. This includes the type and frequency of meetings you want to have, and the communication channels and project management tools you want to use.
You’ll also want to discuss if you’d like to be able to talk to the individual members of the team directly, or would rather have a single point of contact to disseminate any necessary information. Now about time zones: Have an agreement about core hours that both teams will be available for real-time communication. It’s all about taking the time to get on the same page so you don’t feel tied up in formalities or left in the dark.
3. Ensure data security
Data protection, regulation compliance, confidentiality — all these security aspects can create issues in bringing in an outside partner because, sometimes, it means having to share a lot of sensitive information. Just thinking about all the private info a company has to safeguard internally can be overwhelming. And the thought of then sharing access to it with an external team? Nerve wracking. We completely understand. The bottom line is that security should be a top priority for every company, because the risk of a data breach will always be there for everyone, but there are ways to ensure that your data — and your customers’ — is as secure as possible whenever you work with an outside partner.
First, any good consultancy should have the latest and greatest technical safeguards in place to prevent viruses, spyware, and malware from infecting their system. They should also be able to show how they meet information security standards with the relevant certifications and are in compliance with any privacy-related regulatory requirements. Have a conversation with your potential partners about their policies regarding client projects so you can confirm these things and hand over to your partner without worry. Ask: What are their internal protocols for access to data? Do they use active network monitoring tools? How do they guarantee the safety of client and customer data? It’s also common to have your partner team sign a non-disclosure agreement (NDA), ensuring all data remains classified.
4. Define code quality
When companies work with external developers, another big concern is around code quality. There are factors used to determine quality — like whether the code is reliable, maintainable, scalable, etc. — but the main part of the problem is that the level of quality is basically subjective. There are no strictly defined code quality parameters, so what’s considered acceptable can be different from one development team to the next. Of course, public reviews and a proven track record of working with well-known clients can help verify the quality of a partner’s work. And, any good organization offering software development services should have its own well-defined coding standards — but the key to ensuring the code delivered will meet your unique quality standards is to set those expectations up front.
You’ll want to determine what quality attributes are the most crucial for your project, and create a list with specific requirements, including any quantitative metrics you might want to use. You’ll also want to talk about internal code reviews, as well as the quality assurance (QA) and testing processes the potential partner has in place to make sure the product is systematically checked for any bugs regularly throughout the development cycle. Your contract should specify certain code guarantees, too, including an acceptance testing period in case something isn’t working right. This will all help ensure you get a robust application that works just like it’s supposed to and is written for long-term success.
5. Plan ahead for handoff
The last potential pitfall comes when you’ve reached the finish line of your project. The work is done and it’s time for your team to take over the application internally. This can be an easy, seamless transition with everything packaged up nicely, or it can be a difficult, frustrating process that causes a lot of headaches. You don’t want it to be the latter, when you’re left high and dry trying to figure out exactly how the codebase works and what to do with it. That’s why it’s important that you and your partner plan for a transition period so you can get set up to successfully support the product after it’s transferred in house.
Documentation is the most crucial piece of the handover process. Make sure your partner is preparing detailed files about the project that includes the app/code structure and instructions for setting up and deploying the software, as well as things like how to connect to API, and information on architecture and design — basically everything your in-house developers need to be able to fully understand how the software works and to be able to work on that project in the future.
In addition to the project documentation, partners may provide some knowledge sharing/Q&A sessions to walk through the work, or record screen-share videos explaining the code and design files. You might also consider arranging for additional part-time support from your partner to facilitate a more gradual transition. Work with your partner to make a plan that meets your particular needs and makes handover as effortless as possible.
If you haven’t noticed yet, there’s a common thread underlying all of these tips for more effective consultancy engagements that can be summed up with a final word to the wise: Be clear about all your needs and expectations up front and throughout the process. This counts for both the project itself and ways of working. Having this kind of transparency will help you and your counterparts get on the same page starting from day one, so you can steer clear of conflict and confusion later on. There can be all sorts of challenges with any project and you can’t always avoid them all, but by understanding these common issues and knowing what areas to address, you can set yourself up to create a great partnership and get on your way to creating a successful digital product.
Looking to partner up on your next digital product? We’d love to talk about how we can help. Contact DockYard today!
DockYard is a digital product consultancy specializing in production-ready apps that scale wonderfully as companies grow. We offer a range of consulting services with capabilities in product planning, design, user experience (UX), full-stack engineering, and QA. Over the last decade, DockYard has solved complex product challenges for visionary companies like Netflix, Apple, Nasdaq, and Harvard. We’re also dedicated to advancing open-source web development technologies, such as libraries and tooling built around the Elixir programming language. From idea to impact, DockYard empowers ambitious teams to build for the future. Visit us at www.dockyard.com.