There are almost a million websites built on Drupal. The websites built on Drupal are growing ever bigger. In fact, Drupal is the main CMS contender if you want to build a big website and don't want to use expensive proprietary platforms. Website generators, headless CMSes and Digital Experience Platforms architected by massive corporations, all are built on Drupal.
Drupal, however, is a complex framework. Correct architecture and coding standards are a must to ensure the project’s long term success. Working with a knowledgeable partner can get you a long way compared to the situation you’d be in if you started with someone without Drupal experience. If you want to build a new system or a website or are just looking to get better service for an existing project, partnering with the best Drupal agency is the right way to ensure your project’s future success.
But how to choose a top Drupal agency
Before you start looking for a Drupal agency, there are a few things you should consider which will make your search much more effective.
Where should the agency be located? Ideally, everyone prefers to work with companies located close, but despite Drupal being a popular CMS, Drupal companies do not reside around every corner. This is especially true if you want to find true experts. Luckily, technology has all but eliminated barriers for cooperation even over great distances and most agencies are really well experienced in working with remote clients.
The only 2 issues that might prove challenging when working with someone not from your immediate proximity are: time difference and language barriers.
It is much easier to work when at least one hour of overlap exists between the working hours of client and agency teams. Lack of overlap requires additional planning and more explicit written communication on both sides to ensure predictable project progress. In Droptica we still manage to deliver successful projects with clients in California and Australia, but our project managers have to take the asynchronicity of communication much more into account... and sometimes also adapt working hours a bit to allow for an evening status call with a client, who just got to his office on the other side of the globe.
Language, of course, may also prove to be a barrier or at least an obstacle to overcome. If you are working with an agency from a different country, then, typically the language you will have to communicate will be English.
It helps a lot to know what your development budget is. Most agencies are good at delivering projects of a particular size, eg:
- small - up to €10k,
- medium €10k - €100k,
- bigger: €100-€500k
- or big: over 500k€.
It is very difficult for a small company to deliver a huge project because it lacks processes and experience to coordinate a bigger team and track progress in a longer timeframe. On the other hand, a massive agency will have a hard time fitting its process into a smaller budget.
Another reason to have a budget handy is that many agencies will ask you about it. A great drupal agency is contacted by many potential clients and will have a process in place to quickly determine if there is a fit. You do not have to give a concrete amount (you may not yet know it), but having an overall level of acceptable cost in mind helps everyone decide if the match is right. An experienced agency will ask you not to waste your and their time if there is a misalignment of expectations regarding the size of the project.
An agency of a freelancer?
You may consider choosing a freelancer instead of an agency. This might actually be a cost-efficient solution to your project, but there are a few things you should keep in mind.
A freelancer works solo - you will have placed a lot of reliance on one person. If for whatever reason your ways part, or even in the person becomes temporarily unavailable, you have to have a contingency plan in place. Realistically, the only sound plan is that you are the fallback expert, because there is no one else who knows your project. A freelancer is therefore a good option only when the project is not very important or is not yet live and timelines on delivery are not very tight.
A team of freelancers requires coordination - if you hire a group of freelancers to deliver your project, you will have to coordinate the effort. They will not know each other and will usually not have worked in the same fashion. To ensure a predictable outcome, you will have to put processes in place to ensure that what they deliver is coherent. People from various backgrounds and with various experiences may choose different technical solutions to the same problem. If every one of your freelancers works by himself without technological coordination, your project might be in jeopardy. A solid agency, on the other hand, will have processes and structures in place to ensure that the deliverables of all team members make sense.
The interview process
When you have the basics ready, it’s time to search for the agencies and contact them. There are a plethora of lists with agencies on the internet and a quick search in google for a “Drupal agency” will result in quite a good starting list of companies to contact. I will leave you to do this piece yourself.
I will however talk about how to vett the agencies. Below I will list topics worth covering with the agencies of choice. This is by no means a closed list, but it is a good list to start the discussion and int also contains the most important points.
Do not start from your project
You are probably super eager to get down to details of discussing your project. After all, that is why you are looking for a partner - to progress your project.
This, however, might make it difficult to learn more about the company and will make it very time consuming to choose the right one. Details are difficult and can take a lot of time and you will not really be able to go through them with 7 or even 5 companies - especially if you have to grant access to systems or designs and documentation. It is best to wait till you chose one or two final contenders.
My suggestion, would be to briefly describe the project, mentioning the size and timeline, but without going into a lot of details initially. The preview will allow the agency to decide whether your project is potentially interesting, but you will not get bogged down with detailed discussions yet. You will be able to make your evaluation much more easily.
Let talk about questions to ask:
How do they work, how do they want to go about your project
This is a very high-level open question which allows you to learn how the company operates. You will learn about the approach they take to managing project, communicating, etc. It gives you an initial sense of what to expect in terms of how your project will be handled. It is a great opening question to a more in depth discussion. Things to look for here are:
- Does the company have a process?
- Is the process organised and predictable?
- Does what they propose fit into your organisation, are they willing to adapt?
Ask follow up questions if you have any. Follow up questions aim to specify the general information and are a great way to identify if the company actually walks the talk or is this just the salesman telling you what you want to hear.
Will the agency use a methodology to deliver the project? There are multiple approaches to project governance and they differ greatly. On one hand there are the agile methodologies, including SCRUM, which deliver results quickly, but require involvement from your side. On the other hand, there are all waterfall methodologies, which do not require involvement during the project, but require very detailed specifications and bring a risk of not meeting the expectations when the project is actually delivered.
Communication on a project is very important. If it is set correctly and matches the process it helps everyone keep track and move forward. Not organised formally, it will slow the project down.
Things to learn:
- How will the communication be handled?
- Who will be your primary point of contact.
- Will you be able to communicate with whole team or just the Project Manager?
- What tools will you use to keep track of progress and contact each other.
- How will requirements be gathered? Will there be an easy way for everyone to access them?
These questions are aimed at understanding how you will deliver your requirements and keep track of what is happening on your project.
In Droptica we typically have 4 main communication streams:
- Jira (Project Management / ticketing system). Jira is the backbone of the project. All the tasks and their acceptance criteria are gathered there and progress is tracked. Using a ticketing system helps everyone understand what is to be done, what do we currently work on and what is to be delivered.
- A documentation system - where we gather project documentation
- Slack - a chat for the whole team and the client to quickly catch up and discuss issues, ask questions.
- Video-conferencing - daily status meetings, progress presentation, demo meetings etc are best done in an actual meeting. Also sometimes it might be easier to talk then to post a million messages on slack toa agree some detailed topic.
Building on Drupal is just the start. You have to understand how the agency will take care of you project after it is delivered. As any software solution, Drupal will require security upgrades. You also might want to develop the project further but in smaller increments. You should verify if the agency is able to provide you with such service or if you will have to look for new one once the initial development is finalised.
In Droptica, for example, we have a separate drupal support team, which takes ofer finalised projects, monitors and upgrades and performs any other maintenance tasks required.
Examples of previous work
The best way to verify if the Drupal agency is able to deliver you project is to ask them about similar projects or projects of similar size. This is especially important if your project is not a standard website but something bigger. Many Drupal agencies have experience in building marketing websites but are not able to create and maintain a complex system with multiple users and business logic.
Of course it might be difficult to find an agency which has built something exactly similar to your project. What you want to verify here is whether the company has built things with similar or greater complexity or size of scope.
Prices, estimations and agreements
Once you have gone through the initial interview, you are ready to talk about prices. Depending on the project, its size and complexity, this might be a quick or quite a long process. It is best to narrow down the number of agencies you are talking to at this stage not get overwhelmed with questions. At this stage it also good to understand:
- How does the agency calculate cost
- What are the payment term the agency allows
- How will you be able to monitor progress if there are installments or prepayments involved
When talking about costs, it is important to remember that price alone should not be the only factor you take into account. In software development, quality is almost always cheaper in the long term. If an agency delivers a solid project, you will not have to incur additional cost of fixing multiple bugs and it will be much cheaper to maintain the project over a long period of time. Choosing a cheap, but not so experienced agency, might result in a project that will eventually prove very expensive to maintain and the initial gains will quickly be consumed by upkeep costs.
While gathering all the information about the company, it is also good to look at the overall impression. How do you feel about the company and the people you are talking to. If you chose a drupal agency, you will most likely have to be in a lot of contact. How does this make you feel? Is the cultural match right? Is the vibe you are getting positive?
Good chemistry is quite important, it will make for a much nicer experience if you actually like the people you are working with on you Drupal project.
When you have all the facts, you have to make a choice. Do it wisely looking not only at the price but the overall picture. The expertise, communication, people - all pieces of the puzzle. I hope that the above questions will make it much easier for you to choose the right Drupal agency for your project.