Table of Contents
Fetching ...

What is a Feature, Really? Toward a Unified Understanding Across SE Disciplines

Nitish Patkar, Aimen Fahmi, Timo Kehrer, Norbert Seyff

TL;DR

The paper addresses inconsistent definitions of 'feature' across requirements engineering, software product lines, and agile practices by proposing a data-driven, empirical study that starts with open-source software. It uses large-scale OSS data and NLP to analyze feature-related artifacts (branches, issues, pull requests) and contributor activity, complemented by practitioner surveys, to map the lifecycle of features from definition to implementation. Early results from mining GitHub show measurable feature-branch activity, with significant differences in commit patterns between feature and non-feature branches, suggesting robust signals for feature management practices. The work aims to bridge disciplinary gaps, improve planning and resource allocation, and lay the groundwork for predictive analytics and broader applicability to proprietary and large-scale environments. Overall, it outlines a path toward a unified, practice-oriented understanding of features that can guide better collaboration and development workflows across diverse project contexts.

Abstract

In software engineering, the concept of a ``feature'' is widely used but inconsistently defined across disciplines such as requirements engineering (RE) and software product lines (SPL). This lack of consistency often results in communication gaps, rework, and inefficiencies in projects. To address these challenges, this paper proposes an empirical, data-driven approach to explore how features are described, implemented, and managed across real-world projects, starting with open-source software (OSS). By analyzing feature-related branches in OSS repositories, we identify patterns in contributor behavior, feature implementation, and project management activities. Our findings provide actionable insights to improve project planning, resource allocation, and team coordination. Additionally, we outline a roadmap to unify the understanding of features across software engineering disciplines. This research aims to bridge gaps between academic inquiry and practical strategies, fostering better feature planning and development workflows in diverse project environments.

What is a Feature, Really? Toward a Unified Understanding Across SE Disciplines

TL;DR

The paper addresses inconsistent definitions of 'feature' across requirements engineering, software product lines, and agile practices by proposing a data-driven, empirical study that starts with open-source software. It uses large-scale OSS data and NLP to analyze feature-related artifacts (branches, issues, pull requests) and contributor activity, complemented by practitioner surveys, to map the lifecycle of features from definition to implementation. Early results from mining GitHub show measurable feature-branch activity, with significant differences in commit patterns between feature and non-feature branches, suggesting robust signals for feature management practices. The work aims to bridge disciplinary gaps, improve planning and resource allocation, and lay the groundwork for predictive analytics and broader applicability to proprietary and large-scale environments. Overall, it outlines a path toward a unified, practice-oriented understanding of features that can guide better collaboration and development workflows across diverse project contexts.

Abstract

In software engineering, the concept of a ``feature'' is widely used but inconsistently defined across disciplines such as requirements engineering (RE) and software product lines (SPL). This lack of consistency often results in communication gaps, rework, and inefficiencies in projects. To address these challenges, this paper proposes an empirical, data-driven approach to explore how features are described, implemented, and managed across real-world projects, starting with open-source software (OSS). By analyzing feature-related branches in OSS repositories, we identify patterns in contributor behavior, feature implementation, and project management activities. Our findings provide actionable insights to improve project planning, resource allocation, and team coordination. Additionally, we outline a roadmap to unify the understanding of features across software engineering disciplines. This research aims to bridge gaps between academic inquiry and practical strategies, fostering better feature planning and development workflows in diverse project environments.

Paper Structure

This paper contains 10 sections, 2 figures.

Figures (2)

  • Figure 1: Top 10 most frequent first words in feature branch names
  • Figure 2: Commit activity over time