8 Collaborative Working Tips for Internal and External Development Teams
If you have a large and complex organisation with an interactive website that drives high volumes of traffic, your in-house development team may well need the support of an external agency to help you reach your objectives. In these cases, you will likely have a long list of projects to work through alongside your day-to-day fixes and website maintenance. Leveraging the experience and expertise of an agency, your internal team can be supported through these projects, helping to deliver on time and in budget.
But how do you get the most from this in-house and external development team relationship? To encourage effective collaboration, there are certain factors that need to be considered. From outlining responsibilities to ensuring full visibility and continuous communication, here’s what you need to know to ensure a smooth working relationship.
1) Understand your technical abilities
It’s important to have an understanding of what your internal team’s technical abilities are and what can be delivered in-house. By asking your team to undertake a project that stretches beyond their abilities, it’s unlikely you will get the result you want and runs the risk of creating further and costly website issues.
Let’s say you ask your in-house team to add a subscription service functionality to your site. After weeks of research and a lot of trial and error, your developer will no doubt find a way to integrate this service for your business. But is it the most efficient way, how much of their time did it take, and what else could it effect on your site? Further down the line, inefficient code is discovered by your web agency that is affecting site performance. This requires extra time to unpick and fix these elements before work can even begin on the next phase of your project, stretching your in-house team further than their capabilities and suddenly creating an expensive exercise.
2) Benefit from extensive agency experience
Working with an agency, you have the opportunity to leverage their expertise from other projects. No matter how experienced your internal team is, they are ultimately limited by what they have been exposed to. By blending the granular business knowledge of your in-house team with an agency’s experience of working across a range of projects and industries, you can form a powerful development team.
This is also an opportunity to support the development of your internal team, helping them to upskill and extend their technical capabilities. Working with an agency who has had exposure to multiple businesses and projects, your internal developers can learn from them and do things that they may not usually have the chance to do. In line with this, many agencies will have experience working on bespoke projects. No matter how bespoke your website is, a good agency will be able to ‘get under the hood' of your site and understand what is possible. Guiding your internal team along the way, these newfound skills can then be transferred, benefitting your business in the long run.
3) Engage early
When you choose to use an external team to help support your web project, it’s important to engage as early as possible. Even if their resource is not needed until phase two of the project, being part of the project from the outset significantly reduces the time an agency will take to catch up on and understand the work completed in phase one. It also allows requirements to be fully understood, capabilities to be assessed and recommendations provided upfront to help shape your project.
Not involving your agency early can cause issues further down the line where web development can have a potential knock-on effect on other parts of your project. This is particularly true of CRM and website projects that include multiple third parties engaged at different parts of the project. By not bringing these third parties together, it’s impossible to ensure that the project has been thoroughly scoped and this can subsequently prolong delivery timeframes and increase costs.
4) Set clear expectations and split responsibilities
What do you want your in-house team to deliver? What do you expect your agency to deliver? Before onboarding a new agency, take the time to really consider why you need them, what their responsibilities will be and what you want to achieve. Understand from the start who is responsible for what, what you will do yourselves and whether these expectations are realistic.
Your decisions on this could be led by your desired timescales, in-house capabilities or even budget. Taking part in detailed scoping helps to break down the project into tasks, making it easier to split out responsibilities with clear accountability of your teams’ responsibilities versus what the agency will cover.
5) Support full visibility
One of the main challenges that hinder collaborative working between in-house and external development teams is the sharing of code. In some cases, a business may have strict security policies which means they want to own all of their source code, hosting and database. In other words, they hold the keys to their live environments which means the external team can only work on a preview environment.
This makes it difficult for teams to working together productively. When an issue occurs, while the agency can create the fixes, the client has to release them on site. But if these releases build up alongside other work that an internal team has done on the live site, they can quickly become outdated and therefore ineffective. Working in this way with an agency can end up eating into your retainer time significantly.
Think of it like this: imagine you purchase the framework of a car along with the parts and machines needed to build it. However, you don’t have the time to constantly work on it, instead, you build parts as and when you get the chance. Then, when something breaks, you ask the garage to help fix it without being able to tell them what has broken, resulting in significant time investigating the issue before the car can be repaired. This will take more time and money than if the garage understood the work that had been done previously.
The challenge is similar when it comes to hosting too. If the agency owns the hosting of a website alongside the support, they have full visibility, making it easy to recognise and resolve issues as they arise. However, if your agency supports your site but the site is hosted elsewhere, it can create ownership issues if there is a problem. A lack of visibility can easily impact timescales and project success. We advise, where possible, to ensure full visibility between all parties so issues can be quickly resolved and fixes implemented.
6) Establish clear communication channels
Establishing a collaborative working relationship through centralised channels encourages continuous communication between your internal and external teams. When an agency and in-house team work well together, it makes it easier to talk through problems and guide one another to the best solution.
With our client, iStructE, the vast majority of communication is developer-to-developer. Instead of communication being channelled through our Account Manager and their internal Marketing Manager, we enable a direct relationship between developers through an open Slack channel, supported by email and phone where necessary. Not only does this create a more harmonious and streamlined way of working, it prevents time being wasted on passing messages along to the right person and ensures the experts are free to discuss the project at any stage. By encouraging this direct relationship, it becomes even quicker to get things actioned.
7) Embrace regular audits
When we work alongside an in-house team, we recommend regular audits to keep your website code in tip-top condition. Embracing regular checkpoints where code quality can be assessed can prevent inefficient legacy code building up on your site’s live environment and capture other issues that become detrimental to site performance.
Equally, when beginning a project with an agency, especially a larger project, an audit is a great way for the team to get up to speed with how your website works, how it can be improved and feeds into the project scoping.
8) Shape your retainer to support your needs
A retainer plan is integral to the collaborative development of a website. A retainer encourages a consultative and phased approach between your agency and internal team, ensuring each website change can be seamlessly managed while keeping the necessary people informed.
Your retainer plan should be shaped to the needs of your business. For example, you may have the resource in-house to implement what needs doing but lack the expertise on how it actually needs to be done. In this instance, your retainer time could support a consultative approach whereby the agency guides you on best practices to get you from A to B.
This approach also lends itself to bigger projects that arise outside of your in-house team’s technical ability. In these cases, the external team is already in the loop, understands exactly where you have got to and have guided your team up to this point. This puts both parties in a better place to take on their project responsibilities and hit the ground running.
Forging a streamlined working relationship between your internal and external development team is key to ongoing success. Full visibility and continuous communication fosters knowledge sharing and collaboration, not only improving the skill set of your internal team but also helping you achieve your objectives. We have experience working alongside in-house development teams, supporting and guiding them through their projects. Get in touch with the team at NetConstruct to find out how we could help you.