When embarking on a new website design project, we like to think of our path as a simple A to B route. One direction, no tricky hurdles. Easy.
In reality, almost every freelance project has something wrong with it. I can count the number of heaven-sent projects on just the one hand, out of the hundreds of websites I’ve worked on over the past 15 years. And when you’re a freelance web designer or small business, the impact of a rocky road can be felt even harder.
For me, there are a number of bumps in the road that can knock the project off course. In this article I run through five common web development problems that need careful negotiation as not to cause lasting damage.
#1 You feel rushed
This is a biggie for me.
Generally, I like to make sure that my code and files are well-organised. I like consistency in my naming conventions, and am usually thinking about scalability in every aspect of my work.
But not when I’m rushed. When I feel like the hourglass is quickly emptying, I bend the rules. I’ll reach for quick fixes and even hacks to get the work done. I’ll lean heavily on plugins or solutions on StackOverflow. And as if the sense of feeling rushed isn’t bad enough, my knee-jerk responses can leave me feeling stressed.
Rushing in this way can lead to poor management and bad work, so here’s what I do to try and avoid rushing my work and letting the project go south:
- Stop and breathe — recognise that the sense of urgency is rarely as pressing as it feels
- Zoom out — recognise that this work is just one part of a bigger picture
- Slow down and be mindful of my decision-making process. Is this piece of code a quick fix? If yes, will it come back to bite me? (probably). If so, invest in a better solution, and take pride in the work.
- Rearrange delivery date — tell my client to expect an update later than agreed. It’s not an ideal solution, but knowing it’s an option helps to take the pressure off.
For me, that sense of feeling rushed is generally caused by pressure I put on myself. If it’s the same for you, learn to deal with the internal dilemma first. These strategies can help to ease the process and work through the pressure.
#2 You’re working to a tiny budget
Sometimes, our desire to help somebody can be our own worst enemy. If you’ve ever promised to work to a small web development budget and then watched things get out of hand, you’ll know what I’m talking about.
Thanks to modern platforms, it’s relatively straightforward to put together a basic website these days. The website is the outcome, but the real value is in the delivery process.
When I work with clients to create a website for them, I ask them questions, conduct basic marketing research, take an interest in their business and listen to their feedback. All of this culminates in an end product (a website), and if the budget is really low, it makes doing this well much harder.
Efficiency is key
If you’re working on a low budget project, being efficient is crucial. A lack of efficiency can actually cause you to lose money, especially if you outsource work or have staff. Here are my top tips for dealing with small web design budgets:
- Agree milestones and dates. Try to avoid any slippage
- Agree a development and delivery process and stick to it
- Productise where you can
- Deal with change requests assertively, and don’t let the project get knocked off-track.
Remember that it is your responsibility to set constraints. Your client doesn’t really care (or even realise) that you’re working on a shoestring, so efficiency and process are your friends on low budget projects.
#3 Your client is difficult to manage
Difficult clients, sometimes referred to as bad clients can be a real problem if you’re a freelancer.
It can take a lot of work to win clients as a freelancer and so when you do, you need that project to work out. With problematic clients, the odds of that happening are diminished. Tricky customers can sap your motivation for the work and leave you feeling exhausted. The key is to manage them…
Dealing with tough clients
Difficult clients are picky, opinionated, rarely respect your processes and in some cases, don’t like to pay their invoices on time. Here’s what you need to do:
- Make sure your formalities are in place: contracts, invoices, specification documents. You need to run a tight ship.
- Be super pro-active: try to anticipate their concerns or opinions and have responses prepared wherever possible
- Practice your confidence skills to improve the way you manage projects and people
Remember: almost all tough situations, even if it doesn’t feel like it at the time, will pass.
#4 You don’t have enough resource
Have you ever dreamed that there were two of you? It would be handy, wouldn’t it. Another you help out with that extra work or do the boring jobs.
But if you’re feeling overloaded on a project, looking on the dark web for home cloning kit isn’t the answer. I’m still grappling with the question of what to do when I’m too busy myself to do the work, and there have been times when I’ve felt like I’m drowning. My goto responses to this are:
- I try to plough through itty bitty tasks first to clear the decks to give me momentum
- If the task is within the client’s capability, I ask them to do it
- or I outsource it, if I can retain a profit.
Outsource your basic tasks
Quite simply: there will come a time in your business when you really can’t do everything. And the more clients you build up, the bigger your responsibilities will become. Some common web development tasks for outsourcing include:
- Software maintenance/plugin upgrades
- Editorial changes on the website (uploading blog posts, changing photos etc)
- Email tech support
- Project planning (scheduling meetings, sending invites etc)
If you’re low on resource, look at the lower level tasks that keep dragging you down. What can you outsource to keep you focused on the bigger tasks?
#5 The goalposts are always moving
Have you ever worked with a client who just can’t settle on an idea? Their mind changes like the direction of the wind.
This can be problematic, because with each request to alter the agreed spec, the butterfly effect occurs. What might seem like a minor tweak can have larger ramifications elsewhere in the project.
Recently, an e-commerce client decided they wanted to integrate sophisticated subscription functionality to their online store. For many developers, this represents an unwelcome curveball mid-way through a project, but here’s the thing:
Clients don’t usually change their mind for the fun of it, or to annoying you.
In reality, project goalposts move because new information comes to the fore. New ideas emerge. As web developers, it is our job to handle that. Here’s what I do when goalposts shift:
- Determine if the change is valid and can be accommodated within the agreed spec
- If not, have an open and honest discussion about fees and timescales
- Agree to integrate the changes, or not.
People overcomplicate this process, but the 3-step method is really simple.
But, the grey area?
The more complicated and obvious that functional changes are, the easier it is to extract them as a separate piece of work. But this isn’t always the case.
In my experience, some clients can be quite picky when it comes to giving feedback, especially in the context of design.
For example — you integrate a form on the website using a plugin. The form collects all the information needed and sends an email. Cool. But your client isn’t happy with the form layout:
“Can those two fields be placed next to each other?”, “Can those checkboxes be turned into a dropdown list?” etc
This isn’t a changing of specification, but it a request you need to respond to.
The strategy is to keep an open dialog throughout the design process so we can avert these niggling back and forth change requests down the road. But ultimately, dealing with grey area changes comes back to managing your clients with confidence. I talk about this a lot on this blog, but it’s so important to internalise: practice assertiveness with your clients to keep a hold of the project, otherwise you’ll be trapped in the dreaded grey area for a long time.
There is no A-B route in web development
Even when you plan a web project meticulously you should prepare for, and expect, changes to occur. The term “agile” is banded about all over the place now, and I’m not suggesting that you try to integrate code sprints and shared Kanban boards with your clients, but adopting an open to change mindset can really help to manage the 5 common web development challenges I’ve outlined here.