With predictions of online shopping phasing out retail outlets in the next decade, people are increasingly jumping on the online store’s bandwagon. Developing a WooCommerce project requires time and expertise that sometimes might not be available at your agency when you need it, forcing you to look for help elsewhere, like freelance developers.
If you have come to the stage where you need to call in a specialist, what are the things to consider? How do you make the new “additions” as smooth as possible? But also: what if your client has already some in-house developers available?
If things aren’t planned and executed very thoroughly, it could be a real mess with so many people involved.
Let’s dive into how you can manage such a tricky working scenario and turn it into your advantage!
You must have good communication, or else nothing good will be accomplished
The cornerstone of any working relationship and the key to successful project execution is always extensive communication. Both with your clients, who are important to develop a clear picture of what exactly are their requirements, and with all developers involved, whether you’re directly bringing them into the project or they’d come from your client’s.
To accomplish this, many agencies and developers use Slack for group discussions because of its many features. The importance of having a common ground where communications go back and forth among all parties involved is further elaborated by WooExpert and Codeable expert Mitchell Callahan of SAU/CAL who says:
This is something that happens quite a bit: clients hire you because they want WooCommerce expertise but then they might have like a developer in-house or a freelancer they usually work with. That’s why you’d need to make sure that any developers working on a project, along with the point of contact from the client’s company, are all on the same Slack channel. This way all subjects involved in the project can communicate with each other more effectively.
Once communication tools are set up, it’s time to focus on the next one: code repository.
You have to have a solid process for code
When different developers are working on the same project, you don’t want to grope around hundreds of codes, files, directories to find out who did what and where. That’s why tools such as Github or Bitbucket must be set up correctly to let you keep track of any changes in the code.
When you’ll be working with other developers outside your business, you have to have a Git repository so that you’re able to track changes. If anything is added to the site, you’ll be able to know who added it and when so you can isolate if issues came up.
The most important thing here is having a solid process in place: so before anything gets pushed to the live server, we always have to do a pull request and then someone does a code review.
Tools are just a mean to a more efficient working environment. The missing part, as you saw, is having a clear process that will enable all the moving parts to operate as frictionless as possible. And that’s our next point.
Everyone has to know what they’re in charge of
The outcome of any development process relies on the clearness of instructions and roles that each subject has to abide by. Specifically, if you want to have an efficient process, you’d need to have a well-defined structure for flow of commands, as Mitchell underlines:
If you’re working with other developers, what I recommend is you having a hierarchy. In fact, we always advocate that our CTO is the one in charge of pull requests. This will enable him as the only one who has the ability to merge so we can make sure that each chunk of code gets reviewed, merged, and scheduled in a structured way. In large organizations, this can be a bottleneck and you can have multiple people tackling it.
This ensures that there is no conflict of authority on the project and, of course, that the process is executed seamlessly.
Project management tools: pick one and share it among all
If you’re doing everything to mitigate pitfalls, you can’t miss investing time into clearing the air around project management tools. The most important one is to stay away from having more than one PM tools running at the same time. That’s something that will get sloppy in minutes, hence increase your workload while adding no value at all to the project.
When working with freelance developers and your client’s in-house developers on one of your projects, your goal is to have all parties involved on that PM tool you’re most comfortable with. I know, it sounds something pretty difficult to achieve because everyone has their own preferred tools. But here’s how Mitchell and the guys at SAUCAL are able to win clients and developers over:
A lot of people use Jira, for example, where we use one called Breeze instead. Some people, when they first saw it they tell us: ‘Oh, this doesn’t seem like too powerful.’ And that’s where the education component steps in. We explain to them we’ve been doing this for years for their same purpose (building WooCommerce sites). And for the ones who are really wanting to be thick and thin and part of the process – usually they’re developers – we will spend time training them on how to use our system, that way we’re all working in a cohesive, shared way.
Having different project management tools between different parties, i.e. you, the client’s in-house team, and some freelance developers can extend project time frames unnecessarily. That’s why getting rid of duplicate tools and centralize all efforts into a shared one is greatly beneficial to the project (and your mental sanity).
Slack channels, shared repositories and one Project Management tool, which all parties involved agree to use, are some of the core elements to a fluid project completion. However, as with most of the things in life, everything boils down to effective communication between all parties. Bridging this gap is crucial because, as Mitchell says:
Whoever has got the weakest communicator is going to be the weakest link.
Matteo Duò is Content Strategist at Codeable.io, the #1 WordPress-focused outsourcing platform that pairs world-class WordPress developers with businesses in need of quality work. He’s been actively engaging with clients and developers for years now to document the different intricacies of their relationships and provide guide on how to leverage WordPress as an effective business asset.