Hiring Contractors: Questions and Concerns You Should Have
by tbye
At Protoven, we write code and provide wireframing and design services for companies like ABC / Disney, Nu Skin, Brigham Young University, customers whose source code, digital assets and data are important. We also work with smaller companies such as MusicPeeps.com, MonitorCongress.com, Docuprep and others. Is their data any less valuable? Let me ask the question this way, Is your data less valuable than anyone else’s?

For us, the measure of success is twofold. The customer is pleased with the final product and the customer pays the balance of their bill. That’s rarely the end of the story for us though. We make an investment in the relationship from the get go, and we suggest you expect the same from any contractor you work with. It pays dividends for us in the form of repeat customer work.
When you’re searching for contractors, add the “data value question” to your list of concerns.
You may not think of it as such, but source code should be included in your list of valued data. do you know what your contractor does with your source code? Do you know where they store it? Do you know where they back it up to? They do back it up, don’t they?!
Here’s some questions you should ask your contractor about, and can expect someone that knows what they’re doing to be able to answer on the spot.
Q: What version control software do you use?
You’re looking for an answer. One that doesn’t say, “Well I store it on my machine and sometimes I back things up.” Great answers will include Git, Bazaar (bzr), Mercurial. If your contractor is a Microsoft shop then Visual Source Safe is a good answer. Subversion also a decent answer. Refer to http://en.wikipedia.org/wiki/Revision_Control for more information than you care to learn about the topic.
This question becomes even more important if you’re having your contractor work on mulitple phases of a project. How do they maintain one version of your project while working on a new phase? Great SCM tools will facilitate this type of development workflow.
Q: What bug/feature/issue tracking software do you provide?
Perhaps this is a non-issue for you because you provide your own. Most of the time Protoven’s clients do not have issue tracking software. We provide these clients a project on our redmine server. We stay familiar with all sorts of packages though, so we can quickly integrate with customers that do have their own systems. We’re very familiar with Jira, Bugzilla, Trac among others. Those are definitely the most common we’ve seen.
It’s important for us to stay on the same page with our clients. Issue tracking software helps us to do that by providing a forum where all parties can track requests and close feedback loops. It’s invaluable to return to this list of issues and refer to project specs, and design decisions that live there.
Q: What is your backup policy? Do you backup off-site?
A company that isn’t concerned about backing up data is a company that won’t be around very long. All too often, things go terribly wrong in this technological utopia we live in. Hardware and software fail and leave you high and dry. Ensure your contractors are invested in disaster recovery plans for your data.
Q: Can I view the progress of my project before it goes live?
This is extremely crucial for our clients that contract web development with us. Each of the Protoven developers operates in 3 environments they have varying degrees of control over.
The production environment is the goal machine. It’s where all the website hits are served from. It’s where the real financial transactions take place. It’s where all the real security certificates are deployed. This environment, which could be one server machine, or dozens of servers, is tightly controlled. Code deployed here is well tested and ready to release. You and especially all of your customers should have access to this environment 24/7.
The staging environment is similar to the production environment in architecture and installed systems, however source code is deployed here much more often. The audience for the staging environment is smaller, and the functions of this environment are never mission critical. It is used for wider testing and integration across multiple systems in the project. While it can be used for demos of new features in the project, your contractors should generally have the freedom to take this server off-line as needed. You should expect access to this environment. There should be an expectation of volatility depending on your project’s development cycles as well.
The development environment is the developer’s machine. It may include a virtual machine which runs the operating system and software packages that will be running on the final production environment. Very rarely do our clients see our development environments except in cases where development is happening at such a quick pace, that a local demo is acceptable. As you might have guessed, this is the most volatile environment as new code is being added, changed, updated, etc. all the time. You should not expect access to this environment.
It’s reasonable to expect to see progress. You don’t want to commit thousands if not hundreds of thousands of dollars to a project without being able to provide feedback during the project.
Again, these are tools and processes Protoven offers to its customers as part of the way we do business. In some cases we’ve even set them up for customers and they’ve paid for them, even when we don’t charge people for them explicitly. It gives our clients peace of mind.
It gives us peace of mind.
Note: If you’re a contractor and would like to offer these services to your customers, contact us at info@protoven.com for more information on our hosted solutions.