Continuous API Design for Software Ecosystems

Today more and more software operates in a software ecosystem where software products and services are shared over a common technological platform between business actors. In such a setting, a software platform API becomes the interface between the platform and its owner (s) on the one side and other actors and their extensions on the other side. In such ecosystem context, platform API fitness for application development has a huge impact on the success of the ecosystem. However, software ecosystems are usually evolving at a high pace given their dynamic structure and the continuously changing business strategies of ecosystem actors. The design of APIs for software ecosystems therefore has to co-evolve. In this position paper, we propose a continuous (re-)assessment method for platform API's that takes into account ecosystem needs. We illustrate the method with insights from an ongoing case study.

[1]  Joshua J. Bloch How to design a good API and why it matters , 2006, OOPSLA '06.

[2]  Klaus Marius Hansen,et al.  Analysis and design of software ecosystem architectures - Towards the 4S telemedicine ecosystem , 2014, Inf. Softw. Technol..

[3]  Clarisse Sieckenius de Souza,et al.  Evaluating application programming interfaces as communication artefacts , 2012, PPIG.

[4]  Lars Mathiassen,et al.  Collaborative Practice Research , 2000, Scand. J. Inf. Syst..

[5]  Eric Knauss,et al.  EAM: Ecosystemability assessment method , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[6]  E. Acosta Chaparro,et al.  Comparing API Design Choices with Usability Studies : A Case Study and Future Directions , 2006 .

[7]  Bertrand Meyer,et al.  An Empirical Study of API Usability , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[8]  Daniel Jacobson,et al.  APIs: A Strategy Guide , 2011 .

[9]  Slinger Jansen,et al.  Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry , 2013 .

[10]  Jan Bosch,et al.  From software product lines to software ecosystems , 2009, SPLC.

[11]  Slinger Jansen,et al.  Quality review and approval methods for extensions in software ecosystems , 2013 .

[12]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[13]  Brad A. Myers,et al.  Comparing API Design Choices with Usability Studies: A Case Study and Future Directions , 2006, PPIG.