Information Technology Reference
In-Depth Information
Supporting Agile Software Development
by Natural Language Processing
Barbara Plank 1 ,ThomasSauer 2 ,andInaSchaefer 3
1 University of Trento, Italy
2 rjm business solutions GmbH, Lampertheim, Germany
3 Technische Universitat Braunschweig, Germany
Abstract. Agile software development puts more emphasis on working
programs than on documentation. However, this may cause complica-
tions from the management perspective when an overview of the progress
achieved within a project needs to be provided. In this paper, we outline
the potential for applying natural language processing (NLP) in order to
support agile development. We point out that using NLP, the artifacts
created during agile software development activities can be traced back
to the requirements expressed in user stories. This allows determining
how far the project has progressed in terms of realized requirements.
Keywords: Agile Software Development, Project Management, Machine
Learning, Natural Language Processing.
1
Introduction
Over the last decade, agile software development has evolved from a fiercely
debated novelty into standard practice of many organizations. When properly
applied, agile software development methodologies such as Scrum [14] help to
develop software more predictably, more reliably, and with higher overall quality.
This is mainly achieved by a iterative, incremental approach: the development
process is split into iterations, which in Scrum are also known as sprints .Ineach
sprint, a working increment of the system is realized. The development activities
to do so are split into manageable chunks of work, so-called tasks. Developers
are kept motivated by avoiding excessive documentation and unnecessary tools
or procedures. An overview of agile software development using Scrum is given
in Figure 1.
In Scrum, requirements are expressed as user stories , which describe a certain
system feature from the perspective of a stakeholder [4]. User stories can refer
to all sorts of requirements, including functional as well as non-functional sys-
tem properties. When starting a new sprint, i.e., a new development cycle, the
development team chooses as many user stories as they believe can be turned
into a working increment of the product.
The product owner is responsible for providing enough user stories such that
a working increment of the product can be actually implemented during an
iteration. That is, before a new sprint can start, the product owner needs to
 
Search WWH ::




Custom Search