CONTINUOUS API-DESIGN FOR SOFTWARE ECOSYSTEMS Imed Hammouda, Eric Knauss, Leonardo Costantini RCoSE ‘15
API value chain In the context of a software ecosystem ü Attract developers ü Attract end-users
Background: APIs and Cognitive Dimension Jacobson, D., Brail, G., and Woods, D. APIs: A Strategy Guide. O’Reilly Media, ¨ 2011. Stylos, J., Clarke, S., and Myers, B. (2006) Comparing API Design Choices ¨ with Usability . Carnegie Mellon University, Microsoft. Green, T. R. G., Petre, M. . Usability Analysis of Visual Programming ¨ Environments: A Cognitive Dimensions Framework. Journal of Visual Languages and Computing 7: 131174, 1996 Piccioni, M., Furia, C. A., Meyer, B. (2013) An Empirical Study of API Usability. ¨ ESEM (International Symposium on Empirical Software Engineering and Measurement); Baltimore, Maryland (USA).
Conceptual Flow Business Ecosystem Business drivers scenarios strategy (Goals) Prioritize Ecosystem Ecosystem Fitness Select characteristics Elements dimensions Assess Relevant Actors Ecosystem Ecosystem & Relationships Tradeoffs Scope Personas Sensitivity points impacts Non-risk distilled into Risks Risk themes
Conceptual Flow Business Write Ecosystem Business drivers scenarios Extension strategy (Goals) Prioritize Ecosystem Ecosystem Fitness Platform Select characteristics Elements dimensions Assess Relevant Actors Ecosystem Ecosystem & Relationships Tradeoffs Scope Personas Systematic Opport. Student Sensitivity points Hobby Developer Developer impacts Non-risk distilled into Risks Risk themes
Ecosystemability Assessment Business Scenario (Goal)
Ecosystemability Assessment ¨ Started with Cognitive Dimension Framework (12 Dimensions) ¤ Some Cognitive (e.g. Learning Style) Fitness ¤ Some Technical (e.g. Consistency) Dimension ¤ Many missing (e.g. Testing, Security)
Ecosystemability Assessment ¨ Sensitivity point: An API decision that is critical for achieving a particular fitness dimension. ¨ Tradeoff point: A decision about platform API that affects more than one fitness dimension or persona (possibly in opposite ways). Output ¨ Risk: A decision about platform API that may lead to Concepts undesirable consequences. ¨ Non risk: A decision about platform API that is deemed safe. ¨ Risk theme: A general concern of a group of interrelated risks in platform API, assigned its own risk value.
Assessment Tool Example Network o attached camera Developer o adds capability
Conclusion Thank you! Eric Knauss eric.knauss@cse.gu.se @oerich
Recommend
More recommend