Towards approximating COSMIC functional size from user requirements in agile development processes using text mining

  • Authors:
  • Ishrar Hussain;Leila Kosseim;Olga Ormandjieva

  • Affiliations:
  • Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada;Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada;Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada

  • Venue:
  • NLDB'10 Proceedings of the Natural language processing and information systems, and 15th international conference on Applications of natural language to information systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Measurement of software size from user requirements is crucial for the estimation of the developmental time and effort. COSMIC, an ISO/IEC international standard for functional size measurement, provides an objective method of measuring the functional size of the software from user requirements. COSMIC requires the user requirements to be written at a level of granularity, where interactions between the internal and the external environments to the system are visible to the human measurer, in a form similar to use case descriptions. On the other hand, requirements during an agile software development iteration are written in a less formal way than use case descriptions -- often in the form of user stories, for example, keeping with the goal of delivering a planned release as quickly as possible. Therefore, size measurement in agile processes uses methods (e.g. story-points, smart estimation) that strictly depend on the subjective judgment of the experts, and avoid using objective measurement methods like COSMIC. In this paper, we presented an innovative concept showing that using a supervised text mining approach, COSMIC functional size can be automatically approximated from informally written textual requirements, demonstrating its applicability in popular agile software development processes, such as Scrum.