Predicting Project Velocity in XP

Predicting Project Velocity in XP Using a Learning Dynamic Bayesian Network Model

Abstract—Bayesian networks, which can combine sparse data, prior assumptions, and expert judgment into a single causal model, have already been used to build software effort prediction models. We present such a model of an Extreme Programming environment and show how it can learn from project data in order to make quantitative effort predictions and risk assessments without requiring any additional metrics collection program. The model’s predictions are validated against a real-world industrial project, with which they are in good agreement.

EXTREME Programming (XP) is one of several iterative approaches to software development, collectively known as “Agile” methods . It consists of a collection of values, principles, and practices as outlined by Beck et al. . These include most notably: iterative development, pair programming, collective code ownership, frequent integration, onsite customer input, unit testing, and refactoring. XP emphasizes a lightweight, often informal approach. There are no large-scale requirements, analysis, and design phases, and so there are none of the traditional metrics associated with the requirements or design phases, such as function points [37]. Instead, the customer and development team agree a series of user stories (described later) that concisely define the requirements. User story sizes can be estimated using relative size measures such as story points that can be used to create initial project plans [38]. However, the definition of a user story is not as well defined as a function point. As such, user stories are limited in their ability to predict effort or quality. Yet, managers of XP projects have just as great a need for such predictions as managers on any other software project.
Click here for free

download this paper