Once an enterprise has decided to go down the path of building native mobile apps, there is one critical decision involved –whether to build these apps in-house or to outsource development.
This post is the continuation of a series discussing why a CTO makes or breaks your enterprise mobile strategy and in case you’ve missed it we have already discussed how to choose between building native apps vs. adopting the mobile web. In the series, this third post will be useful when the choice has been made to develop native apps.
Clearly, the biggest advantage of building in-house is having full control over the project including the team allocated, the technologies used and the development process. There shouldn’t be any unexpected cultural or behavior conflicts since the team already works in the company and overall the core knowledge stays within the organization. It becomes easier later for integration with existing systems, customer support or product maintenance.
On the other hand (assuming a good outsourced team in place), the biggest benefit of outsourced development is that you can get your apps built at a fixed cost and time, mainly because of the control a milestone and delivery based pricing structure provides. With an established team and working skills in place, an outsourced company will be able to use technology and plug-ins that they have used before and this could save costs and time.
Many articles discuss in depth the pros and cons of either approach. With my experience of having done this before, the recommendation I want to make is for the long-term to have your apps produced in-house.
The Long Term Consideration – Produce In-house
If mobile is key to future growth, it is best to produce in-house. It is simply like a website or any other critical software development – if those are in-house then mobile apps should also definitely be in-house. Apart from the benefits of having full control, there is an opportunity to bring in fresh talent into the organization. Over the course of time existing team members will take significant new skills to develop their career. Besides, new projects create new buzz and morale can significantly improve if all this is done right.
That said, there’s a conflicting short-term priority to consider.
The Short Term Consideration – Time to Market
For the short term I recommend time-to-market be the first priority at hand. An organization should do whatever is required to deploy mobile apps to users in the fastest possible time period.
Reducing time to market for getting mobile apps to users is the only way for companies to learn what it takes to participate in the wide world of mobile apps. There are 10,000 apps being released daily into the different app stores. This is a skillset you need and must learn quickly and the best way is to roll up those sleeves and do it!
One way to maneuver the:
- a) Unavailability of internal skillsets to build apps, and
- b) Conflicting nature of the long and short-term considerations above
Is described below.
The Project Plan for the CTO
My recommendation is to set up a project within the organization with the following two goals:
- Get your first app launched to the app store AND
- Get an in-house team in place for maintenance of that app and all future version deployments
They key for an ambitious project like this to succeed is to establish in-house ownership of the project right from the beginning. Pick a person, ideally in a senior position – maybe a Solutions Architect or a very Senior Software Developer who wants to add to his or her skillset. The person picked should be motivated and should be dedicated to this new project/position full time with no other distractions or responsibilities.
The budget for the project should include the following two components:
- Cost to outsource the first version of the application development AND
- Cost to hire in-house talent in parallel of the application being built to take over the responsibilities later.
The good news is that both budgets can be reasonably estimated and will be placed in the “fixed cost” category, which is always helpful to get the executive sponsorship required before kick-off.
With ownership and budget established, the project owner along with senior technical leadership should evaluate and select a vendor to outsource the development. The owner needs to be involved daily – learning, guiding and making all the multitude of day-to-day decisions that will be required. There has to be close communication internally within the organization also with the vendor. The owner participates in choice of platforms, technologies, design, development guidelines and code throughout the project.
Since the project has two goals, in parallel the owner along with senior technical leadership should put hiring plans in place to build a small in-house team in place.
A bare bones team will consist of one Mobile Designer, two Mobile Developers, one QA Engineer and optionally one Project/Program Manager to make sure everything fits into the other systems and processes within the organization. In order to build both iOS and Android native apps add two more Mobile Developers for the other platform also – typically the Designer, QA Engineer and the Project/Program Manager will go cross platform. Hire internally or externally, but ensure that the hiring bar is very high and results in a crack unit for this critical evolution of the organization into mobile.
Interview aggressively and hopefully people start coming in. Get people on-board as soon as they can join – they simply join the project owner and start working closely with the project owner and the vendor team to get familiarized with the app being built. This is mobile expertise coming into the organization and that is a wonderful thing!
The plan above might seem aggressive, but these are critical moves to make at a critical time to bring critical skills to an organization. The plan above is also the best way to take advantage of the best of both worlds – outsourcing as well as in-house development – as you transition into mobile. This is important and a way for engineering and engineering leadership to lead the way and one of the reasons why the CTO makes or breaks your enterprise mobile strategy.