Feature Crumbs: Adapting Usage Monitoring to Continuous Software Engineering

  • Jan Ole JohanssenEmail author
  • Anja Kleebaum
  • Bernd Bruegge
  • Barbara Paech
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11271)


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.


Feature 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. 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
  2. 2.
    Bosch, J.: Continuous software engineering: an introduction. In: Bosch, J. (ed.) Continuous Software Engineering, pp. 3–13. Springer, Cham (2014). Scholar
  3. 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
  4. 4.
    Bruegge, B., Krusche, S., Alperowitz, L.: Software engineering project courses with industrial clients. ACM Trans. Comput. Educ. 15(4), 17:1–17:31 (2015). Scholar
  5. 5.
    Crispin, L.: Driving software quality: how test-driven development impacts software quality. IEEE Softw. 23(6), 70–71 (2006). Scholar
  6. 6.
    Davis, F.D., Bagozzi, R.P., Warshaw, P.R.: User acceptance of computer technology: a comparison of two theoretical models. Manag. Sci. 35(8), 982–1002 (1989). Scholar
  7. 7.
    Fitzgerald, B., Stol, K.J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 176–189 (2017). Scholar
  8. 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).
  9. 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).
  10. 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. 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. 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).
  13. 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).
  14. 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).
  15. 15.
    Nielsen, J.: Scenarios in discount usability engineering. In: Carroll, J.M. (ed.) Scenario-based Design, pp. 59–83. Wiley (1995)Google Scholar
  16. 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). Scholar
  17. 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).
  18. 18.
    Seiler, M., Paech, B.: Using tags to support feature management across issue tracking systems and version control systems. In: Grünbacher, P., Perini, A. (eds.) REFSQ 2017. LNCS, vol. 10153, pp. 174–180. Springer, Cham (2017). Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Jan Ole Johanssen
    • 1
    Email author
  • Anja Kleebaum
    • 2
  • Bernd Bruegge
    • 1
  • Barbara Paech
    • 2
  1. 1.Technical University of MunichMunichGermany
  2. 2.Heidelberg UniversityHeidelbergGermany

Personalised recommendations