So the moment has finally come — you’re looking for a software consulting agency. You not only want them to build your product but would also like to receive advice on the best way to do it. You want an agency that will take you by the hand, guide you through the process and offer you some solutions to guarantee the best possible results for your project. Take a look at this list of things you should check before making a decision which agency to choose.
As a project manager I’ve worked with many clients on different projects. I’ve collated the things I’ve learned during our conversations. Now I’d like to share them in the form of a simple checklist. Take a look and choose wisely.
Things to establish before the collaboration starts
Comprehensive services — check whether it’s a full stack company that can provide the clients with design, PM and QA services or whether they just deliver the code;
Flexibility - check whether the company is responsive to the business and marketing changes suggested by the client;
Internal processes - check the internal procedures of the agency you’re about to choose. Check:
How the safety procedures look,
How the databases are managed,
Whether the agency makes project reviews,
Whether the agency has a well-organized code review flow,
Whether the agency conducts bug bashes and, if so, ask how often.
Talent structure - check whether the agency has a talent team responsible for delegating the right people to the right job. Ask whether your product will be made by one group of developers or if they will rotate;
Recommendations — talk with other clients of the agency you’ve chosen and ask about their experience;
Opinions — check the opinions about the agency on social services such as Cluch.co or Glassdor;
Things to hand over at the starting point of the collaboration
Give your new team access to repositories;
Make sure you provide the new team with all the mockup and graphic designs;
Come up with a list of ideas and user stories. If you don’t have any, ask for help — the agency you’re working with should understand your project perfectly well and be able to help you create them;
Jot down a list of questions about your project IN WRITING so that you don’t forget to ask about something important. Don’t rely on your memory in this case. Trust me. I’m a project manager;
Describe the market your company operates in and check who your competitors are;
Identify your targetgroup and discover its expectations, habits and interests.
Set a clear budget for your project and schedule deadlines;
Make sure you understand the pricing — agreeing on a fixed price may not be the best solution for you as this won’t take into account any possible scenarios of project development further down the line;
Treat the agency team as your external CTO who knows what is the best for your product;
Things to watch during the collaboration:
Specify the requirements for your MVP: decide which features you're going to release next:
Define the 3-5 most important features which will be delivered within the MVP,
Check if your agency has divided them up into smaller tasks and provided you with estimations,
Make sure you have access to the relevant project management tool (for example JIRA). This will help you to keep up-to-date with the development progress,
Set up all the necessary communication channels, for example:
Configure your Slack channel,
Schedule weekly calls,
Make sure you have contact info for the developers working on your project,
Be involved and give constant feedback about what has already been accomplished,
Give information about all relevant changes to the project or repository,
Make sure you understand how the deployment to production process looks;
ALWAYS ask questions when you don’t understand something and expect the agency to do the same. If the agency doesn’t ask questions, it means they don’t want to understand the core of your business;
Identify the next steps to be taken whenever new decisions are made and plans have changed as new data crops up;
Ask how the process of introducing new data and features will run;
Should any conflicts/problems arise during the collaboration:
Check whether your Project Manager always tells you what’s happening;
Make sure the agency subjects your product to constant QA processes and whether code reviews are conducted regularly;
Be aware that if the agency actually makes some kind of mistake, they should hold up their hands, explain the reasons and suggest the recovery plan — demand all these things!
After the launch of the product or at the end of the collaboration:
Make sure you keep the agency close to hand — you may need their services in the future too;
Check whether the code you’ve been given is well-documented and double-check whether it has been handed over to your internal team;
Ask about any maintenance services for your product.
This checklist comes from the 8 years of experience we’ve gained from working with clients. Hope you found it useful. Any thoughts on what I should add? Feel free to share your suggestions in the comments below.