🚀 See the 2024 Ruby on Rails Community Survey results!
Article  |  Strategy

8 Things You Should Expect When Working with an Agency

Reading time: ~ 6 minutes

8 Things You Should Expect When Working with an Agency

In web application design and development, there is no shortage of ideas and opinions on how to effectively manage clients and projects. But as a client, do you feel you have clear expectations of how to work with an agency and how they might work with you? There are different ways to kick off a project, different sets of tools for collaborating, and different styles of communicating; this post breaks down what we believe works best.

1. Getting to know each other

Before you start, you should get to know your agency team a bit. You can begin by asking them these 6 questions. Give the agency some time to ask you questions, too. There should be an overall understanding of both businesses (yours and the agency’s). There should be knowledge of the primary users and of the team dynamic. There should be alignment on your core values.

While some of this is obvious before you even chat, sometimes a short introduction to both businesses can determine if the fit will be right. You don’t want to waste your time (or theirs) any more than is necessary.

This is not the time for an in-depth “try to uncover everything” meeting. This is more like an inexpensive way for everyone to get more involved.

2. Ballpark numbers

Estimates are the bane of most software developers at least in the beginning. No two projects are alike, and while agencies might throw out an amount, it will always be just a guess. So while you should anticipate receiving a number, don’t assume accuracy.

Estimates not only give you a number, it provides you insight to how the team will approach the project. From this you should start to understand the steps they plan to take to ensure your project is a success (and that they in turn will also be successful).

Just a warning: don’t be shocked if the number is higher than you might have thought. There have been plenty of projects where clients have severely underestimated what it might take. And there are plenty of agencies that will lowball the number to win the business, only to charge later.

Seek honesty and transparency in how the estimates are derived. Get to know what the numbers stand for, and respect the agencies that want to mitigate any surprises by accounting for the realities of software development. Although the numbers can be daunting, there may be some wiggle room – check for efforts that aren’t necessary for launch to cut costs.

Look for agencies that guarantee that the budget won’t exceed a set range or a maximum. These are the companies that are willing to bet on their estimates, or take one for the team if they can’t make it work.

Just know, everyone faces the most unknowns at this point and there may be unexpected turns along the way. If anyone’s guess is right at this point, it’s a miracle. Go ask them to buy you some lottery tickets.

3. Sprinting

If your project involves redesigning an experience, an agency that suggests a design sprint is one that is thinking ahead. A design sprint’s purpose is not to figure out the entire project in a few days. It simply allows you and your agency to collectively start off at the same spot and gain a shared understanding of the goals and problems to solve in order to more appropriately prepare for the road ahead.

In these meetings, you should expect to meet with the project manager, a tech lead, a design lead, and possibly another designer on the team. From your side, any decision maker, product owner, designer, and developer is welcome (and requested) in the room. This combination ensures no one is left out and everyone gets a voice at the table.

Design sprints set project expectations early on and can prevent the repercussions of determining solutions in silos. It builds trust and sets a solid working relationship with the entire team. Plus, it’s more exciting and engaging since, let’s be honest, the first parts of a project tend to be slow.

4. Followed by a slow, steady pace

Which reminds me – don’t be surprised if, once the project gets started, it feels sort of sluggish. You were likely involved in many conversations and there were a lot of moving pieces in the very beginning. But once the team actually starts in on the work, there’s a lot of strategy, thought, and process that goes into actually delivering work. And that takes time.

Let’s put this into practice. You have a legacy application that needs a complete overhaul. You’re looking at both design and development time.

In design, there’s likely a period of time where more in-depth conversations happen in order to understand the user scenarios and best workflow solutions. The agency team is still facing unknowns in user behavior and they are likely diving into details and structure. They likely aren’t jumping straight into visual designs, since that would actually be a poor use of time.

Then design strategy progresses into sketching and wireframing; this, for some stakeholders – those who want to see the final product – can be a hard deliverable to feel excited about (that’s a separate post to write about). And even after wireframes move to visual design, it still might be a few versions until that piece is complete.

This single part of the project still has to get passed to development to wire up and test. Often, the developers can only share screenshots of their works-in-progress since features tend to be complex and have multiple dependencies. Eventually, you’ll see one element or page, and it feels like weeks since your discovery session!

Relax. This is normal. Look back at the timeline and roadmap that should have been given to you. Is the work in line with that schedule? Are the milestones being hit; do you see the progress? These timelines and schedules should account for all of this, including your input and collaboration (which, also takes time). If it’s taking longer, raise a flag. But otherwise, know that the first step takes the longest, and then the train gains momentum as it goes along. Just be patient.

5. Your agency brings the expertise, but you should be a part of it

Once work begins, it’s the agency team’s turn to bring their expertise to the table and put some focus time towards the problems they are designing for.

Here’s a tip of what to expect: your involvement! Raise a flag if the agency locks itself away for a couple of weeks and reveals their ideas fully fleshed out. Working in isolation isn’t healthy for anyone or anything, especially not your project.

You should expect an agency to bring their expertise and defend their ideas, and you should listen to what they have to say. But you shouldn’t allow them to push an idea without a reason. Their decisions and opinions should be grounded in research and knowledge.

Look for an agency that wants to share their early ideas with you. Or one that might invite you to a working session. This type of agency not only values your input, but also wants to make sure you understand and support the decisions.

Great communication is also necessary within an agency, between the design and development teams. A good design does not make it impervious to technical limitations. Great designers understand boundaries, but they can also push past them to find suitable workarounds. Designers that work with developers can have important conversations early and find solutions that maintain the integrity of the design without breaking the implementation bank.

At the same time, a development team that doesn’t seek the insight and expertise of the designers may not understand the required functionality. This can actually hinder the user goals and hurt your business. Open communication early and often can avoid costly changes down the road.

6. Look for transparency in work

Design and development isn’t a black box or a wizard behind a curtain. From the minute the project starts, you should start to see how your project will actually be built, as the designers put strategic thought toward interaction and form and the development team build technical specifications and requirements.

The same goes for transparency in budget and schedule. Things don’t always go as planned. A team that lets you know as soon as a red flag in budget or schedule is seen is one that is equipped to navigate around obstacles. Nothing goes smoothly – you want a team that isn’t afraid of challenges and can guide you through them safely and stay focused on the end goal.

7. Prepare for takeoff

Once everyone feels good about where they are after testing, it’s easy just to think about flipping a switch to “Go.” But you should make sure your team is prepped for launch. Some teams, like ours, have a set of checklists they’ll work towards to ensure we don’t miss anything. From setting analytics code to checking redirects, SSL and DNS, there are always items you may not be thinking about but your deployment team should be.

A prepared team will have a kickoff with you to make sure everyone is prepared and answer any unknowns. On launch day, your deployment team should guide you through the stages, followed by live testing to ensure it goes as planned.

8. Don’t stop looking ahead

You’ve all worked hard, but there’s still more that should be done. There’s a lot to learn after launch, and everyone should evaluate how your project works, now and over time, in the wild.

At Planet Argon, we’re able to experiment with smaller iterations of work. We can watch analytics, track behaviors, and experiment with A/B testing. We can even ask for user feedback in short surveys. Our preference is not to push projects out the door and move on. We’d rather work alongside as a partner, evaluate your project over time, and strategize ways to move it forward. These are our ideas too, and we want to see them succeed into the future.

What works for you?

Every agency works differently. They might bill differently and have different tools they use for communication, design, or development. Think about how they work, and, most importantly, how you’ll work together when you’re looking for help on your next project.

Have a project that needs help?