It is a great plan, a groundbreaking plan, a plan to push your business to the front of your industry. It is as foolproof a plan as you have ever devised, and success is all but assured if you see the plan to fruition.
There is just one thing you need: a software development team to make your project come alive.
Those are pretty high stakes. However, if you want a software development agency to work on a project that is even slightly less critical than what was just described, you need to treat the hiring process as though it is equally significant to your success. Bad or mediocre custom software creates problemsbeyond a loss of potential revenue. If something with your company’s name on it does not work well, or at all, it is your reputation that suffers with the public or within your industry. If you are lucky, the reputation hit lasts only months. If you are not lucky, you are a running joke or a near-permanent meme.
Too many companies do not realize how serious the indirect effects of poor custom software development can be until it is too late. Do not make the same mistake. Let these tips serve as a baseline for vetting a software development agency.
Find Agencies Large and Small That Could Feasibly Suit Your Needs
Your first move in the hiring process is to spread your search far and wide. You will have no problem finding obvious targets in the hiring process, but do your company a favor and give consideration to firms that are relatively new or are located overseas. They may quickly fall off your list once vetting begins; that is fine. If you stay open to the possibility of working with someone relatively unknown, you will maximize your chances of finding the right team for your project.
What you are looking for in this step are agencies with the sheer capacity to meet your requirements—most software development companies can handle an app for small- to medium-sized business, but if you are larger or need something more complex, you may need a larger team—one that has experience with projects similar to yours and expertise with the requisite coding languages. If you need a native app for iOS, for example, an agency with minimal experience using Objective-C, Swift, or Xamarin may not be a good fit, no matter how perfect it seems otherwise.
Find or Ask for Portfolios
If you are considering hiring an agency to develop an app for you, it should have no problem showing examples of previous work. In some cases, you may be able to dig up past work on your own. Do both when you can—give the agency a chance to show you its best performances, and also research past projects it may not be as proud of anymore. You can then use the amount of good versus bad development they have done, and when they have done it, as a way to estimate what level of work you are likely to receive.
Software stability is the main thing you are looking for here. However, pay attention to the visual design and ease of use in the company’s work as well. Stability is a baseline expectation; aesthetics and simplicity are what make a piece of software stand out before it has had a chance to earn a widespread positive reputation. You want to work with a company that can make your custom software visually appealing and cause customers to connect your name with a good look and feel.
Research Their Reputations Online
Check social media, any relevant review sites, and even the Better Business Bureau. Look for even the smallest red flags. Check out their Clutch.co profile. Alternately, if only positive reviews exist, consider if this is a great sign or if it is potentially sketchy. This will give you more than generic questions to ask when you reach step four, which is . . .
Speak with Former Clients
Once you have narrowed your list, it is time to get references. First off, be wary of companies that are loath to offer references; if they are proud of their past work and believe past clients are as well, references should be easy to come by. If a very new agency has made it to this point, you may need to judge it more off past work, but it should still have some references available.
It is highly unlikely that only one company exists that can create the software you need. Find out how professional each company is from its professional connections. Is the company easy to work with? Is it amenable to on-the-fly changes? Does it meet deadlines and maintain consistent communications?
Remember, although you are relying on the agency’s skills, you are the one doing the hiring. You can set the expectations and remove anyone from consideration who seems unlikely to meet those expectations.
Gauge Their Business Interests
You have reached the moment for direct meetings with the agency. This is where you can better discover what an agency has learned from its experiences, and you can get a sense of its approach to work. Do you get the sense that the agency takes joy in new challenges, or does something hard merely make it charge more? All agencies are professional and expect an appropriate pay rate, but there are at least a couple issues you should be aware of.
An agency is a business. If it is a mature business, the cost of your project will probably be calculated properly. You may pay more than you would pay a freelancer since you have to cover the costs of, for example, project management, but you can be certain that the delivery and quality will be top notch.
A business that is just starting out may seem more passionate but it will also be less experienced when it comes to assessing the costs of development and therefore may use “hacks” to fit within the deadline to earn a profit.
Whichever company you choose, what is important is its capability to take unexpected problems in stride and work towards solutions that make everyone happy.
Likewise, good developers glean lessons on how to handle expectations from both their clients and the end users of their software from even a relative modicum of experience. It is not necessarily bad if the agency’s representatives are mainly focused on the technical aspects of what it is going to do, but it is definitely good if the agency can define its approach to serving your needs as the client and meeting the expectations of the customers who will be using your software.
Unleash the best tech person in your team on the agency. Then see who is left alive.
But honestly, an optimal scenario would be to do a small project together. If you have developers on your team, they can check the quality of the code. If they come back to you with a huge smile on their face and say something like: “We did not have to correct the code. At all. It is unbelievable.”—then you know you did the right thing hiring this particular firm.
Make Sure You Have Direct Access to a Team
Usually, the point of contact in your team is somebody with a job title of a project manager, a business developer, a sales representative, or a CEO. While this is actually a good thing—since such person is more business-aware—it is not the only good thing that can happen.
When you work with a top-notch agency—if you wish—you will have the possibility of meeting, and/or talking to, developers themselves. It will not be on a project management basis in most cases. Rather, it is about your peace of mind and making sure that an agency understands exactly what you are trying to convey.
At In’saneLab, it all depends on the amount of work we end up doing together. In most cases, however, we utilize a model that is based on a team communication with a single decisive point of contact.
Make Sure Quality Assurance Is in Place
While the idea of eliminating an entire specialty might seem economically attractive, it is also greatly irresponsible. The role of quality assurance (QA) as a separate process in software development is significant due to several factors.
Developers test their code, but quality assurance engineers go deeper. It is like having—literally—an additional pair of eyes to go over your work. QA looks at the project from a different angle and is able to pinpoint vulnerabilities and bugs that developers themselves might have missed.
Per Wikipedia’s definition, “Software quality assurance (SQA, the term can be used interchangeably in this case) encompasses the entire software development process, which includes processes such as requirements definition, software design, coding, source code control, code reviews, software configuration management, testing, release management, and product integration. SQA is organized into goals, commitments, abilities, activities, measurements, and verifications.”
I would not be mentioning Wikipedia with no purpose. “Quality assurance” and “testing” are often regarded as interchangeable terms. The reality, however, is that testing is just a small part of a much more complex process.
Will the Agency Scale With You?
It goes both ways, and it is not related to the agency’s size. Ask yourself and the firm:
Will the software development team be able to scale according to your needs?
Can the agency put the work on hold if you need to take a break?
What if your needs requirements increase after the product launch?
What if they decrease?
These are basic questions that you need answered.
Will They Bend the Rules for You?
More often than not, agencies worked on premade contracts and adjust the templates accordingly. The reason is simple—firms have their strict rules and procedures, and they are also saving money on lawyers regarding drafting new legal documents.