Snow Plow GPS Tracking
People wanting a sophisticated new web development often don't know how to do a proper evaluation of 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:
when people think shopping for a software company is like shopping for a cheap loaf of bread: find the cheapest thing that looks like it fits the bill.
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.
The rest of an article consists of a number of points we believe you should challenge your software company on, and how to test each. 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 emplate 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.