Information Technology Reference
In-Depth Information
8VHUVWRU\DUWLIDFWV
FODVVLILFDWLRQ
WREHGRQH"
LQSURJUHVV"
FRPSOHWHG"
8VHUVWRU\DUWLIDFWV
VXPPDU\RIDUWLIDFWV
QXPEHURIFRPLWV
OLQHVRIFRGHHWF
Fig. 8. Step 2: Classifying User Stories
4 Related Work
Monitoring development activities for supporting project management has been
discussed before as software project telemetry [6]. The development environment
is instrumented by software “sensors” attached to editors, test suites or bug-
tracking databases. The sensors continuously send data to a central analysis
component, where metrics of interest such as code churn or build failures are
calculated. This enables detecting unwanted development in time. In contrast
to our approach, management roles such as product owners have to draw their
own conclusions how current activities are connected to specific requirements.
Connecting user stories with concrete agile development activities is discussed
in [12]. The authors present a tool for associating newly created or recently
modified lines of code with the individual tasks of a user story. While the initial
association has to be made manually, subsequent development activity is auto-
matically tracked by analyzing revision control usage. However, links between
user stories and higher-level development artifacts other than source code are
not supported.
For reducing the efforts required to link requirements with development re-
sults, automated traceability [3] has been suggested. By applying information
retrieval algorithms, the likelihood of connections between specific requirements
and code documents, UML diagrams, etc. is determined by, e.g., calculating the
similarity of terms. A survey of applicable techniques can be found in [15]. The
NLP approach presented in this paper augments these techniques by specifically
supporting the concept of user stories in agile software development. If we also
include actual source code, then an important preprocessing step related to this
is the work on automatically splitting source code identifiers into component
terms (e.g. drawRectangle or drawrect into draw and rectangle ), as done in [9].
NLP has been already found useful for supporting specific agile techniques,
such as behavior driven development [8]. Here, product owners provide an ab-
stract test script for each user story. Using an ontology, these scripts are re-
lated with their corresponding implementation. When the development team is
Search WWH ::




Custom Search