Search the site:

Copyright 2010 - 2023 @ DevriX - All rights reserved.

6 Things We Learned In 2014 As a WordPress Agency

Note: Previously posted on SpinPress before the website was shut down.

We have been running our distributed agency for 4 years now and everything seemed to work smoothly for quite some time. I started DevriX with a university friend helping me with our WordPress development projects, and now we are 5 people strong (full-time) with 6 more part-time contractors. 2014 has been eye-opening for me since our business changed quite a bit, and so did we.

We signed a contract with a marketing agency building their SaaS solutions in late 2013. During the first half of 2014 we were so consumed by the single large client we’ve handled, that we stopped taking on new projects due to the lack of resources. Our team grew, we had a few more projects to complete and by the end of April we were left with a single client and enough manpower for more WordPress work. Our regular project flow got silent, and we were no longer able to work on smaller projects due to the agency structure and workflow.

In 2014 we spent weeks on various activities in order to put everything in place and formalize processes for everything. Metrics, project proposals and contracts, inbound marketing and much more. We have attempted to launch two products, but the traction has been so low that we got back to the drawing board.

Things are slowly getting back to normal now and the good news is that we have decent traffic to our site and a stable strategy. And here are the most important lessons we have learned in 2014.

1. Project Management Matters

Most freelancers and consultants try to focus on the actual work and often avoid the actual process. Once we started working on several large project simultaneously, things got hectic. There were emails and Skype chats with assignments, shared Google Docs files, people discussed solutions privately, we got sidetracked by working on the wrong assignments without paying attention to the big picture. This led to scope creep and additional work that wasn’t discussed upfront, and we had no tools to manage that.

Even if we had used PM systems since 2011, we had to move the entire communication in our project management system. We have organized our project structure and internal workflow with phases to allow for several people to work together.

Larger tasks such as “build the analytics engine” are now decoupled into small units of work, usually around 2 hours each. For example:

  • build the stats database structure
  • create a settings page for statistics configuration options
  • integrate the jQuery library displaying the data
  • track the X, Y, Z actions in the database
  • build a flexible data layer to fetch statistics by different input arguments
  • cache the data
  • build a script to aggregate data stats from the entire Multisite network

The list goes on, but this way we have a clear picture of what needs to be done with each component. It’s easier to start working without hesitations, and see how different components interact with each other. We spend a significant amount of time before we start developing a project in order to find possible bottlenecks and conflicts that could happen at a later phase, making it impossible to refactor and resolve those issues without breaking the entire project.

We also introduced phases:

  • Future Version
  • Awaiting Approval
  • In Development
  • Testing
  • Completed
  • Deployed

This allowed us to bring in testers, designers, developers, project managers and the client in the same project and assign tasks to milestones. We are using Asana and we can limit the access to a specific workspace, project or even task. Our workflow is weekly scrum iterations, delivering a certain set of fixes or features on a weekly basis – this allows for quick iterations, ongoing changes and flexible work style of the team here.

Organize your process in a way that allows you to grow, understand all of the requirements, isolate unnecessary risk and manage the project with ease.

2. Recurring Business Is a Must

Working for yourself or even managing another person or two is doable, but paying salaries for 10 employees each month requires a lot of work. Unless you build small WordPress websites or designs and have an established straight-forward risk-free process plus a sales person full-time, finding work suitable for the team is challenging.

There are several strategies for providing a stable income for your business:

  • Sign a large contract that could pay the salaries for the next year or two
  • Work on several mid-sized projects at the same time
  • Build a premium product or service with a monthly/annual subscription
  • Provide some sort of maintenance or continuous development services

These could be combined, but the main point here is ensuring that there will be enough profit to pay the bills and salaries at the end of each month. Planning for a few months upfront is also essential, since finding a reliable source of income takes time and you can’t take that sort of risk. Also, finding new clients during the summer or around the Christmas holidays is challenging and people could be having fun with their families for weeks, while you need to take care of your team.

Build a steady cash flow that would reduce most of the pressure and focus on recurring payment strategies.

3. A Website Itself is Not a Business Solution

One of our mistakes before was building websites. We asked for specification docs, feature list and more without paying enough attention to the business goals.

Clients are often not acquainted with the online space and the technical industry. They want to be online, do some sales, promote their services, but their main target is “I want a website”, or “I want an e-commerce store”, or “I want a CRM to store clients”. They also try to propose strategies that make sense to them, but will harm the business unless you teach them better.

In 2014 we kicked the “website building” term out of our heads – and we started building web solutions. We discuss the scope of the project and the business model with our customers. We propose various options to popularize them, to work on their content or marketing strategy. We offer them various affordable options that WordPress provides in order to help them get more happy customers and convert better.

We consult them on user experience and integration with various APIs to make their work easier, and their users happier. We spend more time at first and explain what is the difference between spinning up a clean WordPress install with a free theme on a cheap hosting versus building a complete and reliable solution that helps the customers. It’s challenging to compete with the thousands of agencies that sell cheap websites, and it’s important to outline the benefits or building a brand and focus on the business objectives, the target audience and the problems that you solve for your clients.

4. A Website Can Always Be Better

Another idea we started pushing forward was the fact that a website can always be improved. Look at all of the solutions that you use on a daily basis, such as Facebook, Google Docs, or Twitter. They add new features all the time, improving their user interface, adding new features to improve the workflow and make their users happier.

It’s an ongoing process that never ends. Technology and the online space change all the time, and we need to catch up and introduce new benefits in order to make our users satisfied and excited to be with us. Which is why we have the “Future Version” label in our PM system. We add all the ideas that we have discussed with our clients there, or anything that we think of that could be of use. During the development process we keep adding enhancements and more additions that could improve the new solution that we’re building.

Since we usually deliver on a weekly basis, we always stay in touch with the client. This way we generate more ideas and propose enhancements that could be added to the next iteration. Those ideas often come to life and we plan for additional milestones for a project, additional sub-projects and modules that would improve their end product.

5. Always Measure Everything

Once we were left with a single client, we had to sign a few more ongoing projects. However, we had no clue how our clients find us, how they interact with our site, and what to optimize for in order to get more customers aboard.

We spent a few weeks working in that direction. Analyzing our Google Analytics results and our Google Webmaster Tools keywords list. We have implemented other tools tracking specific campaigns, lead form captures and incoming channels for new users. We have started a few paid campaigns and tracked them carefully, in order to optimize our messaging.

Once you start to measure everything, you need to know what converts well and what not, and which channels are successful for your brand. This way you can focus on the easy ones and improve your process for the other mediums.

6. Your Brand Is Your Identity

Since the majority of our work used to be “word of mouth”, we didn’t pay much attention to our own website. As the famous idiom states: “The shoemaker’s children go barefoot”. We are also active in the WordPress community, building free tools, contributing to the WordPress core, speaking at WordCamps and meetups and getting better at what we do. However, the community is great for hanging out with friends, but the majority of the people there are freelancers, developers at WordPress companies or WordPress business owners, and that is not the best place to find clients – unless you build premium products for WordPress developers and designers.

A research by Verizon and Small Business Trends states that 85% of small businesses get customers through word of mouth. This study is very important since it determines the quality of our work and the possibility that we get referrals, but as a company grows, this can no longer be a reliable income. First, it is too risky to rely on random people just stopping by, and second, your expenses require larger revenue streams in order to stay in business.

We did two redesigns of our own website in 2014. Now it’s pretty much an ongoing process of constant improvements given our measurement strategy. We optimize the site, track all of our tools, get constant feedback from our visitors. We have increased our visits by 300% in three months, and we will keep on working in the same direction. Our bounce rate is now lower, and many visitors browse at least a few articles or pages once they land on our site.

We hired a social media marketing expert to take care of our social media accounts, come up with content ideas and share valuable resources by other sources as well. In December 25% of our traffic is from Google, and another fourth of it is from the social networks. We increase our exposure to people all over the world, and we learned that some of our clients search for us in the social networks, read our reviews and validate us by our activity and openness – which is a reasonable thing to do with virtual businesses.

7. Bonus: Content Marketing

Building trust is essential for your brand and winning new customers. Working on free resources that help others and establish you as an authority is a great way to increase your exposure.

We have content marketers on board writing tutorials, user guides, books, preparing infographics and more. We are building free plugins and themes and combine all of that in our portfolio section. Educating customers is a great way to get consulting or development work, create partnerships, collect your users’ contact details and get featured on different mediums.

It may seem counter-intuitive to share everything you’ve been learning for years, but this is essential for getting the word out. This makes your brand recognizable, your team – more reputable, and clients are more willing to invest in you having your open policy on your work process, the way you work and the type of products you build.

What have you learned in 2014 and what are your goals for 2015?

Leave a Reply

Your email address will not be published. Required fields are marked *