Nine requirements for hiring a software development firm
How to Hire Software Developers
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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.
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.
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.
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.
© 2011 Pacific Northwest Software. All Rights Reserved.