How to Outsource Your App Development The Right Way

Originally published on http://www.appsterhq.com

Hiring freelance programmers or external development firms to help you build your app offers many potential advantages.

These include cost savings, the ability to recruit specialized talent, and the efficiency associated with utilizing short-term business commitments.

At the same time, your startup faces serious risks if you work with unscrupulous or otherwise unqualified personnel. Last week, I wrote about why you need to run away from that $5 shop.

Dangers include…

  • … the potential for poorly coded software,
  • … the inability to directly manage outsourced work,
  • … and various other difficulties associated with remote arrangements (lack of communication, missed deadlines, etc.) (sources: 1, 2, 3).

Before we discuss how to increase your chances of successfully recruiting top-notch app developers, let’s take a moment to cover the basics.

Procurement; Request for Proposal (RFP)

In order to understand maximizing the effectiveness of the app development outsourcing better, let’s begin by clarifying two defining terms, i.e., “procurement” and “request for proposal” (RFP).

The terms might sound a bit technical, so bear with me for a moment.

Procurement, as a general business practice, can be defined as:

“The act of obtaining or buying goods and services. The process includes preparation and processing of a demand as well as the end receipt and approval of payment. It often involves:
- Standards determination;
- Supplier research and selection;
- Value analysis;
- Price negotiation; and
- Making the purchase.”

In other words, procurement refers to the basic process of securing goods or services from an external business or consultant.

A request for proposal, as the name suggests, is an invitation for external businesses or consultants to apply to provide your company with specific goods or services.

Investopedia.com describes RFP in the following terms:

“A request for proposal (RFP) is a type of bidding solicitation in which a company or organization announces that funding is available for a particular project or program, and companies can place bids for the project’s completion. It outlines the bidding process and contract terms, and provides guidance on how the bid should be formatted and presented.
An RFP for a specific program requires the company to review the bids to not only examine their feasibility but also the health of the bidding company and the ability of the bidder to actually do what is proposed.”

Additionally, an RFP establishes specifications describing the particular solution that the company is seeking and the evaluation criteria according to which proposals will be assessed.

Now that we understand these key terms, let’s look at some best practices for outsourcing app development.

1. Perform a Needs Assessment

In order to be effective, your RFP must be specific to the unique needs of your startup.

How, though, can you accurately identify the exact requirements of your business?

This is where the importance of a “needs assessment” comes into play.

Businessdictionary.com defines needs assessment — otherwise known as “gap analysis” — as:

“A technique that businesses use to determine what steps need to be taken in order to move from its current state to its desired, future state. Gap analysis consists of:
- (1) listing of characteristic factors (such as attributes, competencies, performance levels) of the present situation (‘what is’),
- (2) listing factors needed to achieve future objectives (‘what should be’), and then
- (3) highlighting the gaps that exist and need to be filled. Gap analysis forces a company to reflect on what kind of business it is at present and to ask what kind of business it wants to be in the future.”

The simple fact is that before you can effectively assess the suitability of different external app developers you must first clearly understand the specific needs of your own business.

Only in this way can you insightfully match what developers are offering with what your startup requires.

Part of achieving this fit requires that you always:

  1. Design and utilize customized RFPs that are tailored specifically to your company’s unique objectives and the precise needs of your particular projects; and
  2. Consider hiring only those developers who explicitly prepare customized proposals for your exact business needs.

In other words, be sure to stay away from standardized RFPs that don’t accurately reflect what your specific startup needs as well as generic proposals that lazy developers might shop around to tons of different companies.

It’s also important to ensure that your needs assessment considers how the actions of external developers could impact each and every internal stakeholder in your company, right up to senior sign-off.

Here at Appster we provide our customers with a rapid strategy and idea validation process that is designed to help clients quickly and accurately assess their exact needs and application deliverables.

This ultimately increases your ability to achieve proper alignment between needs, features, technical specifics, timelines, and budgets.

2. Decide What You Want out of a Developer

There are plenty of less-than-reputable app developers who are perfectly happy to compete primarily on price in order to secure your business.

Selecting a developer that’s focused nearly exclusively on delivering the cheapest product possible is virtually guaranteed to land you nothing but off-the-shelf “solutions”.

It is, therefore, crucial that you explicitly decide on the particular kind of developer with whom you’d like to work.

Are you looking for a quick, cheap, average result from a vendor that outsources its own work or a development company that will act more like an extension of your own team, that takes your particular objectives and values seriously?

On a side note, here is a detailed breakdown of the costs of building an app.

3. Utilize Highly Specific Criteria in Your RFP

One of the easiest ways to attract irrelevant or otherwise unimpressive proposals from external developers is to overlook the need to make your RFP as specific and detailed as possible.

Whether you’re looking to hire an external party to help with every key component of the app development process or, alternatively, with only certain technical parts of coding, it’s imperative that you spell out exactly what you expect of your future developer in your RFP.

This can be as macro as the overall look and functionality of the different splash screens of your app to as micro as exactly what happens when certain keys are stroked in particular sequences.

Here’s an example of what such “acceptance criteria” might look like:

Furthermore, make sure to be very clear about your expectations in terms of who at the developer firm will be responsible for attending to which specific kinds of tasks. For instance:

  • What are the fundamental responsibilities of the company or studio as a whole?
  • What about the technical team that will service you? What will it be expected to do?
  • How about individual team members and team leads?
  • With whom do you expect to be able to consult if/when your startup experiences problems x, y, or z?

Other issues about which you’ll need to be certain include a variety of matters relating to the protection of intellectual property (IP).

  • What kinds of IP and confidentiality assurances and systems does the developer have in place?
  • How has the developer dealt with the protection of IP in the past?
  • Have other startups ever had negative experiences with the developer in terms of guaranteeing confidentiality?
  • Which certifications has the developer earned?
  • How will the firm ensure the security of your project?

Be sure that your RFP is highly detailed in terms of IP protections:

Related: see here for an in-depth discussion of why new startups don’t need patents.

4. Create Detailed Developer Profiles

It’s undeniably in your best interest to learn as much as possible about the developers to whom you’re considering outsourcing the creation of your app.

Putting another company in charge of your app’s development is a very serious endeavour, one that ought not to be taken lightly.

You must perform your due diligence in order to ensure not only that the external developer is fully qualified to the do the work described in your RFP but also that your two companies are compatible professionally and ethically.

Here are a few suggestions for putting together detailed developer profiles:

  • Research the developer as thoroughly as possible, especially by searching the Internet (including social media sites and workplace review sites like co, glassdoor.com, greatplacestowork.com, and indeed.com) in order to develop a solid understanding of the firm’s history and accomplishments;
  • Request, and thoroughly validate, at least 5 or 6 references for each developer (see heading 3 here); and
  • Dig deep by exploiting your professional networks and inquiring into whether any of your contacts have had any experiences with the developer.

You should also consider utilizing a dialogue-driven RFP, i.e., that one encourages back-and-forth communication between your startup and the developer(s) you’re considering hiring.

Real-Time, two-way communication — particularly once you’ve weeded out unqualified developers — is crucial to cultivating a sense of familiarity and of what it might be like to professionally work with potential developers.

Indeed, implementing an RFP process that generates specific answers to concrete questions and invites detailed feedback from those submitting proposals is vital to picking the right developer.

5. Tour Your Shortlist

Once you’ve shortlisted the best prospective developers, it’s important to meet with them in person if possible in order to cultivate an even more intimate relationship with these potential future members of your remote team.

It is, of course, not always feasible to meet face-to-face with developers if they’re located overseas.

In this case, a video or audio Skype call represents the next best thing.

Make sure to schedule and carry out sufficiently long and exhaustive interviews with the key members of the development team that will be working on your project.

Recognize that you’re well within your rights to ask for code samples or code walkthroughs in order to gauge the sophistication of their work.

In this context, remember that it’s vital to meet — whether virtually or “in real life” — with the particular developers who will be dedicated to your project, rather than merely trusting that meeting with the general sales or customer management teams is “good enough”.

6. Clarify Whether the Developer Is Outsourcing

It’s not uncommon to learn that outside developers are themselves outsourcing (some or all of) the very work that you’ve hired them to complete.

This can often have potentially disastrous consequences for your company and the creation of your app, including:

  • Threats to the handling of sensitive IP or proprietary material;
  • Legal consequences regarding the leaking of information or technology you’ve licensed from a third party; and
  • Inconsistencies in quality and completion times.

As a result, you should unabashedly demand absolute transparency from a vendor concerning who, specifically, is doing what kind of work and when.

This includes receiving undiluted information on what, if anything, will be handed off to subcontractors to complete.

7. Pilot Test The Developer

Although there are differing opinions on whether it’s appropriate for startups to require potential new hires to perform “free” work, it can be quite useful to assign a short yet meaningful and challenging pilot task to those few developer finalists who have made it through to the end of your RFP process.

When done properly, pilot projects allow 1) developers to prove the merits of their proposals and 2) your startup and the external developer to “iron out” any integration wrinkles before finally embarking on a massive project together.

Make sure that the pilot project you assign to your potential new developer is entirely relevant to the exact kind of work that the firm would be expected to do if it were selected to complete the project outlined in your RFP.

//

Thanks for reading!

If you enjoyed this article, feel free to hit that clap button below 👏 to help others find it!


Originally published at http://www.appsterhq.com