Building Mobile Software Ecosystems - A Practical Approach - Hess, Steffen; Braun, Susanne; Feldhaus, Johannes; Hack, Marco; Kiefer, Felix; Magin, Dominik; Naab, Matthias; Richter, Dominik; Lenhart, Torsten; Trapp, Marcus (Human-Computer Interaction: Users and Contexts, 2015)
Mobile apps are gaining great importance in the world of business software. Developers’ intentions are to build apps that support a specific piece of functionality with great user experience, business often needs to cover a large spectrum of functionality. The results are Mobile software ecosystems (MSE), which usually consist of a large number of apps supporting a certain type of business and combine the strengths of multiple service providers. At a first glance, developing mobile software might look simple. Doing it for business and at an ecosystem scale makes it extremely challenging in practice. Initiating an MSE means to come up with an attractive set of apps that provide adequate openness so that other companies can contribute to them and increase the value of the ecosystem for customers. This paper describes an approach to build MSEs in their initial version. This approach is based on software engineering state-of-the-art practices from requirements engineering, user experience (UX) engineering, and software architecture. The paper elaborates the specifics of MSEs and describes how they can be addressed in the approach. The approach has been applied in a large-scale industrial case study in the agricultural domain in a joint project of John Deere and Fraunhofer IESE. Within that case study, lessons learned with regard to user experience and software architecture are derived and described in detail. Practitioners setting up an MSE can avoid these pitfalls by taking our lessons learned into account.