App lifecycle
Scenarios where App Management is needed
Introduction
Modern Enterprise App Management is getting more and more complicated. Especially bigger companies with hundreds of apps in their portfolio are struggling with all processes around the app lifecycle. They are developing and using apps for their partners, their employees and of course their consumer apps which are deployed through the public app stores like Google Play or the Apple App Store.
Most of these devices (except the employee’s devices) are not connected to and managed by a Mobile Device Management (MDM) system. Following are the most common use cases where MDM cannot help and the process of app delivery and app approval from the developer to the end user needs to be supported by an Enterprise App Management solution.
Scenario 1: Info app or sales app for affiliates and dealer
Example: Apps for affiliates and dealers in large product companies can be a good mechanism to keep them up to date with the latest information. For example a car manufacturer can provide apps with the latest specifications and 3D models of their new cars to people in the showrooms.
Use case: Business to Business (B2B) Need: A branded Enterprise App Store to provide these apps to all sales people and affiliates. The company app store needs a smooth and fast experience and is the single point of getting all the apps they need.
Scenario 2: Productivity apps for the extended enterprise (BYOD)
Example: Apps for external employees or employees with privately owned devices (BYOD) are getting more and more important. Examples are mobile CRM systems, mobile approval workflows or PIM clients. Use case: Business to Employee (B2E) Need: An Enterprise App Store can provide a smooth and quick experience and act as the single point of getting all the apps everybody needs. An additional app wrapping can ensure, that apps are secured and important company data does not leave the enterprise context.
Scenario 3: App testing and reviewing
Example: Take a product information app or a mobile shopping app. Before it’s ready for prime time, a couple of pre-release versions are pushed through some review iterations until the app is ready for deployment. These beta apps can come from an external agency or the internal app development department. The reviewer (i.e. a consultant or project manager) has to approve or reject the app and communicate with the developer. Use case: Internal or external developer to decision maker (app owner) Need: An app management tool helps to deliver app versions between developers and reviewers automatically. Reviewers always have access to the newest versions and can approve or reject them. Additionally the provisioning of development environments (like a Git repository and continuous integration build job) can be used to standardize the app delivery process into the company.
Scenario 4: App approval by different departments and decision makers
Example: Apps which will be delivered via the public stores to the consumers need to get through an internal approval process. The consumer app, maybe a HR app for applicants, needs to pass different approval steps. This could be a functionality test, a security check and a team has to aggregate all meta information until it is published. Use case: Decision makers or departments among themselves Need: An standardized app approval process supported by a tool helps to organize the approval process between the departments and their decision makers. Approver always have access to the newest versions and can approve or reject them.
Scenario 5: One-time event apps or fair apps
Example: A good example for short-lived apps are event apps. Similar to apps for fairs which inform the visitors about the current event, these apps need to be deployed to the visitors as quickly and hassle-free as possible. Use case: Business to Business (B2B), Business to Consumer (B2C) Need: Using an enterprise app store would definitely be oversized for a visitor to get an app he just uses once or twice.
One possibility is to upload the app into the public stores, but this takes time and effort, too. App Management tools can help to organise and speed up the meta data delivery to the public stores. Another quick solution could be an instant download from a local server which can be accessed via QR code or triggered by a beacon?
Need for tooling
This list is definitely not complete for enterprise app scenarios but it shows that there is a big need for tooling in this space. Most of these scenarios are mostly not covered by Enterprise Mobility Management (EMM) solutions at the moment. A simple Enterprise App Store is only the frontend to deliver apps to users, but the whole backend process from development, review and approval of apps is often not wrapped into a software supported process.
Managing the app lifecycle
Based on the scenarios above you will find out, that there is a lack of knowledge and tooling about app lifecycle management. A lot of processes need to be defined and experienced. Lets start to bring app management to some light and lets also try to differentiate between all the buzzwords in this space.
App Management
One of the best-known specialists in the enterprise mobility space is Jack Madden. In a recent articlehe describes two different types of classic app management. Thanks, Jack for this definition – let me use it here:
App-based Mobile App Management
App-based app management are technologies like SDKs (Software Development Kits), wrapping tools or special apps from EMM or ISV vendors which enable enterprises to apply policies and rules to an app.
To do this, they manipulate the apps’ interfaces which has the advantage that companies do not have to control the whole device (which today is not always possible, especially in BYOD scenarios) but they control the app. The disadvantages are, that this type of technology has to be built into the apps from the beginning and companies can only manipulate apps they control, but not public apps or apps from third parties.
Device-based Mobile App Management
The second type of app management is built directly into the operating system. Examples of these technologies are newer versions of Apple iOS, Samsung Knox or Android for Work. These systems allow MDM controlled devices to manage and secure apps through OS based capabilities, like “Open-In Management” on Apple devices (allowing and prohibiting apps to access content of other apps).
The advantage of these technology approaches is, that all kinds of apps can be managed and mobile operating systems support for these features is growing. The disadvantages are that the device has to be controlled by a Mobile Device Management software and the possibilities vary depending on the chosen platform.
Mobile App Lifecycle Management
Now we are not suggesting that these definitions are wrong, but we think the term Mobile App Management needs to be extended with the word lifecycle. Here’s why: securing your data with the above defined app management approaches is absolutely necessary, but it is just not enough – there are a lot of challenges which revolve around the process of managing an apps lifecycle.
Here’s an example: A big german manufacturer has more than twenty agencies working for them, producing all kinds of apps – consumer facing apps for product information, a custom mobile CRM solution used by sales representatives and lots of smaller apps for internal usage. Hundreds of apps in total, with dozens of updates per month. How are they able to manage all of these apps?
The agencies used to send each new app version to the according internal department via email. The reviewer of the app (in this case a project manager or mobile consultant) received the app and had to decide whether it meets all the criteria for release. He therefore had to send the package file (.apk or .ipa file) around to his team and somehow get it installed on some test devices (which by the way were not managed by any MDM solution). An additional challenge was the signing process especially of iOS apps. Often these apps were not signed correctly, for example with a developer certificate and not with the enterprise certificate, so it could not be installed on the desired test devices. After a test phase, he would contact the agency about the bugs and problems he found, the agency fixed the bugs and the tests started again. After a couple of iterations, he would send the app to another department who also needed to check and approve the app – like the UX team, and the head of the department.
Then, the apps needed to be delivered to their target audience: consumer apps had to be published to the public stores, internal apps had to be uploaded into the MDM solution, BYOD devices needed an enterprise app store to download the apps, and partners need a partner app store where they download the newest update of their product catalogue app. What a tedious, time-consuming, error-prone way of working! Why not use an tool that can cover the jobs of an apps’ lifecycle? To streamline the app delivery by the agencies, a single point of delivery (i.e. a web portal or a plugin to Continuous Integration tools like Jenkins or Nevercode is provided by such a tool like Relution, so all agencies can deliver their app versions into the same system. From there, all approval process steps (similar to approval processes of old school ITSM tools for desktop applications) can be triggered.
This can even be done from an app and without the need of logging into a complicated web portal. The last step of an app lifecycle is its automated delivery to the right people. This is done using an Enterprise App Store that can be configured for all kinds of customers – like corporate and external users, partners and more. And yes, the users know how to download an app from an app store, they do it day by day from Apple’s App Store or the Google Play Store.Consumer apps can be automatically prepared for the public stores by providing all the necessary meta information, screenshots etc.
Advice
Use a tool like Relution to organise the app delivery process, the app approval and the app delivery to all employees and externals. It will save you a lot of time and resources and help streamline the process – especially when the number of apps is increasing constantly. PS: Of course you can check out our solution to manage your companies app lifecycles.
Why You Need App Lifecycle Management
Mobile Device Management (MDM) has been the beginning of a shift towards a mobile client infrastructure for many enterprises. Using restrictions and policies, IT admins are feeling (more) comfortable when sending smartphones and tablets out to employees. But the real business advantage lies in mobilising business processes, including app lifecycle management, rather than in managing devices.
As a consequence, corporations all over the globe are using an ever increasing number of business apps developed either in-house or by suppliers to mobilise their business processes. By their very nature, their apps have a rather short lifecycle (i.e. new versions are being put out on a regular basis) of weeks instead of years. That can be a challenge.
App Lifecycle Management Challenges
By using the right app management solution, this app lifecycle management problem can be solved. It is important that the solution covers the COMPLETE lifecycle of an enterprise app. It has to start at the development phase by providing a source code repository as well as an automated build system. Each new version of an app then gets uploaded to the enterprise app store, the front end of each MAM solution. But beware: you don’t want to make EACH new version DIRECTLY available to ALL employees, do you?
That’s where you need to define an app-release process. Often, this process only exists on paper, and ipa and apk files get sent around via email, attached to a note that says “Please test” or “Please let me know if this is any good…”.
Sounds familiar? Then you need an app management solution that covers this whole process. New versions of apps should automatically be provided only to testers and release managers first. Only after they have found no problems with the app, its status can be changed to “release”. App lifecycle management lets you do this. At the same time, the previous app version should be retired. In addition, the app management system should send push messages out to each device that has the app installed, urging the user to update. Or, if used in conjunction with an MDM system, the new version should get pushed out to the devices immediately, making sure everyone is working with the most current app version.
By the time the last user has updated the app on his device, the app lifecycle management starts all over again with the next version—maybe for a different region, or another subsidiary. All this happens simultaneously for an increasing number of apps throughout the enterprise. Relution is a complete solution that covers all the aspects of the app lifecycle management as well as mobile app and device management in general.
Find more information about Mobile Device Management vs. Mobile Application Management here.