HTML Logo by World Wide Web Consortium ( Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS. ocPortal 9 is superseded by Composr 10.

Head over to for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.

How to evaluate a software company

How to evaluate a software company At ocProducts we often find that prospective clients don't know how to evaluate a software company. It's understandable: a lot of web businesses are first-time-businesses, and they are often started by people who are expert in the subject matter, but not web technology. People can't know everything.

It becomes a problem in two particular scenarios:
  1. when people think shopping for a software company is like shopping for a loaf of bread: find the cheapest thing that looks like it fits the bill (okay, I'm aware some of you like your fancy breads, full of garlic and strawberrys, but I'm going to ignore you lot)
  2. when people decide based on the fancy sales pitch that appeared to hit their needs and came with a low price. This can be very dangerous: it is very easy for a company to invest in sales rather than design or technology, and make strong claims that are actually true but are tied only to very superficial offerings. It is cheaper to sell well than to design and innovate well, and it leads to a wildly successful business model of dealing on volume with a false air of quality that undercuts the actual professionals in the market.
As you can imagine, these scenarios are a particular bug-bear for our company, hence why I feel the need to explain how to evaluate a software company.

The rest of an article consists of a number of points we believe you should challenge your web design company on, and how to test them. To make your evaluation fair, don't tell the company you're reading this article or tell them the expected touch points from your queries, because that would spoil the test.

Of course, not all projects are the same, so use some judgement to determine what particular points affect you.

Evaluating Design

Most people want a unique design for your website, rather than just a template. That's sensible, but don't be completely closed to the idea of a template: you can make a large saving if you start with a template that matches your brand quite well and then modify it enough for it to be unique and tuned to your requirements. You need to raise your level of questioning to much more than “template or not”.

We suggest that you ask for the qualifications, experience, and name of the person who will be doing the designing. You should expect them to be a professional designer (not a programmer or jack-of-all-trades) and for them to have many years of experience or a proper design school education. You should also ask to see designs they have specifically done themselves (don't expect them to necessarily be done for the web design company you are talking to, it is perfectly reasonable for designers to move between companies or freelance).

Ask about how they will make the design reflect your brand principles. You should expect a response that shows a good understanding of brand theory.

Evaluating Programming

Ask what CMS will be used, and what experience they have writing custom code for that CMS. If they just mention a third party CMS and say they use third party plugins for it, and your project isn't just a very off-the-shelf kind of thing, run for the hills. You need someone who can actually make things, not just plug them together.

You should ask to see examples of specific new functionality they have implemented themselves.

Evaluating Past Experience

You should not expect the company to be able to show another project they have done which is very similar to your own, as this is unreasonable. However, you should look to see projects of a similar kind of complexity and seek to ensure they understand the general traits of your website. For example, expect to see experience writing social websites if you need social functionality.

Evaluating Security

Ask what particular process is used to ensure new code is secure. Ask them on the phone (i.e. without giving them to prepare) what a 'CSRF vulnerability' is. Of course, your phone contact may be a manager, but you can ask them to connect you to a developer. If they cannot connect you to a developer, the “we don't actually do programming in-house” flag should raise: raise your shields, mix your metaphors, and politely slam the phone down.

CSRF stands for “cross site request forgery” and is a vulnerability where a hacker creates an 'evil' third party website and persuades an administrator to go to it, and that 'evil' website redirects a request over to the administrators website to instruct it to do something on it like delete something. If they cannot explain this clearly, you should be extremely concerned that the programmer is not experienced (there are a lot of programmers who have a very focused/limited knowledge of things). Don't let them come crawling back later about how they have “learnt new things”, because this will just be illustrative of hundreds of critical holes in their knowledge and a lack of competency and professional integrity.

Evaluating eCommerce

If you are doing credit card processing, ask them what you need on the server for this to work, and any official processes you need to go through. They may say you should use an external processor, like PayPal, which is fine, but ask them to explain what you would need to do if it was all on-site. They should mention a PCI compliance audit, needing a dedicated IP address, and buying an SSL certificate. A manager might not know this, but between a manager and a developer (you may need to talk to both), somebody should.

Evaluating Project management

Ask what process will be used for managing the product. Ideally they should be able to send you a diagram, because a good web design company will have something in place already as a 'default' process. Of course, every project is different, so they may tune it for you, but you should expect more than just words.

The process should clearly show at what point you may ask for revisions, when things are 'signed off' and it should reference charging models for scope changes and how this may impact schedule.

If this has not all been thought through then you really have to question the experience and competency of the company.

Evaluating the Maintenance Contract

You should expect an ongoing relationship with the web designer, as you can't realistically launch a website and not have any updates made to it. The web is constantly advancing, and new web browsers come out all the time which should be compatibility-tested.

You should explain you require ongoing service from your web designer, and ask them to propose how they will charge for testing of new browsers. Mention you need to ensure that the site stays secure and ask them what they suggest – they really should mention to you a way of them rolling out security updates to you if vulnerabilities are found in the software. Expect to pay for it, but expect it to be offered too!

Evaluating yourself

I can't stress enough how important it is for you to consider a business model for your website.

You need to perform a market review and come up with some kind of plan on how you will differentiate yourselves against your competitors, how you can beat them without them just copying your innovations, and how you will reach your future customers. If your differentiation is weak, you also need to consider how you will be able to create a superior solution than your competitors on the budget you have.

Remember that you are not competing with your competitors as they are now, you are competing with them in the future when the project is finished (it takes time remember, and things can happen in that time). Not only this, you need to consider the situation where all you end up doing is raising the bar in the industry when your competitors just absorb your own ideas in their next updates.

Plan defensively and strategically! And, budget accordingly.


Budgets are always limited, so to fit your budget a web designer probably will not suggest all the things that would be a good idea for you. Can you blame them, they don't want to hear a thump as you fall onto the floor in shock? Besides, it takes time for them to make suggestions, and it is futile for a web designer to suggest what they think you can't afford. It's pretty common for web designers to have future clients coming in for a project that costs ten times more than the client thinks even in it's most basic implementation, because web pricing really isn't that well understood (I'll be blogging about this too!).

Here are a few things I would not expect a web designer to suggest, but if you can provide a large enough budget are quite possibly worth having included:

  • Production of a high quality introduction video for your front page
  • A print stylesheet, so your pages look good when printed
  • A favicon (that's the little icon for your website that shows in the address bar and bookmarks)
  • A mobile version of your website
  • Usability testing (highly recommended, but potentially relatively costly)
  • A staging site, so that you can test and experiment with your CMS
  • Ongoing study of analytics to find weaknesses, and propose improvements
  • Ongoing Internet Marketing support, such as social media campaigning and sending of nicely designed newsletters
  • Ongoing SEO for link building and tuning position on some applicable search terms
I hope this article gave you a good background on how to evaluate a software company. It's really important to select a company that does much more than just tell you what they know you expect to hear as an outside buyer.

This was article 3 of 8 in my "Web industry Exposť" series of blog posts.

If you think it's good advice, please share this link with others. If you think I'm wrong or have something to say, please discuss below.

View all


There have been no trackbacks yet