How To Work With Development Agencies To Accelerate Your Project Progress

  • Aaron
  • January 27, 2024
  • 10min
Using development agency can drastically increase your project efficiency, however it can also backfire when your business lacks the knowledge or abilities to gate the deliverables.

This is not a debate over whether to in-house vs outsource your development work, this assumes you have already decided to take a hybrid approach, combining the benefits of long-term project ownership and optimizing efficiencies for complex projects.

I have had the privilege to have worked on both sides to understand the priorities of agencies and in-house management.

For dev agencies, it’s all about margin. You often hear from project managers that “sales pitched the project really low and the VP green-lighted it. We need weekend warriors.” Some development agencies switch to offshore developers or even subcontract to a local guy in his parents basement in order to control costs.

For In-house management, it’s about long-term commitment and control over the project/product. They’ll focus on aligning the project with business goals, and set the guidelines around scalability and reliability.

Clients and agencies may fall out of love if the goals start to conflict, and the project will lose benefits for both sides very quickly.

As an in-house web development manager, how do you manage development agencies?

Know which tasks are perfectly suited for development agencies

The perfect tasks to give development agencies depends on where the project is in its timeline.

Early project

You want to assign tasks that are isolated and independent in your backlog, for example:

  • Establish DevOps process
  • Establish testing procedures and processes
  • Platform upgrades, modules upgrade

These tasks leverage their expertise and experience from other clients they have worked with, pros and cons they have seen through different implementations for different approaches, best practices and industry standards they have followed, and the most cutting edge technologies they have used. The experience of a project manager is the biggest value that agencies offer.

Mid Project

Now that you have worked with them for a little bit, you should be more familiar with their strengths and experiences.

  • Assign similar tasks to catch up project progress
  • Tasks that require extensive research for your internal team
  • Tasks that suddenly become prioritized
  • Tasks that become blockers

Late project

I often find documentation tasks are done very efficiently and thoroughly from agencies, not because in-house developers lack the patience or expertise to do them right (personally, as a developer, I find this step to be rather uninspiring), but because agencies have rigorous task management processes, so they tend to dedicate more resources to do it right.

Bug fixes: we will talk about this in a different chapter, but bug management can be very tricky and time consuming if not done properly.

Plan your tasks early, and assign the task when requirements are clear and ready

Let’s say you have a business ask coming down the pipeline: you know the business potentially needs to add a partner section to the website, and based on your early discussions, this feels like the perfect kind task for the agency. It is also a good time to speak to your agency’s PM, ask them to give you ideas, provide examples, and information they would need ahead of time.  Bring these questions to your internal meetings and make sure you get the answers before assigning it to the agency.

Conversely, teams inside the organization might not have resources to allocate towards the effort, have awareness of all of the options, know how dev agencies can help, or have prior designs to kick start the project. Spending more time upfront to design the tasks can save you a lot of time later on.

Set expectations, monitor tasks using story points, and know when to raise flags

Inevitably, there will come a point when you will ask: how come this task took 40 hours, I could’ve done it in one day. 

My rule of thumb is, if you think it will take you a day to finish something, assume it will take them 2-3 days. Give them some buffer for taking different approaches, testing, and unseen challenges during implementation.

This should reflect in the points system. Keep in mind that story points are NOT associated with hours but provide an estimate of effort required.

The goal for the development manager is to see an upward trend in points per sprint as knowledge and projects progress

Ideally you should see upward trend on points as project progress

Don’t expect all deliverables to be perfect - they shouldn’t be

When I was first onboarded to my current job, it was a bumpy start. They were already working with a dev agency, one that I hadn’t worked with before. I was very keen on the quality of deliverables, so I would look into each pull request (PR), and check all task scenarios to make sure they were perfect based on the requirements.

This was because, in my prior company with a different agency, their dev architect did the same thing. He saved us a ton of time and effort, he eventually burned out and left the company.

In this case, the agency had many different devs come and go, so the quality of work was inconsistent. I ended up spending many dev hours updating Sass variables, Javascript call loops. and the 1% of browsers (looking at you, IE) having unsupported features. It was not a great experience, for me or for them.

In the end, our agency changed the architect and brought on new developers to work with us, so as to retain our relationship.

I realized that was partially my fault, so I changed tactics.

I started asking the agency to send us working deliverables instead, a “rough” finished product if you will. I would pull those down to my local environment and start polishing them according to our internal coding standard. I’d replace hardcoded values with existing Sass variables, adding debounce logics, fix minor bugs, bring their functions and methods into our service layer so they can be reused in the future, optimize loading sequence, improve editing experience…so on and so forth.

The point is, their precious development hours are best spent towards the heavy lifting parts of the task, and some of the polishing might be more efficiently done in-house.

If a task is delivered perfectly, you either met a unicorn or you wasted dev hours

It is a fine line between what’s acceptable and what’s not. Sometimes there isn't a line, there are many times you lack the knowledge to tell where is the line. Through trial and error working with dev agencies, you will find the right balance.

Leverage developer experience from both sides

I often let my developers work on an extension of a task that was originally delivered by an agency. For example, we may have asked our agency to refresh the webinars section of the website, and now it’s time to add in case studies, with a similar approach, similar designs and logic. Those are the perfect tasks to assign to your in-house developers for a couple of reasons:

  1. They get more intimately familiar with what was done by the agency and learn from it.
  2. They apply their knowledge to optimize what can be done for the new section.
  3. They identify patterns and collect ideas toward other areas of the site.

Give credit where credit is due

The time has come, you are recognized for the successful completion of your project! Give credit to everyone involved. It’s a team effort, so let the agency and your developers know how much you appreciate their work. 


One thing that I liked to do to show my appreciation was to reserve a couple hours on the first Friday of a new sprint, for both the agency developers and my own, for personal development. Let them decide how they want to spend that time, exploring new technology, working on a new skill, or just recovering from the previous sprint.