Catálogo de publicaciones - libros

Compartir en
redes sociales


Agile Processes in Software Engineering and Extreme Programming: 8th International Conference, XP 2007, Como, Italy, June 18-22, 2007. Proceedings

Giulio Concas ; Ernesto Damiani ; Marco Scotto ; Giancarlo Succi (eds.)

En conferencia: 8º International Conference on Extreme Programming and Agile Processes in Software Engineering (XP) . Como, Italy . June 18, 2007 - June 22, 2007

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

No disponibles.

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2007 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-3-540-73100-9

ISBN electrónico

978-3-540-73101-6

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Springer-Verlag Berlin Heidelberg 2007

Tabla de contenidos

A Metamodel for Modeling and Measuring Scrum Development Process

Ernesto Damiani; Alberto Colombo; Fulvio Frati; Carlo Bellettini

Many organizations using agile processes would like to adopt a process measurement framework, e.g. for assessing their process maturity. In this paper we propose a meta-model supporting derivation of specific data models for agile development processes. Then, we show how our meta-model can be used to derive a model of the Scrum process.

Palabras clave: Software development process; Scrum; MOF; meta-model.

- Methods and Tools | Pp. 74-83

Tracking the Evolution of Object-Oriented Quality Metrics on Agile Projects

Danilo Sato; Alfredo Goldman; Fabio Kon

The automated collection of source code metrics can help agile teams to understand the software they are producing, allowing them to adapt their daily practices towards an environment of continuous improvement. This paper describes the evolution of some object-oriented metrics in several agile projects we conducted recently in both academic and governmental environments. We analyze seven different projects, some where agile methods were used since the beginning and others where some agile practices were introduced later. We analyze and compare the evolution of such metrics in these projects and evaluate how the different project context factors have impacted the source code.

Palabras clave: Agile Methods; Extreme Programming; Object-Oriented Metrics; Tracking.

- Methods and Tools | Pp. 84-92

FitClipse: A Fit-Based Eclipse Plug-In for Executable Acceptance Test Driven Development

Chengyao Deng; Patrick Wilson; Frank Maurer

We conducted a survey on Executable Acceptance Test Driven Development (or: Story Test Driven Development). The results show that there is often a substantial delay between defining an acceptance test and its first successful pass. Therefore, it becomes important for teams to easily be able to distinguish between tasks that were never tackled before and tasks that were already completed but whose tests are now failing again. We then describe our FitClipse tool that extends Fit by maintaining a history of acceptance test results. Based on the history, FitClipse is able to generate reports that show when an acceptance test is suddenly failing again.

Palabras clave: Executable Acceptance Test-Driven Development (EATDD); executable acceptance test; Fit.

- Methods and Tools | Pp. 93-100

EzUnit: A Framework for Associating Failed Unit Tests with Potential Programming Errors

Philipp Bouillon; Jens Krinke; Nils Meyer; Friedrich Steimann

Unit testing is essential in the agile context. A unit test case written long ago may uncover an error introduced only recently, at a time at which awareness of the test and the requirement it expresses may have long vanished. Popular unit testing frameworks such as JUnit may then detect the error at little more cost than the run of a static program checker (compiler). However, unlike such checkers current unit testing frameworks can only detect the presence of errors, they cannot locate them. With EzUnit , we present an extension to the JUnit Eclipse plug-in that serves to narrow down error locations, and that marks these locations in the source code in very much the same way syntactic and typing errors are displayed. Because EzUnit is itself designed as a framework, it can be extended by algorithms further narrowing down error locations.

- Methods and Tools | Pp. 101-104

Does XP Deliver Quality and Maintainable Code?

Raimund Moser; Marco Scotto; Alberto Sillitti; Giancarlo Succi

Extreme Programming aims at delivering working software for less money and still of high quality. It is well known that software maintainability is one of the most important concerns and cost factors of the software industry. The question of this research is whether Extreme Programming intrinsically delivers easily maintainable code or not. We propose a model on how to evaluate the evolution of source code quality and in particular maintainability in an Extreme Programming environment and evaluate it with a small case study. The results obtained from the case study seem to sustain the hypothesis that Extreme Programming enhances quality and in particular maintainability of a software product. Given such promising results, additional experimentation is required to validate and generalize the results of this work.

Palabras clave: quality; maintainability; metrics.

- Empirical Studies | Pp. 105-114

Inspecting Automated Test Code: A Preliminary Study

Filippo Lanubile; Teresa Mallardo

Testing is an essential part of an agile process as test is automated and tends to take the role of specifications in place of documents. However, whenever test cases are faulty, developers’ time might be wasted to fix problems that do not actually originate in the production code. Because of their relevance in agile processes, we posit that the quality of test cases can be assured through software inspections as a complement to the informal review activity which occurs in pair programming. Inspections can thus help the identification of what might be wrong in test code and where refactoring is needed. In this paper, we report on a preliminary empirical study where we examine the effect of conducting software inspections on automated test code. First results show that software inspections can improve the quality of test code, especially the repeatability attribute. The benefit of software inspections also apply when automated unit tests are created by developers working in pair programming mode.

Palabras clave: Automated Testing; Unit Test; Refactoring; Software Inspection; Pair Programming; Empirical Study.

- Empirical Studies | Pp. 115-122

A Non-invasive Method for the Conformance Assessment of Pair Programming Practices Based on Hierarchical Hidden Markov Models

Ernesto Damiani; Gabriele Gianini

We specify a non-invasive method allowing to estimate the time each developer of a pair spends over the development activity, during Pair Programming. The method works by performing first a behavioural fingerprinting of each developer – based on low level event logs – which then is used to operate a segmentation over the log sequence produced by the pair: in a timelined log event sequence this is equivalent to estimating the times of the switching between developers. We model the individual developer’s behaviour by means of a Markov Chain – inferred from the logs – and model the developers’ role-switching process by a further, higher level, Markov Chain. The overall model consisting in the two nested Markov Chains belongs to the class of Hierarchical Hidden Markov Models. The method could be used not only to assess the degree of conformance with respect to predefined Pair Programming switch-times policies, but also to capture the characteristics of a given programmers pair’s switching process, namely in the context of Pair Programming effectiveness studies.

Palabras clave: Markov Model; Hide Markov Model; Agile Method; Conformance Assessment; Pair Programming.

- Empirical Studies | Pp. 123-136

Predicting Software Defect Density: A Case Study on Automated Static Code Analysis

Artem Marchenko; Pekka Abrahamsson

The number of defects is an important indicator of software quality. Agile software development methods put an explicit requirement on automation and permanently low defect rates. Code analysis tools are seen as a prominent way to facilitate the defect prediction. There are only few studies addressing the feasibility of predicting a defect rate with the help of static code analysis tools in the area of embedded software. This study addresses the usefulness of two selected tools in the Symbian C++ environment. Five projects and 137 KLOC of the source code have been processed and compared to the actual defect rate. As a result a strong positive correlation with one of the tools was found. It confirms the usefulness of a static code analysis tool as a way for estimating the amount of defects left in the product.

Palabras clave: agile software development; static code analysis; automation; defect estimation; quality; embedded software; case study.

- Empirical Studies | Pp. 137-140

Empirical Evidence Principle and Joint Engagement Practice to Introduce XP

Lech Madeyski; Wojciech Biela

Bringing software process change to an organisation is a real challenge. The authors have shown a sample attempt to carry out a process change and then reflected on its results and context. The present reflection points to a need for a set of principles and practices that would support the fragile process of introducing agility. For a start, the authors propose the Empirical Evidence principle exemplified using DICE® and the practice of Joint Engagement of the management and the developers. Both are results of a real-world process change case study in Poland.

- Empirical Studies | Pp. 141-144

Power of Recognition: A Conceptual Framework for Agile Capstone Project in Academic Environment

Ville Isomöttönen; Vesa Korhonen; Tommi Kärkkäinen

Agile methods are finding their way into industry, and also into tertiary education. Approaches on tertiary capstone project are being presented, and questioned, if they provide a supportive learning environment. In this paper, an industrial strength holding, conceptual framework for realizing an agile grounded software project course in academic environment is described and rationalized by pedagogical aspects.

- Methodology Issue | Pp. 145-148