Imagine the following scenario: You’re in a board room of a non-technical medium to large sized company. There’s a decision maker, their consultant (usually the networking guy) and a business analyst / assistant. The team wants to redo their huge website which will require a good amount of custom programming.
They quickly present the decision maker with their findings: $100,000 CMS “X” is too hot, WordPress is too cold, Drupal is just right! “Great!” says the decision maker. “Go forth with my decision and find me an agency that specializes in Drupal, CMS, whatever.” The team of course prepared retorts with “Agency x, y and z” who all have brilliant looking designs in their portfolio. They even have done stuff with WordPress! The one agency has a really nice office that made them feel warm and fuzzy, so, drunk off natural lighting and Diet Coke they push that company up to the top of the stack. “Excellent! Sounds good! You guys are so on point! Let’s get started right away! Who wants lunch?”
“$100,000 CMS “X” is too hot, WordPress is too cold, Drupal is just right!”
Fast forward 6 months to a year. There’s a problem. A huge one. Someone with administrator access saw the “Your site has available updates” in a shining red box and thought it’d be a super idea to just go ahead and fix it. The site doesn’t work. All your modules were in a bleeding edge alpha state, the database structure has changed, there’s no documentation, none of your configuration was set in Features and the custom code lingering around in the theme template files no longer work. The site is essentially hosed.
It gets worse. The agency did it on some guy’s laptop who “recently moved on” and on the production server only. There’s no continuos integration, no git repo or subversion, no test environment and only some other developer who barely knows PHP. The agency goes in to “nope nope nope” mode, pulls away from the client and reminds them how they signed off with their approval for launch marking the end of contract that you put $100,000+ down on. You hire a consultant and for a few hundred bucks your told about all this, not to mention they spent $25 on a prebuilt theme and clearly spent most of their time making it look pretty so you’d sign off.
"Somebody's been sleeping in my bed"
I’m not exaggerating either, this does happen and it does cost thousands of dollars at a time to fix. Sometimes it’s just better to start over even. It’s sad and it’s frustrating as hell. When I see this kind of scenario, I get the feeling that somebody’s been sleeping in my bed.
It’s no special secret, but I can’t count how many times I’ve said “The problem here is awareness.” Some simple questions, a few very easy sanity checks and you can save yourself a lot of money and unimaginable anger.
- How long has your agency been working with Drupal?
- What successes have you had with Drupal? (Not just a pretty site, what does it do?)
- What troubles have you faced with Drupal? (Finding talent? Security releases?)
- Have you ever taken over a failed Drupal project? Was it tragic? Was it …just great?
- Describe your development process and environment for Drupal. (Docker? Linux? …XAMPP? Do you make use of features and configuration management? How? What’s that?)
- Do you use continuous integration methods?
- Are you utilizing a repository of some sort?
- Do you have a dedicated Drupal developer or team?
- How do your developers stay fresh? (drupalize.me? conferences? …just what’s on Twitter?)
- What’s your relationship with the Drupal community? (IRC? Old friends? Forums?)
- Does your agency make any contributions in code or sponsorships?
- Do you attend conferences? Speak at them? Birds of a Feather stories? Sprints?
- Does your agency have a Drupal.org profile I can see? (Best for last. Looking for a yes.)
(hint: when I preface something in parenthesis with “…” that means bad.)
On that note I’ll stop to say, I completely understand that agencies get ahead in life by taking risks and in many cases pull the trigger and look at the target later with great success. But suffer no delusions, unless the agency your working with can sing through these answers with confidence and proof then you might want to reconsider your options because you're potentially facing a nightmare.
The Struggle is Real
I understand the struggle is real. Do you go off and just say nah? Maybe. In my humble opinion how hard the agency tries to desperately cling to the idea of getting your business at all costs would tip the scales in that decision greatly. Do they back off and concede to the fact that they have a PHP guy but he knows nothing of Drupal? How much room for error do you have in your scenario? Hey if you’ve got some padding and the agency is truly transparent with high spirits and desires for Drupal, the risk is yours to take and they just might be worth it. Go with your gut, take the questions above to heart and don’t look back on wanting to use Drupal. You already made a great choice, it’s just about aligning the pieces.
There are tons of agencies who do specialize in Drupal and can handle everything. However many people want to shop local and do their best to help their local community grow. This is great! You should orient yourself that way! But, I might suggest not putting your eggs in one basket. Perhaps “Agency A” builds the prettiest airplanes in the world, but they have no proof that they can fly. So just use them for the design and find yourself a team of Drupal folks that are truly Drupal masters.
All of this can raise the bar, a lot. I myself am just coming up to speed on some of this stuff even. A few Drupal developers I’ve had the honor of working with have made me sincerely aware of the depths of Drupal and just where I stand! But I don’t just scroll through Twitter barely keeping up with trends. I pay for ongoing training monthly. I interact with my community in chat. I go to conferences and hear what others think. I contribute by sharing my ideas openly, talking to people and giving them all the advice I can. I have honest stories and good advice. I love Drupal because of what’s behind it and do my best to align myself in the same way. Your agency should do the same. It’s not a lot to ask, I promise you that.