So you’re starting an online business, and optimism is running high. What could possibly go wrong?
Quite a lot, actually.
During a web development or programming project it’s easy to over-complicate, overspend, lose sight of your goals, and expend far too much unnecessary time & effort. You need to be aware of the common mistakes and ensure that you start out, and continue, on the right track.
Here’s how you can avoid making the 10 biggest, most costly mistakes in web development.
1. Surrendering Control
A common mistake companies make during web projects is surrendering control of their business to developers, or managed IT services.
Project leaders always set out to maintain control, yet so many find themselves in a predicament: they’re powerless in their own digital venture. This usually happens following a series of disagreements, or miscommunications.
Let’s suppose there’s a client and a web developer, and the developer has a dispute with the client. This might be over deadlines, payments, holiday time — anything. What risks does this pose to the client?
This isn’t to say that developers have such vindictive inclinations. But it’s a risk which needs eliminating, nonetheless. I’ll get on that a little further down.
Disputes and misunderstandings are surprisingly common in this realm. The root of the problem varies. Importantly, the customer isn’t always right!
Who’s at Fault in a Dispute? Client or Developer?
Here’s a couple of scenarios I encountered in web development and programming projects.
Client In The Wrong
When I worked as a freelance web developer I’d receive phone calls and emails from business owners.
I recall one time when an aspiring musician asked if he could employ me to obtain copies of professional photos, videos and audio files hosted (exclusively) on his developer’s server. He clearly owed the developer money, and was shut out of his portfolio until the bill was settled. As a result, he lost full control of his online presence, and panicked.
Needless to say I declined the job as, from what I gathered, the developer had completed what was originally asked of him. It seemed that the client (the musician) continued to change the objectives, and demanded more.
I don’t believe that the developer was right to shut him out. However, I could sense a distinct lack of appreciation for how much time, effort, and problem solving is involved in web development tasks.
Developer In The Wrong
Confrontations aren’t exclusively caused by non-techie, irrational clients. I’ve personally been on the receiving end of problems myself, as a client that understands the plight of the developer.
On one occasion it became clear that my programmer, for a web-based project, was so heavily invested in the work that he started to take it in totally new directions of his own — without permission. This wasn’t the original agreement. It wasn’t how I envisaged our relationship would be. Loss of control, and intellectual property, posed a serious risk to the business I’d invested in.
This situation was eventually resolved. But it was a wake up call: there’s countless scenarios where client/developer boundaries can be crossed if we aren’t prepared for them.
How to Avoid Surrendering Control of Your Business
Set up your web development project for long-term success:
- Outline responsibilities from the outset. Always set crystal clear boundaries between your employees/freelancers. One option is to draw-up enforceable legal contracts to ensure that your work and IP is protected. This can however be expensive, and overkill, for some small projects. So you need to assess your own risks.
- Communicate clearly. Avoid misunderstandings by creating a detailed project specification that you and your developer can refer back to. Include diagrams to illustrate your requirements. This is evermore important given we’re increasingly using remote developers from across the world, accustomed to different native languages.
- Host everything yourself. From the outset, make sure you (or someone you trust, with significant control of your business), owns the host. You want to hold all the digital assets in your possession.
- Use recognised systems. Use systems that are well understood by either you, or the majority of developers. You want to be able to respond quickly if your developer leaves the company, falls ill, or goes on holiday. Little-known or bespoke systems are hard to take over, and that makes it difficult for you to detach yourself from a individual developer in the event of a crisis.
- Make regular backups. You can ask your host about the data backup services they provide. Alternatively set your developer (or trusted employee) the duty to ensure that all files are periodically dumped to an external location every week or so. Verify that it’s done.
For more on this subject, read about the risks of outsourcing.
2. Intricate Designs
We all like the idea of changing the face of the web with a groundbreaking new design. But you’ve got to be realistic about the costs involved. In most cases, you’re better off sticking with tried and tested methods.
How Do You Approach Website Design?
Here’s a perfect example of how I’ve learnt to best approach website design.
Recently an illustrator asked if I could help her setup an online portfolio to showcase her work. Being an artist, she’d drawn ideas of how she wanted the site should look, what should be positioned where, what visualisations should be used.
I presented two options to her:
- Bespoke. She realises her precise vision for the website — but runs the risk that it might not look or feel the way she intended. It will be complex to develop, amend, and extend. Some on-going assistance may be required.
- Out of the box. It’s developed using an existing framework (e.g. WordPress). Originality will be sacrificed in favour of stability and flexibility going forward. No web maintenance is required to grow the site — she can do it all herself.
Option (2) was clearly the better option for her. In fact, it took only one day to set up the entire portfolio to her satisfaction using that method.
Did it look exactly as she’d imagined? No. But it came out good, nonetheless!
But I’ve learnt this this approach hard way…
For example, I once hired a professional graphic designer to visualise the ‘perfect’ interface for a web app. It was catered to my exact requirements — completely custom. The finished design looked absolutely stunning (in Photoshop format, anyway).
Turns out the Photoshop design was a nightmare to develop. It was made to look pretty; not to conform to web standards. Thus it was a concept, and nothing more. Attempting to implement that design was the downfall of an otherwise successful project. It was costly.
For many small businesses (mine included), the simple, more robust option is best.
Focus on Goals, Not Aesthetics
Try to avoid starting out your web project with a super-precise vision of how you want your site to look. You’ll spend far too long trying to realise that vision.
Instead, start with a clear vision of precisely what you want your site to do, and how you want it to feel. That way you’re focused on goals — which matters most to your project. Achieving those goals is a lot, easier, and cheaper, if you remain agile and open-minded with design formats.
Whilst you lose some originality, remember that standard, recognisable design formats have evolved from years of web development. They’re used for a reason. So unless you’re an expert in UI design, you’re best off opting for a tried and tested layout.
With any project, find an existing framework which meets your basic requirements. Then work backwards. Customise it to look and feel the way you want. Give it some unique touches. Be artistic once you already have something solid in place.
To get started with creating your own website, I recommend signing up to Bluehost and setting up a WordPress site — like this one.
Need a hosting service? Learn more from my post on the best WordPress hosting companies.
Note: by recommending Bluehost to my site visitors, I’ll receive commission for any signups made through my tracking links.
3. Unnecessary Work
I’ve touched on this point already, but it’s important to emphasise: you don’t want to spend too much time, effort and money on development. You’re in this for the end destination, not the vehicle which takes you there.
It’s incredibly cheap to create a feature-rich, stable website nowadays. Free out-of-the-box solutions are widely supported, and have thousands of useful (free and paid) add-ons, known as “plugins”, for bolting on features such as:
- Contact forms
- Slide shows/galleries
- Newsletter signup forms
- Page redirects
- Page themes
- Shopping carts
- Comments sections
- Events calendars
- Social networks
- Booking systems
- Examination systems
… and a lot more.
A common mistake project leaders make is to attempt creating all of these add-ons from scratch. Or paying someone a hefty sum to do it.
Sometimes the easy route does the job. And that’s what really matters.
Problems in this space
Some developers add to the ‘over-programming’ problem by:
- Suggesting a complex route to clients, even though an out-of-the-box solution exists.
- Taking the out-of-the-box route, and passing it off as a more complex self-programmed system.
Either way, it’s costly for the client.
In my experience, programmers (particularly the Computer Science types) look down at ready-made solutions, like WordPress. It’s seen as the quick, easy, classless route — which is an oddly vain way of looking a things. Others are just caught up in familiar methods, and fail to acknowledge the obvious route; a common problem in all areas of business.
A more cynical view would be that programmers deliberately present the long route round to to prey on their naive clients who are none the wiser. It pays to rack up the hours.
Just remember, in the vast majority of cases there exists an out-of-the-box solution that will help fast-track your development. The real work comes later, in customising it.
Cutting Down on Programming Costs
I regularly hear about web projects where people have spent tens of thousands on on something that could have been achieved from an existing open-source — or very cheap — solution. You don’t always get what you pay for in this industry.
So whenever you start a new web project do the following:
- Research an existing solution. Get onto Google and Youtube and search for a customisable “Content Management System” (CMS) or other database-driven software solution that meets 90% of your objectives. Think of what other businesses already use a system that can be morphed into the one you’re aiming to create. Use that as a starting point.
- Test the basic product to identify improvements. If possible, set up an out-of-the-box solution and get to grips with the basic features yourself. Doing this will put you in a good position to instruct your programmer on what custom features you really need.
Take the time to learn what’s out there to start with. It could save you so much money and effort in the long-run.
4. Neglecting Content
Building a sharp website or app is great. But if you have no content to show on it, then it’s merely an empty shell (albeit a neat one).
Content is what enables search engines to identify your website, and index you accordingly. It’s what encourages people stay on your site, and what keeps them coming back to you. It’s what provides value to the end user.
I recommend launching your site/app once you’ve got something substantial to put before your target audience. If you launch prematurely, then you run the risk of showing your company in a negative light — or just wasting your money on paid advertising.
When a visitor hits your site, app or product they need to believe that it’s already fairly well established. Detailed, high quality content gives that impression from the get-go.
Content Creation is Different to Development
Don’t make the mistake of assuming that your website developer will create, and promote, your content for you.
If you’re on a tight budget, you can tackle content creation yourself by following the guides I’ve provided on this site:
- The Importance of Creating Evergreen Content
- Effective Content Writing Tips for SEO
- What Makes A Good Vlog?
5. Neglecting Marketing
Another crucial aspect of your web project is promoting it. No matter how much potential your end product has, its success hinges on who’s going to find it and use it.
Don’t make the (rather naive) assumption that your programmer can assist you with marketing. Like content creation, the skills required for building a site are vastly different to those required for seeking out the customers.
How to Approach Online Marketing
Unless you rely solely on SEO, you’ll need to set aside a budget for marketing your site or app. I don’t believe there’s any particular rule of thumb for this — but the figure that works best on my personal projects is around 10-15%.
I’ve devoted several posts to helping small companies kick-start their online marketing campaigns. I recommend reading the following:
- The Basics Of Online Business
- Giving & Receiving: An Online Marketing Philosophy
- Push Your Site Traffic To The Limit
- 10 Ways To Improve Your Sales Conversions
There’s plenty of ideas in those posts. Reading them might help you work out what areas of marketing you should focus on, and invest in.
If you require additional assistance, then you may also consider outsourcing your tasks to freelancers, or SEO specialists. Learn more on this here:
6. Not Making Backups
Making backups of your system, databases, and documents sounds simple, and obvious. Yet it catches out so many businesses — particularly during busy periods.
System data loss usually involves:
- Accidents. Users unintentionally delete or overwrite irreplaceable data.
- Updates. Intentional changes to your system cause unwanted results (e.g. important records are lost).
- Hackings. Files are modified or deleted by an unauthenticated source. These attacks are malicious.
Preventing Data Loss
Here’s how to avoid the catastrophic effects of data loss:
- Backup your files & documents to Goole Drive for safe keeping. Google Drive enables you to collaborate simultaneously on office documents, and it remembers revision history as you go along. Your work is always backed up automatically, regardless whether you close tabs or shut down your computer. No more data loss or corruption issues.
- Copy your website files from the back-end using FTP. Programs like FileZilla help you to drag & drop crucial files to/from your web host. Remember that you’ll also need to take a copy of your database, too; which can achieved by downloading a data dump from MySQL (for PHP hosts).
- Talk to your managed host about automated backup options. I should point out that managed hosting services provide the tools required to easily backup your sites, stage changes before going live, and setup automatic backups going forward. Check out my review of best WordPress managed hosts for more information.
7. Going Round In Circles
There’s something consistent with every collaborative web development project I’ve ever worked on:
A change, followed by another, then another… I’ve fallen into this trap one too many times. Going round in circles, striving for perfection — even when it’s detrimental to overall progress — is a very bad habit that I had to eliminate.
I realised something: for all those changes, more often than not, I ended up roughly back to where I started.
Web developers joke about the indecisiveness of their clients and the ridiculous requests they make. But “chopping & changing” is all part of human nature, unfortunately.
Ever bought clothes you loved the look of and then, a year down the line, decided you didn’t want to wear them any more? We get tired of looking at the same thing, and convince ourselves its wrong. We decide to make a change.
Just remember that the end user probably doesn’t care as much as you do about the little things. So before you start hacking into your project, ask yourself: will the change make a significant difference to the success of the project?
Pointless Changes Will Plague Your Projects
Here’s some of the “classics” you should avoid:
- Tweaking the site menu
- Changing fonts, colours, themes
- Moving sidebars/widgets
- Modifying the logo
Call yourself a perfectionist, a connoisseur if you like. Just be aware that developing a habit of tweaking cosmetics will plague your web projects.
You’ll run yourself in circles, and vastly overspend, if you continue to make pointless alterations to your project. You need to remain disciplined.
Improve Your Habits
Over the last decade I’ve developed some habits to prevent myself from wasting time:
- Stick to the framework. If you decide on a good framework for your project, then you shouldn’t need to overhaul anything major. Gradually tweak little elements in your spare time until you have something unique and fresh-looking.
- Use Paint for visual demonstrations. Yes, believe it or not i just suggested using Microsoft Paint. Screenshot your user interface and move/resize elements to visualise what it might might look like following a change. It sounds like a primitive approach — but wouldn’t you rather spend a couple of minutes making a rough mock-up than spending hours implementing changes which you might not even keep?
- Stop yourself on development ‘binges’. These projects have a knack of sending our brains into a trance. If you feel yourself going down a rabbit hole, then get off the computer and come back to it the next day. If you’re tired and aren’t thinking straight, you’ll probably undo all that work at a later date anyway.
- Recycle your work. The good news is that it gets easier over time. Once you find a theme, the plugins, your own style, you can re-use design features & code segments on your next project. I borrow parts from previous work all the time.
8. Taking On Too Much Yourself
One of the biggest mistakes I’ve made in the past is having my head down in work that didn’t serve to evolve the business. For example, data admin, customer service and website maintenance. These kinds of tasks only provide a continuation of what’s already there; no new products.
Yes, every task is essential in some way. But if you’re running the project you need to be agile. I recommend focusing on other, more important objectives (e.g. marketing and outreach) — because the development side can severely hold you back.
I admit, there’s been numerous occasions where I’ve felt compelled to do something myself simply because I knew I could do it to a high standard. But this approach meant I would neglect other, more important areas of the business. It was actually to my detriment.
It’s not always efficient or sustainable to do everything yourself. Aim to build a team whereby you:
- Play to one another’s strengths. If you collaborate with others then you benefit from one another’s specialities. Do what you can most efficiently as a unit.
- Compromise on your preferences. When working as a team you won’t always agree with one another. Think back to what I said earlier about goals. If the goals are met by a solution then that’s the key. Don’t get too stressed out about differences in style unless it truly has a negative impact on the end product.
- Outsource to avoid bottlenecks. Your team might not be able to manage everything at once. Try to identify repetitive tasks and assess if its economical to outsource them. If you do it right, projects should become easier to manage — more “passive” as a result.
There’s a tendency for project leaders to heavily rely on website analytics to inform them where changes should be made to their online business.
In principle, that’s great. However, for this approach to be effective, and for it to make a positive impact, it requires a lot of data. In other words, a large sample set of traffic data to work with.
The size of the sample — i.e. the recorded behaviours of past visitors — determines the precision and level of confidence you make in your assumptions. If the sample size is too small then your decisions won’t be well-informed.
Realistically, you can’t begin to make important decisions from data analytics until you have, at the very least, hundreds of visitors in you data set.
How to Avoid Over-Fitting Analytics Data
Make it your priority to focus on drawing in the traffic before you begin to analyse it. Give it time. Be patient.
Follow the advice on this site to setup your web project in a way that maximises your chances of growth. I recommend reading the following:
In the meantime, you can always ask friends, colleagues — even focus groups — to provide feedback. Use your common sense to decipher constructive criticisms from harsh ones. Again, don’t base your decisions around one point of view.
10. Lacking Attention To Detail
So far I’ve emphasised short-cuts. I’ve provided tips for cutting out unnecessary work, and encouraged you to avoid being a perfectionist when it’s unnecessary. I haven’t yet spoken much about attention to detail — which is still vitally important.
If your website or app looks poor then you create the wrong perception of your business. Presentation is key. Your end product needs to be slick, professional, well punctuated and modern. Otherwise you won’t be taken seriously.
Maintain High Standards
In order to pay close attention to detail on your site, brand or content, you’ll need perspective:
- Work out the typical user journey. When testing your site or app you’ll tend to look the same pages, follow the same journey. You’ll miss something that the average user won’t. Get your product before other people and watch them using it. You’ll identify weaknesses almost immediately. Try it.
- Proofread everything. When it comes to checking your written content you could give it to someone else (e.g. a colleague) who wasn’t involved in the writing process. There’s also proofreading services which might help. Just a tip of my own here: re-read your content on different devices. It sounds ridiculous, but I always spot typos when i read over my work on a different device to what I wrote it on!
- Use multiple devices to verify consistency. Compatibility is one of the biggest issues in web development. What works great in Chrome and Firefox usually looks like a dog’s dinner in Internet Explorer. Throw Safari in the mix and you’re in for a real treat. Unfortunately this problem is hard to avoid — but once again you’ll save ample time by using an out-of-the box system with most known compatibility quirks catered for at the outset.