Request a Proposal | FAQ | Support | Client Login

Top 10 Problems with Contractors, and How To Solve Them

From the "common sense is not so common" department:

Being a contractor myself, I have seen this happen to many of my sub-contractors, and I admit I have even fallen into a few of these traps myself in times past. While the solution is not always obvious, these answers may seem deceptively simple. Don't let that fool you! Triple-check these things on every project.

NOTE: The following solutions are preventative and should happen during the decision making process prior to awarding the contract.

The very best solution is to look for any negative customer feedback. Find out if there are repeat offenses or patterns in the complaints, and ask the provider directly about it. Unless you have a backup plan, if their answers make you uncomfortable, you are probably better off selecting another provider.

  1. Unresponsive; ignoring all contact, unable to get ahold of, did not provide contact information.
    Look for email/im/phone and physical address contact information. Look for regular business hours and make sure they work for your time zone.
  2. Incompetence; cannot deliver; considering bankruptcy, fly-by-night, lying, inexperienced, too busy, etc.
    Look for a pre-compiled list of core competencies or services offered. You are always better off selecting a provider who specializes in the area you need, and has been for at least 2 years, so they are not learning on your dime. Also look for any industry peer certifications/awards, client testimonials, and of course a portfolio [or lack thereof] which is probably the most telling of all.
  3. Unrefundable; took money and ran, death, termination of employment, surprise discovery of obstacles or additional work required outside of budget and scope, etc.
    Get the terms of payment signed in writing clearly. If possible, use a third-party escrow service and only release payment upon demonstrated progress broken up over multiple milestones. Ask the provider about their refund policy if it is not clearly spelled out anywhere. Do not be unrealistic; in many cases you are paying for their time, not for deliverables. It is not uncommon to receive only up to 50% in the event of catastrophe. The solution is simply not to pay that much up front without seeing some progress.
  4. Poor communication; surprises, misunderstandings, missing pieces, must be told repeatedly, losing things, hard to get ahold of.
    For large projects, pay for some systems analysis and design services up front and get the entire project planned out on paper before you even think about investing a dime in the development. This is possible to do using software products like IBM's Rational Rose to produce UML Diagrams which leave little/no room for unforeseen consequences or technical error and are worth the cost. Get all your requirements and ideas written down on paper in a neat and organized electronic format. Attach this documentation to your Request for Quote (RFQ) that goes out to every provider you are inviting to bid. You will find that the more specific your requirements are, the more specific your bids will come in, and this leaves little room for misunderstanding. There will be providers who cannot understand your requirements--these are the novice and huckster providers you are precisely aiming to avoid.
  5. Poor quality; bugs, provider's work was unusable, had to be redone, end-customers' perception of product as visibly cheap affecting resale value.
    With shoddy providers, acceptable quality is always implied, but rarely defined and enforced. Good providers will usually have some quality guarantee somewhere in their marketing materials. It essentially says if anything is broken as a result of their failure to perform (e.g. consistently late, betrayal of confidences such as an NDA agreement, turning in shoddy or mistaken reports, forgetting to test prior to demonstration, etc.), that they will either fix it promptly and at no additional cost even after final payment or they will issue you a refund in full. Unless you are technical enough to do it yourself, only work with providers who can insure your investment with this guarantee. Then just pick a provider who's portfolio matches the quality and style you are looking for.
  6. Slow; consistent failure to meet milestones/deadlines, taking forever to get small things done, never available.
    Get milestones and deadlines in writing prior to initial payment. Add something in the agreement along the lines of 6% being deducted from the total cost for every day that passes beyond the date. These high stakes will raise the bar for your provider, so be sure to also relieve a little pressure by loosening up on those deadlines. Realistically, the provider should be charging you +30% for emergency deliveries, so allow the provider to set dates and times that are realistic under those terms and don't argue on them. Then, if your provider is quoting times that seem long, compare it to the other bids you have and choose one that fits closer to your timeline.

    Also, consider whether what you want has ever been done before. Many clients pay providers to reinvent the wheel. By getting more bids, you increase your chances of finding providers with pre-existing solutions that are quickly/easily adapted to meet your needs. Utilize open-source technology whenever possible. These techniques will substantially lower development time and cost.
  7. No support; something is broken, its proprietary or very poor quality so only the provider can fix it, no maintenance agreement.
    Ask about the support/maintenance agreement. Get the price for this service in writing when you are drafting the proposal before you even start on the project. Some providers can really gauge you with low introductory pricing on the project, but then coding it all proprietary so that only they can support it and then charging you an arm and and a leg for that. Avoid awarding large projects to providers who have never supported anything before.
  8. Beyond jurisdiction; no intellectual property protection/privacy/security, contracts mean nothing, would cost way too much to actually go to court, international law contradictions, some laws may not apply in other countries, etc.
    Make sure you get your provider to sign a Non-Disclosure Agreement (NDA) and/or a Non-Compete Agreement (NCA) if and when it is appropriate. Don't be too shy to ask about the company's internal structure as far as how they plan to have their workers keep these agreements, as well. And I am not a lawyer, so definitely make sure you're seeking competent legal advice to be sure that the documents in use are sound and written in your favor whenever possible.
  9. Limited resources; great for a little while then suddenly too busy for you, prices raise on a whim without added value, waiting in huge lines, receiving little/no attention, always low priority.
    These are typically symptoms of one person in the company trying to fit too much in too little time (e.g. Superman). This is common among sole-proprietors, especially when they are doing it part-time. Look for a provider with either a firm structure (e.g. more than 1-2+ people employed by the organization) or even better an agency structure (e.g. 10+ sub-contractors or partners affiliated with the company) where the option to dedicate more [human] resources to your project is a real possibility. Organizations of this type have the ability to rapidly scale up and down to meet demand, so you rarely if ever run into these types of problems.
  10. Expensive; rates are low but quote time is high, rates are ridiculously high, payment terms are unrealistic, surprise charges, undisclosed fees, etc.
    Look for fixed rates and/or product pricing listed plainly on the website. Many providers change based on interest, availability, or whatever cool toy their dart lands on that day. Be sure to get a wide variety of bids on your project to choose from (e.g. try for at least 10) so you have a clear picture of who is padding and who is desperately unrealistic. Once you have enough information to make an informed decision based on actual market values, pay what it costs; nobody likes a tightwad, and you get what you pay for.

About the author...

Mike Smullin began his technical career in 1997 after receiving his A+ Certification and graduating with honors from the Salt Lake City School District's Applied Technology Education program.

One of Mike's first jobs as a development specialist was for a privately-held small business startup company providing discount LASIK eye surgery to healthcare participants nationwide, applying open-source Linux, Apache, MySQL, and PHP (LAMP) technologies to develop Internet-based Customer Relationship Management (CRM) software managing over 1,000,000+ customer relationships nationwide.

Shortly after founding his own company, Smullin Design and Development LLC, his career took off as a leading provider of IT solutions for individuals and small-to-medium size businesses worldwide. He never looked back.

Mike is a highly respected developer, artist, online consultant, and Internet entreprenuer residing in Eagle Mountain, Utah, United States.