Before diving deeper, first, we need to answer these questions “What is co-development?” and “Why one would need it?”
Co-development is the process of augmenting the local development team capacity with resources from a different location. These resources can come from within the same company, from a different location, or an external company specialized in outsourcing such services. It’s well known that big players from the gaming world such as Ubisoft and Electronic Arts are building their games across multiple internal studios. One example would be EA’s FIFA game that has its HQ and creative drive in Vancouver, Canada, and part of the execution layer is in Bucharest, Romania. There are moments when development teams decide to outsource part of the work to other specialized companies. One such example would be Kixeye’s mobile RTS game War Commander: Rogues Assault that was co-developed in partnership with Amber.
Development teams resort to co-development for a multitude of reasons ranging from underestimation of planned features or scope creeping – e.g., during development the game designer realizes how much of an impact on gameplay would be to add an extra feature that could not be handled internally due to capacity limitations, to having the plan built in that manner because it allows to fluently ramp-up and ramp-down the capacity of the team – e.g., the company might want to kick off development with an internal core team of 10 people, mid-development ramp-up to 20 people and after soft-launch to ramp-down back to the core 10 people team.
For co-development to be a success you need to have a clear strategy in place and thoroughly execute on it, especially if the team that is being used in this process is halfway around the world.
Here are a few points that should be considered when setting up for co-development:
– Needs. Identify what your resource needs are. You might require engineering, art or design resources, or all of them. Make sure your co-dev partner has the resources ready or layout a resource ramp-up plan based on your needs.
– Onboarding. Before going into full production, you will have a set up period when your co-dev partner will become familiar to the project code, tools pipeline, etc. Ideally, this set-up will take place onsite, but depending on the co-dev team size this might not be possible. In this case you will want to have peer-to-peer meetings in place for knowledge sharing to occur.
– Procees. Align the co-dev team to your internal processes. If you are using Jira, Hansoft or any other progress tracking tools, you will want your co-dev partner to use the same tools you are using. Try to do this even for PTOs, because this will enable you to better plan what and by when your co-dev team can deliver.
– Communication. Integrate the co-dev team within your internal team. Make sure the co-dev resources are added to all project related email distribution lists. Try to connect members from the co-dev team with your project discipline leaders via Slack or any other internal communication tools you have in place, e.g. – co-dev engineers should have direct access to your engineering leads and technical directors, co-dev artists should have direct access to your art leads and art director.
– Update everything. This might be overlooked at times due to various reasons, but it’s very important for the co-dev team to have access to updated specs and priorities when they get in the office. You want to make sure they focus on the right things. And this is especially true for the case where the teams are located in areas with a significant time zone difference.
These are just a few general steps that can be taken to ensure a successful collaboration with a co-dev partner. Obviously, your requirements will be specific, thus demanding additional steps to take.