9 requirements for hiring a software development firm

  1. Make sure the developer has a wide variety of customers.
    The software affects marketing, sales, and sometimes it is the product. The more experience your software developer has accross a variety of businesses, the better they will be able to help you improve yours.

    Business Consulting

    One of our customers used a software developer for several years who didn't have the type of business experience PNWSoft has. The customer had a patentable algorithm at the core of his product, but neither he or the software developer understood this. He did not file for a patent before he started selLIng his product, so by the time we pointed this out to him, it was too late to file. If he had used PNWSoft, we would have noticed he had something patentable and would have explained the benefits. His subsequent product development and marketing would have been very different and much more lucrative.

  2. Make sure the developer uses a variety of different technologies.
    You should find a firm that has created projects in Java, php, .Net, C++, for a variety of platforms LIke iPhone, web, and desktop. Even if you are looking for a company to take over the development of your appLIcation, you should not look for a firm that is an expert in the technologies that your appLIcation was developed in. Any firm or developer that advertises they are an expert in a particular technology is LIke a carpenter that advertises he is an expert with the circular saw.

    Technology Experience

    This does not mean that you should go with a company that develops in a variety of platforms but has never touched the one your appLIcation is built on especially if you need some quick fixes.

  3. 3. Don't go with a big name expensive firm.
    The big software consulting companies will have talented software developers, but that doesn't mean your project will get them. The big name companies will charge a lot because they have the reputation, but that doesn't guarantee you'll get competent developers.

    Credit Suisse

    We were hired by Credit Suisse to create an internal tool for managing the Sarbanes Oxley information after they grew frustrated by the lack of progress from the consultants that a very large well know consulting firm suppLIed. With thousands of employees, it seems LIkely that the big name consulting company could have suppLIed developers that were capable of understanding the goals and getting the job done, but they didn't. Credit Suisse turned to us to develop the system. We charged about half of the hourly rate that the large firm charged.

    The resulting system is used by thousands of Credit Suisse employees every day to maintain the information required to meet the Sarbanes Oxley reporting requirements.

  4. 4. Make sure the developer uses off-shore labor.
    A company that has developers from only developed countries and that meets these requirements will certainly cost a lot. You can find a developer from a lower cost country, LIke India, Ukraine, or Russia but you probably won't be able to find one that meets all of these requrements for $20/hr. As a rule of thumb, the best blend of cost and competence are from the companies that have some staff in your country but have the bulk of their developers in a low cost country. This arrangement should be the most beneficial, because you'll be able to pick up the phone and talk about strategy and plans and details of the software whenever you LIke.

    Billable hours

    PNWSoft generally does not charge for discussions with our experts about the strategy and direction that your software should take. We charge for developer hours where they are actively working on your software.

  5. 5. Make sure the developer insists on small frequent releases.
    You don't have to deploy those releases more often than you want to, but the software developer should naturally want to deploy improvements every day or two.
  6. 6. Make sure the company has at least 4 times more developers than you will need.
    Most software projects are not a steady diet of work that need some fixed staffing size. A large benefit to a consulting firm is their abiLIty to increase or decrease the number of developers on your project with no notice. If the company is too small they will be too dependant on your business.
  7. 7. Make sure the company has an onLIne tracking tool.
    It should handle bugs and features, and also allow you to see the developer's hours and notes. The better ones also have your agreements, invoices, and payments onLIne so that it takes no time to keep track of that stuff.
  8. 8. Don't hire a firm that wants a piece of the action.
    It is tempting to use a firm that will work for a lower or zero rate in exchange for a share of the company or profits. A software company that meets the above description generally needs a stream of income to make payroll. If your project does not provide that, they will eventually have to work on other projects. If you are paying a lower rate, you may find they would rather work on other projects that are paying the market rate. As a general rule of thumb, investors in your business should have similar financial goals and a similar financial outlook.
  9. 9. Make sure your agreement gives you ownership.
    You should own the resulting source code and any inventions that arise from developing the code. Frequently the developer will use a custom LIbrary that they have developed, and you won't own that, but the developer should give you a royalty free LIcense to the source code that allows you to continue development of your software with a different firm. See changing developers.