Even when you have an internal team dedicated to your online presence, there are times when your business may need to lean on an agency for additional support. Whether it’s a tight deadline, a large project that needs extra resource or requirements outside of the internal skillset, an agency can provide the support you need to make it happen.
When working with an external agency, there are many benefits to gain and in-house agency collaborations are more common than you may realise. However, this doesn’t mean it comes without its own unique set of challenges. The most prominent? Blending two different teams and driving them towards a singular goal.
Before your project gets underway, it’s important to recognise and overcome these challenges. Based on our experience of working collaboratively to deliver many web projects, we’re sharing 11 tips for collaborating with an in-house team.
1) Gain internal buy in
No matter how experienced and brilliant your internal team is, they are naturally limited by what they’re exposed to. Working with an expert agency means you can use their expertise from other projects to your benefit.
By gaining internal buy in from your in-house team, you have the opportunity to blend two teams with expertise in different areas. Combining the business knowledge of your in-house team with an agency’s experience of working across a range of projects and industries, you can create a powerful team.
2) Define ways of working
It can be a common occurrence that agency developers are more advanced than internal developers due to the demand an agency environment involves. A developer working within an agency has to stay in tune with new and emerging technologies in order to best support their clients.
This means that when combining an agency team with an in-house team, there can be a knowledge and skills gap between the two. However, this doesn’t have to be a negative. It just needs some consideration on how the two teams will work best together.
As an agency, we would always flex the way we work to support your needs. But we also see it as our responsibility to help you, as the client, adopt better ways of working that will benefit your team and business in the future. During the kick-off meeting is an ideal time to discuss these roles, responsibilities and methods of working for the best result. An initial agenda would include factors such as:
- Build process
- Frameworks and methodology
- Source control
- Code reviews
- Browser support
- Performance auditing
- Communication channels
- Post-handover support
3) Get to know the team
Project success hinges on how well the internal and external teams can work together. To work effectively, each needs to put effort into building trust and mutual understanding. And there’s no better way to achieve this than by getting to know one another.
Working together as an agency and in-house team is a truly collaborative process and one that requires time and effort for relationships to be built. Focus on:
- Understanding how each team prefers to work
- How scheduling works with the agency
- Internal pressures to be aware of
- The flexibility of each team
- Who is responsible for specific areas
4) Define roles and responsibilities
Before onboarding a new agency, consider exactly why you need them, what their responsibilities will be and what you want the outcome to be. Doing so will allow you to understand what you expect your in-house team to deliver versus what you want your agency to deliver.
This will also define who is responsible for what elements which is an important undertaking to consider from the start of the project. How do you plan to split work between your in-house and agency teams? There are a few ways we recommend defining these roles and responsibilities:
- Detailed scoping: 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.
- Initial introductions: Building on from getting to know your team, initial introductions are a great way to break the ice and find out a little bit more about who you will be working with.
- Outline roles: It’s important everyone understands who is responsible for which areas and what their role involves. This will provide useful insight into each person’s area of expertise.
- Define key contacts: Take this opportunity to define who the key contacts for project sign-offs are. They should be finalised at this point so that an approval schedule can be created.
5) Decide on the project methodology
For a project to run smoothly, it needs to follow a structured and defined framework that everyone agrees on. There are many project methodologies that can be used but the most common are agile and waterfall.
This decision will define how the development phase will be run and can influence how processes will be followed. Remember, it can be difficult for businesses – both agencies and client side – to adapt and align processes into one way of working that suits all. This in itself can create challenges which is why it’s important to consider this factor ahead.
6) Agree on communication channels
Maintaining agreed communication channels will help to avoid misunderstandings and complications further down the line.
A communication plan is an important asset when multiple teams collaborate, allowing the preferred formats and frequency of project updates to be defined alongside who should be involved. This plan will also encourage all team members to communicate with one another with ease while ensuring team availability.
We have found tools such as Trello, JIRA and Slack are effective at supporting communications and providing visibility of project progress.
7) Plan well, but don’t overcomplicate
There’s no doubt that planning is key. But there is such a thing as over-planning which can cause complications, delays and overruns – and this will see you go over budget.
Make planning a priority but try not to overcomplicate the process. Only involve the people that need to be involved at each stage, follow those defined ways of working and preferred communication channels to make the process more seamless. If things do veer off course, it could be worth setting up sprint planning meetings to define priority tasks and the order things should happen.
8) Consider upskilling needs
It’s important to understand what your internal team’s technical abilities and overall skill set are to define what can be delivered in-house. By relying on your internal team to undertake a project that stretches beyond what they can deliver, you run the risk of demotivating them and creating costly website issues.
Working with an agency that has exposure to multiple projects and technologies, your internal team can learn from them and take part in areas they may not usually have the chance to. Peer programming - or pair programming - is something we have implemented before to support the upskilling of internal staff.
This is also an opportunity to understand where skill gaps lie, helping your team upskill their technical capabilities. These newfound skills can then be transferred, benefitting your business in the long run.
9) Be proactive with code reviews and sign-offs
Reviewing, feeding back and signing off on code reviews and amends is an important part of ensuring effective collaboration. Being proactive and efficient in reviewing, working on, and closing tickets ensures other team members have what they need to continue work and avoid delays.
When tickets are added, it’s important to be realistic and fair about their priority to ensure everyone can remain focused on high-priority items first and foremost. Code changes can be complex undertakings so ensure team members are on the same page when it comes to these processes. The system used to manage this process is also important for clients to be fully trained on.
10) Consider the use of support days
Depending on how the project has been split out, support days can be a great help at keeping things on track. For example, if the agency team is working on the UI part of the build and the in-house team focuses on the back end, the internal team can log tickets that the agency team can pick up on their allocated days.
In this case, it’s important to be aware that support will still be required after the front-end phase has been completed as changes will be needed when the backend is built. This gives your agency the chance to support you through the development stage and then swap to support days for when the internal team takes over.
Taking this approach can be beneficial to how the project is managed and can save you spending unnecessary budget by only using the support you need when you need it.
11) Regular developer design reviews
Although developers and designers usually sit within different teams, involving developers in the review of designs will highlight any potential can’t do’s. Particularly when your in-house team are fulfilling the back end of the build, by having a developer review the designs, they can verify that the designs provided will work within the system.
If something is found to not be possible, discovering this sooner in the project will save time and resource further down the line. It also enables designs to be amended in a way that can be delivered effectively while maintaining the integrity of the objectives.
Driving collaborative projects
Creating a streamlined and well-defined working relationship between your internal and external development teams is key to ongoing success. Transparency, effective processes and clear communications will not only improve the skillset of your internal team but also help you in achieving your objectives in the most efficient way possible.
We have experience working alongside in-house teams and these tips are based on what we’ve found to successfully drive our most collaborative projects such as Marshalls and Lloyds Motor Group. Consider how the support of an agency can help your internal team deliver your objectives and speak to us to find out more.