BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
What is the single biggest challenge in defining software requirement specifications for enterprise mobile applications?
There are really three different types of enterprise mobile applications, and each has its own set of challenges when it comes to software requirements specification. I'll identify a large challenge for each.
One type of mobile enterprise application is applications for customers. They are known as business-to-consumer (B2C) apps, from the perspective of the enterprise. Some obvious examples include mobile shopping apps from retailers and apps from airlines that let travelers check flight status and account information. These apps are sometimes developed in-house enterprise software teams, but, more often, they are outsourced to companies with expertise in mobile app development.
The biggest challenge in this space is developing an application that gains wide enough user adoption to provide value to the company, while also proving useful to customers. To succeed, these apps require well thought out product management decisions and must also provide a good user experience. The app has to be usable -- not just useful, but a joy to use. If the app does not provide a good user experience, its intended audience will not stay with it. This requires an understanding of what is important to the customer and what is important to the enterprise. In the mobile space, retention metrics are an important measure of the combined utility and user experience. Retention metrics typically show how much time users spend with an app, relative to the time elapsed since they first installed it. The key for B2C mobile apps is creating a great user experience around functionality, while also providing value to company behind the app.
Mobile applications for employees, known as business to employee (B2E) apps are a slightly different breed. Like customers, employees are users too, but with a key difference. Enterprises still have the power to mandate that employees use a particular product. In today's bring your own device (BYOD) ecosystems, it can be challenging to support multiple platforms with "mandated" applications. If you don't support all the platforms, you cannot mandate usage. Therefore, these applications typically end up being built with mobile cross-platform technologies. These technologies often limit the flexibility with which designers and programmers can develop products and experiences. BYOD also introduces a nuanced security challenge: the B2E app and its data are typically considered to be "owned" by the business, while the device and the other apps and data on it are owned by the employee. Making sure you have an appropriate security policy that allows the business to protect its information while allowing employees to protect their private information can be particularly tricky. The challenges today tend to be in how the detailed software requirements specifications are articulated to make sure that they support and enforce these two goals.
Mobile applications for the business are the final category. This includes things like an executive dashboard showing operational performance for a division of the business. These apps have the same security challenges as B2E apps, although, in this case, it is more likely that the company can mandate a particular mobile device, potentially simplifying this problem. The biggest challenge in this space, then, is probably the one common to all applications that are developed for the business: determining ROI, which requires the business to Identify what the app does, the value to the user of doing it and the value to the business of allowing the user to do it in a mobile environment. Many apps are implicitly valuable in mobile form-factors: inventory-checking, delivery-receipt-acknowledgement and field-worker support, among others. Other apps in this space could be considered "vanity apps" -- dashboards that let executives monitor their business from tablets instead of from their desktop PCs, for example. Determining when it makes sense to develop functionality specifically for use on a mobile device rather than pushing back on the request and investing those funds in other ways is the biggest challenge here.