Feature Crumbs: Adapting Usage Monitoring to Continuous Software Engineering
Continuous software engineering relies on explicit user feedback for the development and improvement of features. The frequent release of feature increments fosters the application of usage monitoring, which promises a broad range of insights. However, it remains a challenge to relate monitored usage data to changes that were introduced by an increment and thereby to a particular specific of a feature.
We introduce Feature Crumbs, a lightweight, code-based concept to specify a feature’s run-time characteristics. This enables monitored usage data to be allocated to a feature increment. In addition, we analyze the implications for the overall development process. We outline the reference implementation of a platform for collecting, managing, and assessing feature crumbs. We report an evaluation of both the feature crumb concept and the reference implementation in a university capstone course.
Feature crumbs and their changes to the development process contribute to the product quality; they enable feature increment assessment in combination with additional knowledge sources, such as decision knowledge.
KeywordsFeature crumb Usage data User Usage monitoring Process Agile development Continuous software engineering
This work was supported by the DFG (German Research Foundation) under the Priority Programme SPP1593: Design For Future – Managed Software Evolution. We thank Jan Philip Bernius and Lara Marie Reimer for their excellent work on the development of the reference implementation and the participants of the university capstone course for their feedback.
- 1.Alperowitz, L., Weintraud, A.M., Kofler, S.C., Bruegge, B.: Continuous prototyping. In: 3rd International Workshop on Rapid Continuous Software Engineering, pp. 36–42 (2017)Google Scholar
- 3.Bruegge, B., Dutoit, A.H.: Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd edn. Prentice Hall Press, Upper Saddle River (2010)Google Scholar
- 8.Gotel, O.C.Z., Finkelstein, C.W.: An analysis of the requirements traceability problem. In: Proceedings of IEEE International Conference on Requirements Engineering, pp. 94–101 (1994). https://doi.org/10.1109/ICRE.1994.292398
- 9.Guzman, E., Maalej, W.: How do users like this feature? A fine grained sentiment analysis of app reviews. In: IEEE 22nd International Conference on Requirements Engineering, pp. 153–162 (2014). https://doi.org/10.1109/RE.2014.6912257
- 10.Hebig, R.: UI-tracer: a lightweight approach to help developers tracing user interface elements to source code. In: Software Engineering and Software Management, pp. 225–236 (2018)Google Scholar
- 11.Johanssen, J.O., Kleebaum, A., Bruegge, B., Paech, B.: Towards a systematic approach to integrate usage and decision knowledge in continuous software engineering. In: Proceedings of the 2nd Workshop on Continuous Software Engineering, pp. 7–11 (2017)Google Scholar
- 12.Kleebaum, A., Johanssen, J.O., Paech, B., Bruegge, B.: Tool support for decision and usage knowledge in continuous software engineering. In: Proceedings of the 3rd Workshop on Continuous Software Engineering, pp. 74–77 (2018). https://doi.org/10.11588/heidok.00024186
- 13.Krusche, S., Alperowitz, L., Bruegge, B., Wagner, M.O.: Rugby: an agile process model based on continuous delivery. In: Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, pp. 42–50 (2014). https://doi.org/10.1145/2593812.2593818
- 14.Maalej, W., Happel, H.J., Rashid, A.: When users become collaborators: towards continuous and context-aware user input. In: Proceedings of the ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, pp. 981–990 (2009). https://doi.org/10.1145/1639950.1640068
- 15.Nielsen, J.: Scenarios in discount usability engineering. In: Carroll, J.M. (ed.) Scenario-based Design, pp. 59–83. Wiley (1995)Google Scholar
- 16.Paterno, F., Mancini, C., Meniconi, S.: ConcurTaskTrees: a diagrammatic notation for specifying task models. In: Howard, S., Hammond, J., Lindgaard, G. (eds.) Human-Computer Interaction INTERACT ’97. ITIFIP, pp. 362–369. Springer, Boston, MA (1997). https://doi.org/10.1007/978-0-387-35175-9_58CrossRefGoogle Scholar
- 17.Ros, R., Runeson, P.: Continuous experimentation and A/B testing: a mapping study. In: 4th International Workshop on Rapid Continuous Software Engineering, pp. 35–41 (2018). https://doi.org/10.1145/3194760.3194766