We get this question all of the time from entrepreneurs who are outsourcing software development projects to Asia. “How do I take back ownership of my outsourced software development project?”

Well, first and foremost, before software project outsourcing make a pact that you need to own the source code, and the accounts, which are required to run the environment.

We recommend starting with the following items:

 

AllCode Github for Source Control

1. Source Control for the Software.

Your current development partner needs to check the source code into a Github organization where you are the Administrator. You need to sign up for an account at Github.com. Next, you need to create an organization as described here. https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch
You will then give the development partner access to the repository as an Admin by the following these steps: https://docs.github.com/en/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.
The development partner will then create the source code repositories for the iOS and Backend. You will want the development partner to check in the source code once a week. If they don’t, then withhold payment until they do. 
You will also want to bring in a 3rd party to verify that the source that is in the repositories generates the binaries that deliver the product.
AWS Select Consulting Partner

2. AWS or Backend Environment for Operations.

The iOS application has source code that needs to be checked into Github. There must also be source code for the backend, which will handle things like authentication, distributing videos for the meditations, and storing user data. The backend source code needs to run somewhere, e.g. on a server.
You want to own the account that runs the backend server. Hence, if there are difficulties with your development partner, you will not be locked out of the server. Our recommendation is to run the backend source code on a server that resides at AWS. 
 
You need to sign up for an AWS account here, https://aws.amazon.com, and put your credit card down. Next, you would grant your development partner access to the AWS account to enable them to deploy the software in your environment. 
If you’re using Linux, then you’ll want to get access to the private keys that enable someone to ssh onto the box.
AllCode Google Workspace for Shared Docs

3. Documentation to Understand the Business and Technical Requirements.

You’ll want to ask your development partner to produce architectural documentation that describes the way that your current product works. You’ll also want to ask them for technical documentation on how to run each of the source code repositories, e.g. iOS and backend. When they provide this documentation, you will want to store this documentation on a file service in the cloud. We typically recommend that our clients use Google Workspace for email. You’ll then be able to store this documentation in a folder in Gdrive
AllCode Apple Developer Account

4. iOS Dev Portal 

 
When you place your iOS app on the App Store, Apple will distribute the iOS app through an iOS Developer account. There are two types of iOS Developer accounts: individual and corporation. If you’re trying to make money from your iOS mobile app, then it behooves you to create a corporate iOS Developer account. The corporate account will require your entity to have a DUNS number. Acquiring a DUNS number for a new entity can be challenging. After you acquire the DUNS number, you’ll then be able to provision your corporate iOS Developer account. If you’re accepting payments through Apple, then you’ll also need to provide your banking information. 
 
You will want to be the admin of the iOS Developer account that distributes your iOS app. If you’re not the admin, then you don’t have control of the distribution of the app or the payment processing.
TwilioLogo

5, Additional 3rd Party Assets

Most iOS applications today make use of 3rd party cloud providers: e,g, Twilio. You’ll want to make sure that your accounts are being used for the following third parties: 

This can be a rather intimidating list of things to do. Believe it or not, there’s more if you’re delivering an Android mobile app or NFT blockchain application.

If this is something that you don’t want to do, then reach out to us. We’d be happy to help.

allcode_admin
allcode_admin