In a series of posts I will elaborate on how enterprise applications can embrace mobile devices.

Make or buy

In part 7 we took a look at different types of apps, in particular apps for employees. In this post we will focus on one of the most crucial yet underestimated questions: should a mobile enterprise app be developed in-house, or should development be outsourced? Developing software on a larger scale requires a lot of processes be established and a lot of prerequisites be met. Consider these questions:

  • Are there enough people with the required skills available to develop and maintain the software?
  • Is a software development process in place, including guidelines, best practices and regulations?
  • Do developers and testers have access to required hardware?
  • Is the required hardware properly integrated in the overall infrastructure?
  • Are all necessary tools available?
  • Are all formal and legal prerequisites for bringing software into production met?

If an organization has already established development teams and corresponding infrastructure, those questions can probably be answered with yes. But what is true for traditional enterprise application development need not necessarily be the case for mobile enterprise app creation. Think of this: to build a native iOS app and to test it on a device you will need a Mac. Developers targeting Android may choose from a broader range of development machines, but if the infrastructure team decided to lock the usb ports, they are out of luck either. More on this later. Now, what factors do - or should - influence the decision whether to build a mobile enterprise app or to buy it? Take a look at this deliberately unordered list:

  • Time to market
  • Criticality
  • Dependency
  • Cost
  • Available skills
  • Long term reputation
  • Requirement
  • Perception
  • Strategy

Let us translate these words into pairs of questions:

  • Is it important to bring the app to market as fast as possible? Or is it vital to be best in class?
  • Is the release of the app an urgent necessity? Or is it more important to demonstrate ones capabilities?
  • Must development costs be as low as possible? Or are other factors more important?

It is clear that there is a tension between those factors. They influence each other. For example, although time to market and overall costs may suggest outsourcing development, the long term reputation (We did the app on our own) may be more valuable, even if this means setting up a mobile dev team from scratch. The other way round may also make sense, however: even if a team is capable (in terms of skills) of developing mobile enterprise apps, it simply may not be worth adapting processes, investing in infrastructure or tools, establishing rules and regulations, if that one project is expected (or wanted) to be a mayfly.

I am by no means implying that outsourcing development is necessarily cheaper than doing it in-house. Here, it serves only as an example. A valid and serious comparison of the costs has to take into account lots of figures, for example the organizational structure of the company, the subject (the app) and of course the offers of potential contractors. The most important driving factor for mobile in-house development is the long term strategy of the organization. We will hear more on that in a later episode…

This is a (slightly updated) repost of a piece I published on my blog Tommi’s Blog. I deleted the blog in the wake of the GDPR, so the original version is no longer available, or only through the WayBack Machine of the Internet Archive. Please note: code usually has not been updated, so language feature reflect the time the original post was written.