Last week I gave a presentation at WordCamp Paris, focused on what WordPress agencies need to do to be enterprise-ready which I think is the biggest challenge the WordPress community is facing in the next ten years.
At WordPress.com VIP, we’re at the forefront of evaluating, analyzing, and enabling enterprise and large-organization WordPress projects with WordPress developers and agencies all over the world. As the software matures and becomes more well-known, the demand for bigger and more innovative projects is increasing, too, and the many WordPress consultancies around the world need to be ready to answer that call.
Below are the slides from my presentation and then some additional insights and advice from WordPress.com VIP Featured Service Partners to WordPress agencies and consultancies all over the world.
Q: When did you know it was time to grow your team & how did you do it? What has contributed the most to your growth?
Austin Smith from Alley Interactive: Our project management team keeps a close eye on resource allocation and lets us know when it’s time to hire. We don’t allow ourselves to grow rapidly in response to any one big site build project—the baseline revenue has to grow in order for us to take on a new FTE. This also means that we can’t say yes to every large project. We’re lucky to have watched a similar agency expansion in the Drupal world from the sidelines, and we’ve witnessed that the agencies that grew rapidly in response to a few big contracts had a very hard time surviving after those projects were delivered and the big checks stopped coming. Don’t accept a project that you can’t deliver with the team you have at the moment you sign the agreement.
Tom Willmot from Human Made: We’ve grown organically as the amount of work coming in has grown, we’ve generally been pretty cautious when adding to the team which I think has served us well. In the beginning that growth is slow as adding a single new person could be the equivalence of growing the team size by 33% but as you grow it becomes easier to grow more quickly.
Simon Dickson from Code for the People: I think of the early days of WordPress as a ‘serious’ platform – by which I’m talking 2006-8 – as its ‘punk rock’ years. I had seen corporate web development become slow, costly and too clever by half: think Pink Floyd, Frank Zappa, Emerson Lake and Palmer. For me and many others, involvement in WordPress was a reaction against all that, powered by enthusiasm rather than education. We could produce great work in small teams with minimal knowledge and minimal overheads. And although we could see amazing potential in WordPress, we tended to keep our ambitions in check – no concept albums or twenty-minute solos.
But as WordPress developed, and as we kept proving ourselves on the small stuff, clients began bringing bigger and bigger projects to us. Instead of modest microsites, we were being asked to develop the main website, or a corporate publishing platform. And with greater budgets come greater responsibility. We needed to expand the team, to provide cover for the skills we already had, and to add extra skills we didn’t already have.
The bar to becoming a great web developer is higher now than it ever has been. It’s unrealistic for someone to be an end-to-end expert in everything from responsive visuals to server efficiency, not to mention sales and business management. There’s still a huge market for ‘jacks of all trades’ – building smaller sites or working with smaller clients. But to build the kind of sites we wanted, for the kind of clients we wanted, we needed to put together a team of specialists.
Q: How has your coding workflow & style changed as you’ve grown? What prompted the changes?
Tom: We’ve evolved our workflow a lot, from what was a mish-mash of personal coding styles / workflows to what we have now which is pretty clearly defined. This was important to us for a number of reasons:
- We enforce internal code review, all code is reviewed by a coding buddy and vice-versa. This increases overall code quality, reduces bugs, promotes consistency and is a great way to learn from each other. We rotate those buddy pairs quarterly and purposefully pair across skill levels.
- Having a clearly defined workflow helps us work more effectively with freelancers and clients as they can easily get up to speed on how we like to work.
- Our local development environment is based on Vagrant which is huge in terms of ensuring everyone is working from a consistent base.
Simon: Over the past year, as we’ve added extra employees and expanded our freelancer pool, git has become absolutely pivotal to our work process.
We are a distributed team, scattered across the UK; yet we can all collaborate safely and effectively. Features can be developed in parallel, and merged together when ready – all the more important as we each specialise in different facets of site development. And with a visual tool such as SourceTree, we always have an overview of who’s working on what, and which version of the code is on which server. I can’t imagine how we ever coped without it.
Austin: The most significant change we made was to implement code review for everything we deliver. Every line of code we ship has at least one extra set of eyes on it. It’s not supervisory, it’s peer review, which fosters collaboration. This had a very positive side effect in terms of natural exchange of ideas, and has also ensured that our Github repositories now all use feature branches, which is definitely a best practice.
We formalized this practice when we grew our management team beyond the co-founders—it’s a way for us to ensure high quality code delivery whether the founders are involved in a project or not.
Q: What was the biggest challenge your team faced in serving larger clients?
Simon: In our experience, even with the largest clients, the day-to-day responsibility for a project usually rests with one individual. And whenever possible, we like that individual to feel like part of our extended team. We often give them a login to our company-only chatroom and our code repository, so they can see the commit messages and join the ongoing dialogue. Transparency builds trust, with benefits for both sides.
Our biggest challenge has been learning to be patient. I spent most of my career working for large organisations, from national governments to tech multinationals, so I know all about dealing with slow decision-making processes, and challenging long-established policy or practice. In those first few months working for myself, I couldn’t quite believe how productive I could be. It’s all too easy to forget that others are still suffering.If you want to deal with large clients, you just have to accept the slowness. ‘No brainer’ decisions can take months, and there’s almost nothing you can do about it – apart from being ready to respond, as best you can, when the answer finally arrives.
Austin: We started our firm to work on big projects with big clients, so the size of work has only gotten incrementally bigger. We’ve always enforced internal consistency per project, but allow for overall standards to improve from project to project.
Tom: Assuming clients want the cheapest not the best – when you come from the mindset of serving small-business you tend to be hyper focused on delivering solutions as cheaply as possible. Often when estimating a project, say to add a simple e-commerce section you’ll think “we could knock something simple together in 2 days, but to really build something great we’ll need 2 weeks”. We want to seek out clients that want us to go for the latter option.
Q: What’s one thing you wish you had done from the very beginning?
Tom: I wish we had participated more in the WordPress community, in the early days I was more of a lurker than an interacter and definitely lost out because of it, more WordPress agencies need to wake up to the power of being part of the WP community.
Austin: I’d say code review, but it I’m not sure it would’ve been a reasonable thing to ask of our smaller team a couple years ago.
Simon: Simon & I had both been through the ‘starting a company’ thing previously; and we had been working as an unofficial partnership for a couple of years. So we knew the pitfalls which lay in wait during that first year.My advice to others would be to look for opportunities to use third-party services wherever possible. Time is the one thing you can’t stockpile: so it’s almost always worth spending a few pounds/euros/dollars on a good hosted service which will ‘just work’, even if there’s a free self-hosted equivalent.
Thanks to our WordPress.com VIP Featured Service Partners for their insights! We’ll be adding more to this as the answers come in.