What web developers have in common with builders and decorators

I recently purchased a new home, and lets just say that the previous owners taste and style is as far away from mine as possible, so that means decorating it, alongside some general improvements.

While getting quotes from several decorating firms, I couldn’t help but notice the many parallels in terms of the process, and how the ones we eventually went with had many similarities with how we tackle web projects.

Do it yourself, or hire a professional

I consider myself to be fairly competent when it comes to DIY, and am confident I could do a lot of the work myself, however there are numerous reasons for not taking on the project myself:

  1. It would take me much longer to complete the work compared to a professional, as I would only be able to spare a few hours a week, and I won’t be as quick as them. I do not want to still be working on it this time next year!
  2. I would most likely not be able to get as high a quality of finish, especially with areas such as plastering which take years to perfect.
  3. I would have to spend a small fortune on all the correct tools and equipment, most of which would only be used once or twice in my lifetime.
  4. It would take me plenty of time to learn the correct techniques and other nuggets of knowledge you gain from doing something every day for 20+ years.
  5. I would need to get certified professionals in for some tasks, such as replacing the boiler or signing off on the new wiring.

Although a lot of people would look at doing it all yourself as a way of saving money, you should only pursue this if it’s something you’re actually interested in, and it’s the same with building websites. And it’s the same for anyone who needs a website when they’re not interested in technology and the web.

Web Code Sometimes it’s just easier and quicker to get the experts in.

Sure, they could learn HTML, CSS and JS and get a basic site up, but they would most likely need to learn a CMS such as WordPress along side some server side language such as PHP. And even that’s not enough, as you’d have to learn about design, UX and more, and that’s before the technical challenge of launching the site.

As with my dilemma of taking on most of the work, and outsourcing a few parts, you could take the same approach and outsource the technical, design or whatever aspect you don’t feel comfortable with.

When bringing in a professional to take on a project, be it a home renovation or website build, it’s not just about bringing in additional bodies to help get things done, but about bringing in many years of skill and experience to get the highest level of finish, and to think of things you shouldn’t be expected to know.

Starting out

Working at an established agency with a steady stream of clients, it’s easy to forget about the little guys, the ones just starting out, but this is one area where the problems faced by new designers and developers is exactly the same as a company starting out in the decoration/renovation trade.

Without having a good portfolio of previous work, it’s very difficult to get more work. In the case of the web, the advice is to work on personal projects, pro-bono work, or unsolicited redesigns of major websites. Unfortunately this doesn’t really translate that well for decorators. You would of course expect their house to be a showcase of what they’re capable of, but as there is a much higher material cost for them compared to us, they can only reduce rates so far in an attempt to win work.

For every company that quotes us, we would research them online, view their website (which most of them had, although they were very dated), find testimonials on social media and third party sources and more. We were immediately sceptical of anything which didn’t have a solid web presence, even though it’s something that industry is only getting to grips with, as they primarily rely on word of mouth referrals rather than marketing and flashy sales to get work.

Process

A typical web project will generally consist of the following 6 steps, and below, you can see how they match up with the same stages in a home renovation project.

This is a simplified list, as a real world web project typically has many sub-steps, and is also iterative instead of linear.

  1. Brief
  2. Proposals
  3. Design
  4. Development
  5. Testing and amends
  6. Launch

Brief

I now understand why it’s common for us to get a poor brief for a potential project, especially if you don’t know what’s possible. Fortunately for us, it was quite simple, as we had a pretty good idea of what we wanted, but even still, conveying that and minimising the change of something being misinterpreted wasn’t easy.

We’re not doing anything out of the ordinary – just stripping wallpaper, plastering, painting, new laminate, new boiler and radiators, new light fixtures, sockets, switches etc. If we were changing the structure of the house by knocking down walls, or changing its purpose such as making it into a shop or 2 flats, then it would be more open ended, but we know what to expect from a house, so the scope of work was well defined.

Builder with tools. As with a home renovation, you rely on the experts to tell you what’s possible and the implications on price, when you undertake a new website build or feature.

Likewise, if you already have a website and it just needs a facelift, or you need to revise the sites structure, or fix some projects such as performance or usability, then you have a much better starting point than if you’re making a site for the first time, or adding a completely new feature set, such as e-commerce. In that case, you rely on the expert to tell you what’s possible and the implications on price.

If you’re unsure about what to include in the brief, it’s generally better to have too much information, but the best thing to do is to speak to the professionals and see what’s possible and their recommendations, which leads us on to the proposal.

Proposals

We got numerous quotes, from sole traders to large companies, and had an equally large range of costs, with the most expensive costing more than 5 times the others.

The way the sales process works in the decorating trade is someone, typically the owner of the company (or dedicated sales people in larger companies), will talk through your requirements with you, get a sense of the property and the work involved, and give you a quote a few days later.

The way that each company approached this step was different, with some trying to be very salesy, while others came across as more genuine. Some would go into great depth about how they would tackle the problem, while others tried to be secretive. Some wanted to do as little work as was necessary, while others wanted to tear everything down and start from scratch.

The same can be seen in many website proposals, with many people avoiding giving too much away in the proposal, for fear of them not being picked and the customer running away with their “secrets” to the cheapest bidder. In my experience, the opposite of this is normally true, as you establish yourself as an expert by sharing your knowledge, and if you’ve shown how you can solve a small problem, you’re more likely to be the person solving the bigger problems.

Another such similarity is that most designers and developers would prefer to completely throw the old website out the window and start from scratch. The main reason for this is not wanting to deal with legacy code, and in many cases, this approach doesn’t take any longer, and has far fewer unknowns, but that’s not really a viable approach for a renovation, as it significantly impacts project duration and cost.

It is impossible to accurately quote for a renovation project from just an hour or two at the clients home, in the same way we can’t give an accurate quote for a web project from a 2 page brief and a chat, but there are generally few major problems in a project.

If the project is full of unknowns, or is likely to change direction multiple times throughout the course of the project, then an hourly or daily based billing schedule would be most suitable, but in most cases, clients like fixed price projects as it’s predictable and makes them feel in control, even if this is ultimately more expensive as it factors in contingency.

Lastly, if there are any potential problems you can foresee, tell the client your concerns and the possible implications on the projects. For example, there was a high risk that the ceiling in our home office would start to fall apart if they attempted to repair the cracks, as it was poorly done, and we were told the potential cost for adding a new ceiling before we signed a contract.

Examples of such potential web development problems, are integration with legacy systems or undocumented third party APIs, which can be very problematic and time consuming if things don’t go as smoothly as you might hope.

Design

For a typical home renovation, there isn’t really much of a design phase per se, unless you’re working with interior designers, but regardless, small design decisions are still made throughout the entire project, with the major design decisions such as colours and flooring made before the start of the project.

Development

This is where the bulk of the work takes place for web or renovation projects, and there are 2 distinct approaches. You could either get one room completely finished before moving onto the next, or design and implement a single page before moving on.

Alternatively, you could do things task by task, such as stripping all the wallpaper in the entire house, and then preparing and painting the walls etc. In the case of a website, this would mean starting off with things like typography and general styles, then getting the general layout of the page and then filling in all the details.

Both methods have advantages and disadvantages, so it’s best to discuss with the client what is most suitable for them. We’re going for the latter approach, which is a lot more disruptive, but it means we can complete the job in just 4 weeks by having a lot more areas in progress as once. One advantage of the former approach if it’s quicker to get something for the client to see and make sure you’re heading in the right direction, instead of completing the whole project for them to realise they don’t like some fundamental element.

One very important aspect of taking on larger projects is making sure you either have all the required skills in house, or can partner with someone that complements your skills.

For example, as a developer, you might want to pair with a designer instead of trying to take it on yourself, or you might need someone that specialises in mobile app development if you want to branch out from web development. Likewise, if you’re a decorator, you want to have people that specialise in flooring, wiring, plumbing etc.

Designer at work You may want to pair with another specialist. For example, a developer may want to pair with a designer.

In our case, they weren’t gas safe registered, so needed to bring in someone else to install the boiler, but instead of making us find a supplier and handle it directly (although we did have that option), we were recommended a partner they have worked with, who had availability that matched theirs.

When working with others, be it third parties, sub contractors or partners, there are a few tips to keep things running smoothly:

  • Having a network of trusted partners makes it easier as you know you work well together and trust the quality of their work.
  • Partner with people that have distinct but complementary skills to your own. This prevents you from getting in each others way, and you can specialise in your own areas.
  • Bring people under your company if their skills are a core part of your offering, or if they are similar to yours.

The last point is important, as it allows you to train people up to your standards and way of working. In the past, when using contractors to help handle high demand, we’ve found that their approach doesn’t work alongside ours, and often the quality leaves a lot to be desired.

Testing and amends

Unlike with traditional web projects, there isn’t a huge amount of testing at the end of a home renovation. There is no need to look through numerous glasses (browsers), including some which are more than 10 years old, so on the surface, it seems a much simpler process.

There is obvious a continual process of testing, refinement and sign-off, the same which would be incorporated into any good web project.

Functional testing is also much simpler, as instead of having dozens of possible use cases for a website, there are only so many use cases for some laminate flooring, a painted wall or a door handle.

One important distinction between web and renovation projects is who performs the testing. Normally, when it comes to testing a website, it’s down to the developers to test it, but in the case of a renovation, it’s much more down to the client, although the site manager will often oversee quality control.

Launch

As with testing and amends, this is another stage where there isn’t much to do in the case of a renovation project, whereas for a website launch, there is typically the migration from staging to live, documentation and training, post launch amends, monitoring, optimisation, not to mention the marketing side behind a big site launch.

As for “launching” a renovation project, it’s just a case of cleaning up after yourself, putting all the furniture back to where you found it, and providing documentation for any third party elements such as the new boiler.

One thing which going through this renovation taught me, is the amount of disruption which something like this can cause, and it’s the same for many web projects. If it’s a new site to replace an existing one, there may be a period of double posting content to the old and new sites until the new one is ready to go live, and if it’s an evolution of an existing site, there is a lot of content management, reformatting and restructuring tasks.

Wrapping up

It’s rare for a lot of us that work on the web to be in the position of the client, and although this isn’t a direct comparison, there are a lot of parallels. It’s good to be put in the client’s position every now and again, as it reminds us how we can improve the experience for our clients.