How to Outsource Amazing Software Talent

Intro: A holy matrimony.

Business, software. I now pronounce you, codependent.

Today, having a successful business means practically the same thing as having a successful software implementation with which to run it. Big business, small business, short business, tall business, software doesn’t care, it applies to all business!

Whether creating a landing page for an auto parts store, an online ecommerce site for a delivery service, or an internal application which handles sensitive medical record data in a secure and compliant manner, software can help tremendously. We think that you should look at outsourced software development as an investment, or an extension of your business both functionally and creatively. Thus, it’s vitally important that you partner with someone who understands your business, understands your goals, and can legitimately add value to your project.

So how do you find the right talent to get the job done? Well, as you’re approaching the process of finding a perfect outsourcing option, you’ll save yourself time and money (while getting better results) by doing some of the important work up front. You have the ability to control your outcomes, and just like in life, your business will be reflected by the people you work with!

 

Think of your project in terms of problems that need solutions

 

The project begins and ends with your business goals, starting by identifying an existing problem, and ending when that problem is solved. The beauty of this perspective is that it helps to communicate to candidates what your goals are in terms of actionable steps.

 

PRO TIP: Don’t get held up by technical detail when defining your problem! If you don’t know the technical aspects of your problem, instead speak in business terms. For example, “I don’t have enough user traffic on my site”. For which we’d then drill into further to find out why this is happening (the technical problem to be solved).

 

When you have a problem that needs to be solved, how do you know who will be the right fit? Well, you’ll need to set some expectations!

Expect the Unexpected

Budget, Timeline, and Scope.

 

What do they mean, and why are they important?

 

Budget: How much are you willing/able/wanting to pay for your project? Your financial investment.

Timeline: When does your project need to be completed, or when do certain checkpoints need to be hit? Can be a hard deadline or an hourly goal.

Scope: That thing the doctor uses to check your tonsils… Oh wait, wrong paper. Scope is the literal task list that needs to be completed, which should be pretty granular. Here’s a professional definition for scope as it pertains to software projects:

https://www.totallycommunications.com/latest/how-to-define-the-scope-of-a-project/

 

Defining budget, timeline, and scope in terms of your project is an important step on the your path to outsourcing amazing software talent. By understanding these goals, you not only help yourself or your business know what to expect, but you’ll attract better candidates that are looking for projects with clear objectives.

 

The best talent out there has a wealth of opportunity to choose from, and your goal to is to make sure they see your project and immediately want to join in. By delivering a clear set of tasks and budget goals, you’ll be miles ahead of the competing pack.

 

PRO TIP: If you aren’t sure how to properly gauge the budget of your project, you can use online resources for assistance, like https://estimatemyapp.com/

 

Getting help to estimate your project.

 

If you have absolutely no idea how to estimate what your project might cost, no problem. You can use online resources or hire a consultant to run these numbers for you acting as a 3rd party, that way there is no conflict of interest.

 

We recommend using the online resource first (using the link in the above “Pro Tip”), and if you’re still uncomfortable afterward, then get in touch with a consultant. Keep in mind that a consultant will cost more money, and take at a minimum of 8 hours to estimate and much longer if your project isn’t already well-defined.

Ace in the Hole

You’ll want an ace to accomplish your development work (unless you prefer to have someone who isn’t very skilled at what they do). But you should know if you need an ace of clubs, spades, diamonds, or hearts. Here are a couple preliminary filters to help narrow down your search for candidates.

 

Independent freelancer or Team?

 

Based on our professional experience, the most successful projects are associated with team efforts. If you already have a team, and the role you’re trying to outsource for is extremely specific, one independent developer may be appropriate. Otherwise, consider finding a team.

 

Advantages for a team include:

  • Getting access to both design and development talent
  • Easier to scale up when more developers are needed
  • Better communication across developers.
  • Existing workflow or communication channels (discussed more in “Go with the Flow”)

 

U.S. based or international?

 

In today’s age of remote workers, location may not seem like such a big deal, but it actually plays a huge role in communication, as it determines when you’ll be able to have meetings/check-ins/discussions with your outsourced talent. Consider your timezone and language barriers, as you may be able to pay less for an international worker, but you can easily overpay for lost time in communication challenges.

 

Technologies Used (often referred to as the “stack”)

 

A developer’s “stack” is how they refer to which toolsets, environments, programming languages, frameworks, and database systems they are experienced with. A more detailed explanation is available here: https://svsg.co/how-to-choose-your-tech-stack/

 

PRO TIP: If you don’t know what your technology set will be, then include in your job post examples of other sites that you would like to emulate. Instead of posting “Need AngularJS developer”, say this; “Need web app similar to this design {include example here} with a way to hold all of my online inventory. ”.

The Search is On!

Approaching your talent search

 

Instead of pulling out a card from the deck to see if it’s the right card, shuffling, and repeating the process, you should just spend time ordering the deck so you can easily pick the card you want. Googling for talent is a good approach if you’re looking for something specific, like mobile app developers in Las Vegas, but otherwise it may serve you worse to iterate through Google searches when you could use the below resources and let the talent come to you.

 

Where to search for talent

 

There is a pretty advanced network for outsourcing software talent, and most available platforms will allow you to either search for a developer by skill, or create a post on their website for you to post your project. Some of the more common platforms you can use include:

Upwork – https://www.upwork.com/

Outsourcely – https://www.outsourcely.com/

Freelancer.com – https://www.freelancer.com/

Guru – https://www.guru.com/

More available here: https://biz30.timedoctor.com/17-upwork-alternatives-that-will-help-you-outsource-jobs-to-grow-your-business/

 

Some of these (like Upwork) actually incorporate payment facilitation, hourly tracking, and tax forms to not only help guide your business to finding a developer but also establishing a means of workflow between you and your chosen developer. Although, the platforms (like Upwork) which have more users and better infrastructure also have a service fee (surprise!).

Green Screen Magic

So you’ve posted your project, and generated some interest from candidates. Some of them actually have relevant skills and experience, so it looks like you may have your ace! Although it’s promising to see perfect matches, you should make sure this person you’ve found has actually done the things they claim to have done and aren’t just standing in front of a resume green screen.

 

Screening

 

In order to verify a candidate’s ability to do the work, make sure to ask them directly for substantiation of their abilities. This includes a portfolio of relevant past work, resumes of the actual developers/designers who will be doing the work, and thoughtful questions about your project.

 

PRO TIP: Verify the candidate’s ability to deliver on your expectations as well! Ask for proof of their history in delivering projects on time and on budget. A good candidate should be able to refer you to a site of reviews or previous clients.

 

Screening Questions

 

There are certainly no shortage of questions you can ask a candidate, and whatever you feel has communication value should be communicated. However, it’s also important to ask questions that give you deeper insight into your potential working relationship, like the following:

 

Question: “Could you explain what your desired stack/toolset would be to accomplish this project and why?”

What you’re really asking:  Can you explain technical details in a way that I understand them?

 

Question: “In what way(s) is this project similar to a previous project of yours?

What you’re really asking: Can you prove that you have experience in working on these type of projects?

 

Question: “Are there any aspects to this project that you think would be difficult to accomplish?”

What you’re really asking: Are you able to recognize and be forthcoming about weaknesses?

 

Question: “What are some questions you have about this project?”

What you’re really asking: Do you understand the problem enough to have thought about how you would solve it?

 

Question: “If prompted, could you provide source code as an example of previous experience?”

What you’re really asking: Can you show me actual code you’ve written for this same type of stack? (more advanced question, only ask it if you’re comfortable with the technology)

 

Communication station

 

Paying attention to how you communicate with the candidate is extremely important! A candidate that asks questions which actually apply directly to your project is a good sign. For example, they might offer suggestions as to better or more simplified ways of accomplishing tasks, or think of design improvements in your existing business process.

 

PRO TIP: Try to notice a candidate’s behavior in your conversations, like whether they stop the bring up concerns and issues. You want to work with someone who will let you know if something is wrong or needs to be addressed, not someone who lets sleeping dogs lie!

 

If the candidate’s answers to your questions are difficult to understand, and they aren’t making an effort to help you understand, it’s a red flag. If you aren’t able to comfortably express complex ideas (or even simple ideas) with the candidate, then it’s possible you’ll continue to struggle in communication as you move forward in your project. Ideally, your outsourcee will offer you actionable choices in design and development that are technically thought-out, but communicated such that you understand them, thus allowing you to maintain your role as primary decision maker.

 

The best teams already know this, and will make a serious effort to bridge the gap between technical detail and business applicability in conversation.

 

Make your move

 

At this point, if you’ve successfully screened your candidate and verified their ability to do the work, it’s time to move the relationship forward. Sometimes it’s appropriate to do a little work together before signing a longer term contract, especially if you’ll be paying hourly. So, try to plan a way for the candidate to show you a little work up front in order to see what they’re capable of.

 

You can do this by getting on a screen-share call with the candidate, walking through whatever existing work you have and engaging in a working session to discuss where improvements could be made. Another approach is to give them a small bug (problem, design flaw, etc.) to fix.

 

If all goes well, and you have an engaged client who has proved their abilities to deliver, then you’ll soon need to establish your workflow. But first, let’s sign that contract!

Sign Here, Please.

Now that you’re at the stage of the process where you’re ready to hire a candidate, you’ll be engaging in some important paperwork!

 

Contract

 

Now is a good time to take what you determined will be your budget, timeline, and scope, and put it on paper to create a binding contract. An example of one is included at the end of this paper for your to reference!

 

The contract process may have already started as you were deciding on a team, and it may also undergo a couple revisions. If you came to the table from day one with your expectations set, then they should be easily converted into contract format.

 

Process Flow Diagram

 

For an idea of the process associated with your project, it’s important to get a  diagram worked out. This will be the guide by which your talent approaches each new extension, feature, or additional work on your project. Every step won’t necessarily apply to all changes, like fixing a bug or setting up a remote server, but having your engineers thinking in terms of your process will help the project as a whole.

 

At Topflight Apps, we give you a comprehensive contract estimate complete with a timeline process flow. A process flow is shown below. It essentially outlines the steps by which the work will be completed. Steps are never skipped, but if you’re on the same page with your talent, you can certainly just touch base and move right along.

Our Process

Product Discovery

Before we develop any app, we make sure we’re creating something that fits your business goals.  First we create the blueprint for the technology showing how the technical pieces fit together and what languages and services make the most sense long-term.  We investigate APIs and code libraries to analyze the feasibility of development and integration, and discover ways to accelerate development. Deliverables: functional specifications, high and low estimates for development.  

User Experience (UX) Design

We use rapid prototyping to build an optimal user experience. The prototype is a rough draft with just foundation and carpentry. But, it lets us iterate quickly and figure out what features will and won’t make it into the app based on the concept of a Minimum Viable Product.  Our developers also jump in to find possible roadblocks and suggest alternative implementations to make sure we’re not “overdesigning”. Deliverables: interactive Invision prototypes to test with prospective customers.

User Interface (UI) Design

Now that we have our user experience locked down, we turn the project to our user interface designers who add the polish that makes it visually appealing.We bring to life how your app will look and feel.  Iconography, branding, animation, and other visual “magic” have long been documented to increase conversions. This is about making the story look and feel incredible so customers engage with your app. Deliverables: sketch files, microanimations in Flinto, interactive Invision prototypes for user testing.  

Coding and Programming

This is the point at which all the previous work comes together.  Led by your product manager, our developers code the app according to Agile Development practices. We break up the backlog of tickets into 2-week sprints.  We discuss tasks and write code with total transparency so you’re never left to wonder. At the end of the sprint, the product manager holds a check-in with you to update you on progress, demo the sprint, and report how we’re doing relative to estimates and timelines.  Deliverables: Github code commits, apps ready for testing on staging or testflight environment.

Quality Control and Testing

Now we conduct quality control testing internally and externally. We write unit tests, which are tests that automatically test new code as it’s written to make sure it achieves functional expectations.  Next we perform beta testing along with our clients, to ensure that the site is working the way it was intended and according to the original story. We check for typos, broken links, security, forms, design compliance, mobile responsiveness, page loading speed, and anything else that a customer might experience.  Deliverables: Github code commits, apps ready for real customer engagement on production environment.

Launch and Beyond

Now that we have crossed the t’s and dotted the i’s, we launch your beautiful new app onto the Internet and app stores. Now you have the code to run your app and continue to fulfill your mission. It’s in the nature of software to be ever-changing, thus most of our clients choose to retain us as a long-term development partner to support the app and make improvements over time.  We can address any bugs that arise, add enhanced microinteractions for user engagement, build new features from the roadmap, and maintain server health to handle growing user traffic.

Go with the Flow

How to work with and communicate with your hired talent

 

“Workflow” is the process by which your team will communicate and check-in tasks with you as they are completing work, i.e. “flow of work”.

 

The workflow will essentially keep everyone on the same page, and make sure there is a clearly defined process by which work is prioritized, worked on, completed, and communicated.

If you hire a team, they may have these resources set up already, but if you’re hiring an individual, you must utilize your own resources or decide which online ones to use.

 

PRO TIP: Define with your hired talent how often you want them to report progress, when to ask for your input, and how to best communicate with you. Making this a scheduled report will help immensely.

 

Tools to use for workflow

 

A few tools for remote development workflow which are commonly used, including at Topflight Apps, are https://www.toggl.com for time tracking, https://gusto.com/ for payment processing, and https://slack.com/ for communicating.

 

Overall, having an ironed-out workflow will help you check into the work as it progresses, and communicate with your team throughout. If you’ve done well in hiring someone that you trust and communicate well with, the process of work will require less monitoring and be more productive.

Conclusion

Ultimately, there are many options to choose from when deciding on how to approach your software goals. The key is to start the process with preparation, and only focus on candidates that are genuinely invested in helping your business.

 

If you still have questions or aren’t sure where to start with your project, you can contact us at info@topflightapps.com or call us at +1 (702) 670-2759. We’d be happy to help you begin your process and would love to learn more about your project.

 

Best of luck in your journey!

 

Topflight Apps