AGILE Publications
- Abrahamsson, P.,
AGILE Software Development of Embedded Systems,
ITEA2 symposium, Berlin, Germany, 18-19 October 2007
(PDF format)
Abstract
Motivation, Technological starting point, AGILE project goals and partners, Results, Industrial impact data, Tools, House-of-AGILE service, Dissemination, Publications, Other means, Conclusions and future, Q/A - ITEA-AGILE consortium,
AGILE Project Results Leaflet,
ITEA symposium, Berlin, Germany, 18-19 October 2007
(PDF format)
Abstract
Software development made more efficient. Application of agile processes speeds up embedded software development and boosts quality. The AGILE project provided compelling industrial proof that significant cost savings and quality improvements are possible when agile processes are applied. In extensive trials with more than 1,800 engineers and managers in 68 industrial pilot projects, reductions in total R and D lead time and costs. This offers European industry a significant opportunity. - ITEA-AGILE consortium,
AGILE Posters,
ITEA symposium, Berlin, Germany, 18-19 October 2007
(PDF format)
Abstract
AGILE Project Consortium and Team, AGILE Software Development Extended to the Embedded Domain, AGILE Results - A significant scientific and industrial impact - ITEA-AGILE consortium,
AGILE Newsletter 1/2007,
http://www.itea-agile.org, October 2007
(PDF format)
Abstract
XP2007 was a success!, Speeding up Embedded Software Development, Playing with the Big Guys, ATO: A Tool Environment supporting Agile Model-Driven Development, AgileREQ 3.0 by SQS, S.A., Development of an Effort Prediction Model for an Agile Development Project at Engisud, Enabling Agile Documentation, AGILE Facts. - Aiello, G., Alessi, M., Bruccoleri, M., D'Onofrio, C., Vella, G.,
An Agile methodology for manufacturing control systems development.,
Proceedings of the 5th International IEEE Conference on Industrial Informatics (INDIN 2007). Vienna, Austria. July, 2007
Abstract
Robotized manufacturing cells are required more and more often to process high variety of short life-cycle product. This increases the need for methods and techniques for easy reconfiguration of software programs running in Programmable Logic Controllers (PLC), i.e., devices able to control manufacturing systems. PLCs run embedded code characterized by a procedural nature that does not make it quite reconfigurable. In this paper we propose an AGIle COntrol System Development (AGICOSD) methodology that uses various practices of Agile software development methodologies and the Design By Contract (DBC) practice for modeling and programming manufacturing control systems. In this context we propose a way to automatically generate IEC 61131-3 conformed instruction list code starting from object oriented code and contracts written in Java Modeling Language. A test-bed and some industrial trials have shown the effectiveness of our methodology with respect to the traditional development methodology in terms of fast reconfigurability of manufacturing systems, reusability of instruction list code and reliable translation of java code to IEC 61131-3 standard compliant code. - Yaprakov, D.,
MDD Transformations of OCL Expressions to Source Code,
Master Thesis, K.U.Leuven Department of Computer Science, 2007
- Van Baelen, S.,
A Constraint-Centric Approach for Object-Oriented Conceptual Modelling,
Ph.D. Dissertation, K.U.Leuven, Department of Computer Science, Leuven, Belgium, ISBN 978-90-5682-820-2, 275 pages, 2007
(PDF format)
Abstract
Object-oriented analysis, and more specifically conceptual modelling, is a software engineering activity that aims at studying, analysing, and capturing the knowledge about the universe of discourse for a system to be developed. This should result in the specification of a consistent and unambiguous model that describes all domain knowledge, facts, and rules, in which every element from the universe of discourse has a transparent one-to-one correspondence to an entity in the conceptual model. We propose in this dissertation a constraint-centric approach towards object-oriented conceptual modelling. This is achieved by the usage of high-level constraint specifications as the core model structure for conceptual modelling. In particular, our approach enriches the conceptual model structure on two levels: by the definition of new structural concepts to express model constraints implicitly in the model structure, and by the introduction of constraints with supporting resolution mechanisms as a first-class model concept. Concerning the definition of structural concepts, we developed new concepts with a dedicated applicability context attached in order to specify constraints implicitly in the model structure. The incorporation of model constraints in each methodological concept, the usage of existential dependency as the key modelling criterion, the introduction of explicit class archives, and the formal specification of model events andaqueries enrich the expressive power of a conceptual model structure. Concerning the introduction of constraints as a first-class model concept, we developed a mechanism to specify model constraints using many-sorted first order logic. The constraint trigger concept attached to a constraint defines a generic constraint solver that can resolve constraint violations by injecting additional behaviour into an event or by firing an event due to progress of time. Our approach has converged into the EROOS methodology of which two versions are proposed. A core version, the EROOS kernel, uses a constructional modelling approach in which information can only be added to a conceptual model instance. An extended version, the EROOS universe, provides additional support for recurrent EROOS kernel analysis patterns through advanced and more practical concepts using the core version as the underlying base. - Wils, A.,
An Architecture-Centric Approach for Developing Timing-Driven Self-Adaptive Software Systems,
Ph.D. Dissertation, K.U.Leuven Department of Computer Science, March 2007
(PDF format)
Abstract
Applications often have implicit timing requirements on multimedia, game or number-crunching content. These constraints are mostly based on an 'average computer configuration'. This average configuration is disappearing now that distributed and embedded systems are proliferating, becoming more interconnected and used for more than one specific task. Instead, applications will be increasingly faced with changing CPU circumstances. The ability to cope with these changes at both deployment and run-time raises the need to explicit timing requirements and build timing-driven adaptation into the application itself. Creating such self-adaptive applications without specific support would dramatically increase the complexity and duration of the development. This dissertation proposes an architecture-centric development approach with design and run-time support to solve this problem. Current design support lacks a simple way of specifying the monitoring of important timing constraints. Likewise, we need to model application adaptations that ensure critical constraints. Such adaptations activate, replace or deactivate coarse grained functionality. At run-time the challenge of reconciling timing requirements and adaptation behavior of all applications requires system wide middleware support. Our development approach introduces architectural design abstractions for timing constraints and for application adaptations. These abstractions encapsulate self-adaptive behavior that is executed at run-time by reified entities. This keeps the self-adaptation behavior separated from the functionality in the design, the implementation and at run-time. To extend the self-adaptation process to multiple applications, we propose a hierarchical run-time architecture. We introduce a contract model to encapsulate adaptation knowledge and separate the behavioral adaptation logic into several adaptation policies. To help integrate the forthcoming design and implementation activities into a traditional software development process, we offer process and engineering guidance for both agile and plan-driven development contexts. Finally, we validate the approach and a forthcoming prototype run-time infrastructure using two case studies: a music application and a robot application. - Salo, O.,
Enabling Software Process Improvement in Agile Software Development Teams and Organisations,
Ph.D. Dissertation, University of Oulu, 2006
(PDF format)
Abstract
Agile software development has challenged the traditional ways of delivering software as it provides a very different approach to software development. In recent decades, software process improvement (SPI) has been widely studied in the context of traditional software development, and its strengths and weaknesses have been recognised. As organisations increasingly adopt agile software development methodologies to be used alongside traditional methodologies, new challenges and opportunities for SPI are also emerging. One challenge is that traditional SPI methods often emphasise the continuous improvement of organisational software development processes, whereas the principles of agile software development focus on iterative adaptation and improvement of the activities of individual software development teams to increase effectiveness. The focus of this thesis is twofold. The first goal is to study how agile software development teams can conduct SPI, according to the values, principles and practices of agile software development, in tandem with the success factors of traditional SPI. The second goal is to study how the team-centred SPI of agile software development and the traditional view of organisational improvement can be integrated to co-exist in a mutually-beneficial manner in software development organisations. The main research methodology in this thesis is action research (AR). The empirical data is taken from six agile software development case projects. The results of this research have been published in a total of seven conference, and journal, papers. The principal result of the study of project level SPI is an Iterative Improvement Process which provides systematic, yet agile, SPI mechanisms for agile software development teams. This process iteratively evolved during the series of case.projects. The empirical evidence of the project level research demonstrates the ability and willingness of agile software development teams to iteratively improve their daily working practices by making minor and simple, yet effective and visible, improvements during their projects. The research data further indicates the positive effect of iterative team reflection on the satisfaction of project teams, and confirms the need for systematic mechanisms to carry out SPI activities in agile project teams. Furthermore, the data shows that external support for the improvement activities proved to be highly significant for the success of SPI within agile project teams. The study of organizational SPI initially focused on integrating agile software development and continuous improvement of existing organisational practices. Arising from this stage, several changes to traditional SPI activities were suggested in order to establish a mutually-beneficial co-existence between organisational SPI stakeholders and agile software development teams. During the research a framework for deploying agile practices in organisations was developed. In this novel framework, the Iterative Improvement Process provides a mechanism for feedback between the agile software development teams and continuous organisational improvement activities. The research data further indicates that documented and validated knowledge arising from the Iterative Improvement Processes of agile software development teams can be beneficial in other contexts, such as in analysing and establishing future SPI initiatives in software development organisations. - ITEA-AGILE consortium,
AGILE Newsletter 2/2006,
http://www.itea-agile.org, November 2006
(PDF format)
Abstract
Project manager's greetings, Nokia Networks jumped into Agile wagon, experiences in combining professional testing and agile, an expereience of agile requirements and data management, realizing agility through model driven architecture, embedded testing, automated testing, business modelling, agility in reconfigurable manufacturing systems control, F-Secure agile localization model, impact of agile software development, AGILE Facts. - Pyhajarvi, M.,
Going Agile at F-Secure,
Bi-annual OO-days (OLIO2006), Tampere University of Technology, 28-29 November 2006.
( format)
- Dooms, K.,
Controlled chaos -- producing trustworthy embedded systems using Agile methods,
Bi-annual OO-days (OLIO2006), Tampere University of Technology, 28-29 November 2006.
(PDF format)
- Abrahamsson, P.,
Pealing the hype into pieces: What do we really know about agile in research and practice?,
Bi-annual OO-days (OLIO2006), Tampere University of Technology, 28-29 November 2006.
(PDF format)
- Estela, S.,
SQS S.A. lanza la version 3.0 de AgileREQ,
Qualitas Hodie Magazine, November 2006
(PDF format)
Abstract
AgileREQ es la solucion que SQS, S.A. ha desarrollado para dar soporte a la gestion de requisitos en proyectos de desarrollo que siguen metodologias Agiles. Dichas metodologias estan especialmente indicadas en proyectos y entornos can alta probabilidad de cambios en los requisitos. Ademas, AgileREQ ha sido disenada para facilitar su implantacion y potenciar sus beneficios. - Novo, M.,
Agile software development of embedded systems,
MetalUniverse Magagine, November 2006
(pdf format)
Abstract
El proyecto europeo AGILE, perteneciente al programa EUREKA-ITEA, pretende acelerar el desarrollo de productos que contienen una gran cantidad de software embebido, lograr un equilibrio entre el tiempo de comercialización y el coste de desarrollo y dar una respuesta más rápida a los cambios que surgen durante la fase de desarrollo. Esto se puede lograr aplicando conceptos AGILE (métodos, técnicas, herramientas y prácticas) en el desarrollo de software para sistemas embebidos. AGILE va a definir un marco de desarrollo ágil para el ámbito de sistemas embebidos que tenga en cuenta los estándares existentes. Mediante el posterior despliegue y utilización de dicho marco, se intentará demostrar su funcionalidad y la eficacia del enfoque AGILE. Para ello se desarrollarán varios proyectos pilotos y se recolectarán métricas de los mismos. - Novo, M.,
AGILE Proyecto europeo para el desarrollo de sistemas embedded,
Automática e Instrumentación, October 2006
(PDF format)
Abstract
Desde el ano 2004 esta funcionando el proyecto europeo Agile, perteneciente al programa Eureka-Itea, que pretende acelerar el desarrollo de productos wue contienen una gran cantidad de software embedded, lograr un equilibrio entre el tiempo de comercializacioin y el coste de desarrollo y dar una respuesta mas rapida a los cambios que surgen durante la fase de desarrollo. para ello se estan aplicando nuevos metodos, tecnicas, herramientas y practicas basados en conceptos Agile. Entre otras, Fagor es una de las empresas involucradas en este proyecto. - Paniagua, J., Got, O., Amayuelas, E., Estela, S.,
AgileREQv2 demonstration and AgileREQ Pilot Project results presentation,
Exhibition, QA-TEST 2006 International Conference on Embedded Software Testing, Bilbao, Spain, 18-20 October 2006
(PDF format)
- Abrahamsson, P.,
The concrete business impact of agile solutions - 3 times faster and 50 times better!,
European Software Process Improvement and Innovation Conference (EuroSPI) 2006, 11-13 Oktober 2006, Joensuu, Finland, Springer Verlag
- Salo, O.,Abrahamsson, P.,
An Iterative Improvement Process for Agile Software Development,
Software Process Improvement and Practice, vol. 12(1), 2007, online available from 6 October, 2006.
(PDF format)
Abstract
Agile software development of short iterative cycles offers an opportunity for rapid, visible and motivating software process improvement (SPI). The agile principles suggest the regular reflections of agile project teams for improving the efficiency and adaptation of the process. However, current literature provides little support or empirical evidence for conducting such improvement efficiently, systematically and in a validated manner. Thus, this article proposes an Iterative Improvement Process for conducting SPI within individual agile project teams, which aims at increasing the ability of software developers to improve the development process based on their experiences and context knowledge. The approach has been trialed within a multiple case study of five consecutive case projects where both qualitative and quantitative research data has been systematically collected. The empirical data confirms the positive effects of the Iterative Improvement Process on the software development projects and reveals the willingness of software developers to participate in the Iterative Improvement activities due to the rapid and visible changes in their working practices. - ITEA-AGILE consortium,
AGILE Posters,
ITEA symposium, Paris, France, 5-6 October 2006
(PDF format)
Abstract
The Future Is Agile: Like water, the software will penetrate everywhere. Like water, the software will be dynamic, flexible and yet robust. Like water, the software development will be Agile. - Aiello G., Alessi M., Cossentino M. Urso A., Vella G.,
RTDWD: Real-Time Distributed Wideband-Delphi for user stories estimation,
Proc. of RISE 2006 International Workshop on Rapid Integration of Software Engineering techniques. Geneve, Switzerland. September, 2006
(PDF format)
Abstract
This paper proposes the RTDWD (Real-time Distributed Wideband-Delphi) tool, a real-time collaborative web application for user stories estimation through the Wideband-Delphi method. RTDWD realizes, in a lightweight way, virtual meetings for a critical phase of the requirements management in distributed Agile development processes, such as Distributed eXtreme Programming. The web 2.0-based nature of RTDWD adds new communication modes to a distributed Agile development process, where a close real-time collaboration is needed but difficult to realize due to the geographic dislocation of team members. Features of RTDWD allow to take into consideration several scenarios where mobile devices (i.e. Pocket PCs and Smartphones) well substitute desktop and laptop computers. We present our experience in order to point out to the researcher community the usefulness of the RTDWD and, generally, of the lightweight real-time collaboration underlining the need to introduce new technologies on practices of distributed Agile processes. - Moser R., Russo B., Scotto M., Sillitti A., Succi G.,
Analisi preliminare della manutenibilità del codice sviluppato con XP,
XLIV Congresso Annuale AICA, Cesena, Italy, 21-22 September 2006
(PDF format)
Abstract
Uno degli obiettivi principali dell Extreme Programming consiste nel produrre codice di alta qualità a costi più contenuti rispetto alle metodologie tradizionali. La manutenibilità del codice rappresenta uno dei punti più critici nel ciclo di vita del software ed il suo costo è di norma superiore a quello dello sviluppo iniziale. Questa analisi preliminare si focalizza sullo studio di alcune metriche di riuso estratte da un prodotto sviluppato tramite XP. I risultati di questa analisi preliminare sembrano confermare la riusabilità del codice prodotto con XP. - ITEA-AGILE consortium,
AGILE Newsletter 1/2006,
http://www.itea-agile.org, September 2006
(PDF format)
Abstract
Project manager's greetings, The Values and Principles of Agile, XP2006, Agile Architecture Line, 500.000 Lines of Agile Code, Architecture Centric Agility, From Awkward Processes to Efficient Agile Processes, First Company-wide Agile R and D Process Established, Agility on the Way to CMMI, Agile Methods and Open Source Software, Introducing Agility in the Avionics Software World, Agile Project Execution Tooling, AGILE Facts. - Marcelino Novo,
Fagor Automation and the Agile project,
Fagor newsletter 07, 2006
(PDF format)
Abstract
Interview with Mr. Marcelino Novo, Technology Manager of Fagor Automation - Angelov, B.,
Applying Agile practices and methodologies together with CMMI process improvement initiatives and/or ISO 9001:2000 compliant Quality Management Systems in the activities of IT-intensive/software development SMEs,
International Conference on the Pioneers of Bulgarian Mathematics, Sofia, Bulgary, 8-10 July 2006
(PDF format)
Abstract
The project began as a task for Nemetschek as member of the Agile consortium working on Agile software development of embedded systems (EUREKA/ITEA). The task to present a Technical report and mapping between Agile and CMMI practices, Agile practices and ISO 9001 requirements as well as different certification options. The goal to suggest a way for the SME, to combine in their activities the best of these worlds. - ITEA-AGILE Consortium,
AGILE: Experience, Standardization and Application in the Embedded Domain,
Press coverage of the AGILE Workshop by Computers
(JPG format)
- ITEA-AGILE Consortium,
AGILE: Experience, Standardization and Application in the Embedded Domain,
Press coverage of the AGILE Workshop by Computer World
(JPG format)
- ITEA-AGILE Consortium,
AGILE: Experience, Standardization and Application in the Embedded Domain,
Press coverage of the AGILE Workshop by Info Week
(JPG format)
- M. Pikkarainen, T. Bozheva, S. Van Baelen (eds.),
AGILE: Experience, Standardization and Application in the Embedded Domain,
International Workshop, Sofia, Bulgaria, 31 May-2 June 2006
(PDF format)
Abstract
Agile at Organizational Level: The purpose is to discuss and share experiences of the key challenges and solutation alternatives of the agile develoment on organizational level. Agile Standardization Issues: The purpose is to represent and discuss standardization issues from the perspective of the Agile Methods and share experiences with addressing them. Agile Open Doors: The objective is to provide an opportunity to discuss additional interesting topics between the AGILE project participants and the external workshop attendees. Agile Embedded Workshop: The objective is to discuss topics regarding the application of Agile techniques for Embedded Software/Systems Development and the specific problems and issues that arise for the development of Real-Time Embedded Software/Systems. - Wils, A., Van Baelen, S., Holvoet, T., De Vlaminck, K.,
Agility in the Avionics Software World,
XP'2006, 17-22 June 2006, Oulu, Finland
(PDF format)
Abstract
This paper takes a look at how XP and other agile practices can improve a software process for the development of avionics software. Developers of mission critical airborne software are heavily constrained by the RTCA DO-178B regulations. These regulations impose strict rules regarding traceability and documentation that make it extremely hard to employ an iterative software development process. In particular, the extra validation overhead increases the time spent on small iteration cycles (for example, a bug-fix) to several weeks. Currently, this sector is also pressed to switch to a more agile, customer driven approach. In this paper we investigate how to speed up development and cope with changing requirements using agile techniques. The research was carried out in cooperation with Barco, a major Belgian avionics equipment supplier. We explain why certain agile techniques have less effect as the project progresses. We point out the stadia in which each XP practice is beneficial and where XP practices might cause a slowdown. - Wils, A., Holvoet, T., De Vlaminck, K.,
Timing driven architectural adaptation,
International Conference on Distributed Applications and Interoperable Systems (DAIS) 2006, 13-16 June 2006, Bologna, Italy
(PDF format)
Abstract
Computing devices are becoming computing platforms. Not the operating system and hardware characteristics will determine the footprint of an application, but the resources that are available at runtime. To function well in both high and low resource availability situations, applications have to adapt themselves at runtime. This paper presents a light-weight mechanism for specifying timing driven adaptation at the architectural level. A key contribution is the introduction of architectural quality re ection and adaptation points. Reflection points encapsulate end-2-end monitoring of timing constraints. Adaptation points offer run-time adaptation based on component and component group reconfigurations. Because of the clear separation of re ection and adaptation, the logic that links constraint violations to adaptation actions can work on two different levels. Constraint violations can be explicitly linked to adaptation actions for inter-application adaptation, or they can trigger adaptation actions of other applications to free up resources. A special requirement of this logic is that it does not rely on resource profiling information or fine-grained resource monitoring mechanisms. We will elaborate more on the details of these concepts and discuss their implementation and use on Draco, a Java based component platform. - Moser R., Sillitti A., Abrahamsson P., Succi G.,
Does refactoring improve reusability?,
Ninth International Conference on Software Reuse (ICSR-9), Turin, Italy, 11-15 June 2006
(PDF format)
Abstract
The improvement of the software development process through the development and utilization of high quality and reusable software components has been advocated for a long time. Agile Methods promote some interesting practices, in particular the practice of refactoring, which are supposed to improve understandability and maintainability of source code. In this research we analyze if refactoring promotes ad-hoc reuse of object-oriented classes by improving internal quality metrics. We conduct a case study in a close-to industrial, agile environment in order to analyze the impact of refactoring on internal quality metrics of source code. Our findings sustain the hypothesis that refactoring enhances quality and reusability of - otherwise hard to reuse - classes in an agile development environment. Given such promising results, additional experimentation is required to validate and generalize the results of this work. - Dooms, K.,
Agile Experiences from Philips: The Implementation Results; Comprehensive documentation made Agile,
KVIV Workshop on Agile Development, Antwerpen, Belgium, 30 May 2006
(PDF format)
- Van Baelen, S.,
Introduction to Agile Development,
KVIV Workshop on Agile Development, Antwerpen, Belgium, 30 May 2006
(PDF format)
Abstract
Where does Agile SW Development comes from? Wat are the main advantages of it? Is Agile Development a hype or rather 'The Silver Bullet'? Can we gradually introduce Agile Development or must we completely change our development process? As a short introduction on Agile Development, we identify the place and context of Agile Develpment within Software Development and try to give some answers on how you can benefit from introducing Agile Development techniques. - R. Kylmakoski,
RaPiD7: A Collaborative Method for the Planning Activities in Software Engineering - Industrial Experiments,
Ph.D. Dissertation
(PDF format)
Abstract
Software engineering is not only about writing code. Software engineering requires different kinds of competences, among them interpersonal skills. This is evident when the activities aimed at planning software implementation are considered. Software engineering activities such as system analysis, architecture design and interface design require extensive human interaction. However, the support for human interaction is currently not sufficient to address the interpersonal nature of software engineering. Furthermore, the traditional approach for the planning activities has not reached its goals. Creating understanding efficiently and sharing information is time consuming and prone to errors. Actors mostly work alone and quality assurance occurs late in the development process in the form of inspections. To address the issues referred to above, a method called RaPiD7 (rapid production of documentation, 7 steps) was developed at Nokia. RaPiD7 describes how human interaction is planned in software projects and how documents are to be created in facilitated workshops. The method is evaluated using the results from industrial experiments at Nokia Networks. In the presented use survey data RaPiD7 is shown to speed up the planning work, improve the quality of the results and to enable more efficient information sharing. Moreover, metrics from a case study show how RaPiD7 has reduced significantly the number of fatal findings in inspections. To conclude, this study provides a method that amends the planning activities in software engineering. The method can be utilized systematically in software engineering projects and the experiences show evidence of the improvements. - Delanote, D.,
Study of Transformation Languages for the Description of MDA Transformation and Code Generation Rules,
Master Thesis, K.U.Leuven Department of Computer Science, 2006
- Siniaalto, M.,
The Impact of Test Driven Development on Design Quality,
Oulu Master's Thesis, University of Oulu, Department of Information Processing Science, 2006
(HTML format)
- Kulmunki, M. ,
The Agile Software Development - Case Study: Product Simulations within Embedded Software Environment,
Oulu Master's Thesis, University of Oulu, Department of Information Processing Science, 2006
(HTML format)
- Komulainen, K.,
The Impact of Agile Software Development on Software Development organization,
Oulu Master's Thesis, University of Oulu, Department of Information Processing Science, 2006
(HTML format)
- Haikara, J.,
Use of Personas in Agile Software Development,
Oulu Master's Thesis, University of Oulu, Department of Information Processing Science, 2006
(HTML format)
- Pikkarainen, M. Mantyniemi, A.,
An Approach for Using CMMI in Agile Software Development Assessments: Experiences of Three Case Studies,
Sixth International SPICE Conference, Luxemburg, 3-5 May 2006
(PDF format)
Abstract
Software development organizations are increasingly interested in the possibility of adopting agile development methods. Organizations that have been employing the Capability Maturity Model (CMM/CMMI) for making improvements are now changing their software development processes towards agility. By deploying agile methods, these organizations are making an investment the success of which needs to be proven. However, CMMI does not always support interpretations in an agile context. Consequently, assessments should be implemented in a manner that takes the agile context into account, while still producing useful results. This paper proposes an approach for agile software development assessment using CMMI and describes how this approach was used for software process improvement purposes in organizations that had either been planning to use or were using agile software development methods. - Bozheva, T., Elisa Gallo, M.,
Defining Agile Patterns,
Rationale Management in Software Engineering, Dutoit, A.H.; McCall, R.; Mistrik, I.; Paech, B. (Eds.), ISBN: 3-540-30997-7, Springer Verlag, 2006
(PDF format)
Abstract
The variety of agile methods and their similarity could be a problem for software engineers to select a single or a number of methods and to properly utilize them in a project. An approach to resolving it is to provide concise and adjustable solutions of problems, recurring under certain circumstances, with justification of why and how to apply them. In this chapter we present an approach to acquiring and defining knowledge about agile software development in terms of patterns. We emphasize the rationale in the pattern structure. We discuss how the usage of the agile patterns contributes to organizing and delivering organizational knowledge and to improving the software processes in an organization. Early results from industrial trials are presented to demonstrate additional benefits, which an organizations gains from adopting the agile patterns. In the concluding part we define the directions for further research on the topic. - Sillitti A., Succi G.,
The Role of Plan-Based Approaches in Organizing Agile Companies,
Cutter IT Journal, Cutter Consortium, Vol. 19, No. 2, pp. 14-19, February 2006
(PDF format)
Abstract
The paper presents the results of a survey performed in 23 Agile companies. The survey focuses on the identification of the non-agile practices used in the organization of their development process. Even if the companies considered in the study are using Agile approaches to develop their products, the organization and the planning of the work is deeply affected by the approaches used in Plan-Based companies. Understanding which are the most used non-agile techniques and why managers are still so linked to them can identify potential weaknesses in the actual implementation of the Agile Methods. - Sillitti A., Succi G.,
Requirements Engineering for Agile Methods,
Engineering and Managing Software Requirements, Aurum A., Wohlin C. (eds.), Springer, 2005
(PDF format)
Abstract
Collecting, understanding, and managing requirements is a critical aspect in all development methods. This is true for Agile Methods as well. In particular, several agile practices deal with requirements in order to implement them correctly and satisfy the needs of the customer. These practices focus on a continuous interaction with the customer to address the requirements evolution over time, prioritize them, and deliver the most valuable functionalities first. This chapter introduces Agile Methods as the implementation of the principles of the lean production in software development. Therefore, Agile Methods focus on continuous process improvement through the identification and the removal of waste, whatever does not add value for the customer. - Ihme, T. and Abrahamsson, P.,
Agile Architecting: The Use of Architectural Patterns in Mobile Java Applications,
International Journal of Agile Manufacturing (IJAM), 8(2):97-112, 2005
(HTML format)
- Salo, O., Abrahamsson, P.,
Integrating Agile Software Development and Software Process Improvement: a Longitudinal Case Study,
International Symposium on Empirical Software Engineering (ISESE) 2005, Noosa Heads, Australia, 17-18 November 2005
(PDF format)
Abstract
Agile software development solutions are targeted at enhancing work at project level. Little is yet known about the relationship between agile projects and organizational capability improvement. The agile project teams are suggested to iteratively improve their behaviour in a validated manner. This paper addresses the high value of such validated software process improvement (SPI) knowledge emerging from project teams and its utilization at the organizational level SPI. In this paper it is suggested that the novel SPI methods of agile project teams also require alterations in the activities of the organizational level in order to enable the mutually benefiting co-existence of the two. Empirical results from a longitudinal case study over five software development projects are presented to illustrate the evolvement of organizational SPI mechanisms and to derive implications for integrating the agile software development and organizational SPI. The study reveals the high importance of close collaboration between the organizational and project levels throughout the projects and identifies several organizational activities needed in enhancing SPI within agile projects and in an organization. - Bozheva, T., Elisa Gallo, M.,
Framework of Agile Patterns,
European Software Process Improvement and Innovation Conference (EuroSPI) 2005, 9-11 November 2005, Budapest, Hungary, Springer Verlag
(PDF format)
Abstract
The variety of agile methods and their similarity could be a problem for software engineers to select a single or a number of methods and to properly execute them in a project. A pattern describes a problem, which typically occurs under certain circumstances and a basic approach to solve it providing opportunities to adapt the solution to the problem. The agile patterns, described herein, are based on the principles and practices of the best known agile methodologies. While individual practices included in any of these methods vary, they all have particular objectives and related to them activities. Therefore, every pattern is described as to show the core solution to a particular problem. Special attention is paid to the rationale for applying the agile patterns: what are the business drivers to adopting them; in what cases do they bring benefits; how could they be introduced in an organization. - Pikkarainen, M., Salo, O., Still, J.,
Deploying Agile Practices in Organizations: A Case Study,
European Software Process Improvement and Innovation Conference (EuroSPI) 2005, 9-11 November 2005, Budapest, Hungary, Springer Verlag
(PDF format)
Abstract
Currently, software development organizations are increasingly interested in adopting agile processes and practices. The organizations, however, need procedures and methods for supporting a systematic selection and deployment of new agile practices and for tailoring them to suit the organizational context. In this paper, an agile deployment framework is proposed. It is compatible with the ideology of continuous improvement of organizational practices (QIP), while it also integrates it with the opportunities provided by short iterations of agile process model. The suggested framework includes the procedures and methods needed for selecting suitable new agile practices in an organization. It also embodies the means for iteratively tailoring and validating the deployed practices within agile projects and gaining feedback rapidly from projects to the organization. The paper presents the empirical experiences of a case study where the F-Secure Corporation deployed a new agile software development process (Mobile-D) in a pilot project in order to utilize its experiences in developing an organization specific agile process model alongside their traditional F-Secure product realization process. - Nagappan, N., Williams, L., Osborne, J., Vouk, M., Abrahamsson, P.,
Providing Test Quality Feedback Using Static Source Code and Automatic Test Suite Metrics,
16th IEEE International Symposium on Software Reliability Engineering (ISSRE) 2005, Chicago, Illinois, USA, 8-11 November 2005
(PDF format)
Abstract
A classic question in software development is “How much testing is enough?” Aside from dynamic coverage-based metrics,there are few measures that can be used to provide guidance on the quality of an automatic test suite as development proceeds.This paper utilizes the Software Testing and Reliability Early Warning (STREW)static metric suite to provide a developer with indications of changes and additions to their automated unit test suite and code for added confidence that product quality will be high. Retrospective case studies to assess the utility of using the STREW metrics as a feedback mechanism were performed in academic,open source and industrial environments.The results indicate at statistically significant levels the ability of the STREW metrics to provide feedback on important attributes of an automatic test suite and corresponding code. - Vanhoof, B., Berbers, Y.,
Supporting Modular Transformation Units with Precise Transformation Traceability Metadata,
ECMDA Traceability Workshop, 7-10 November 2005, Nuernberg, Germany,SINTEF, 2005, pp. 15-27.
(PDF format)
Abstract
The Model Driven Architecture (MDA) initiative of the OMG heavily promotes the use of abstract models for software development. A key ingredient of the MDA is the automation of transformations on these models. Inserting semantically rich transformation traceability links into our models allows us to better comprehend the exact effects of the applied transformations. Empowering each transformation unit to insert its own specific traceability links provides subsequent transformation units with the ability to make use of that traceability information to improve their own actions. In addition, this permits us to better modularize transformations into smaller and more reusable units that, to a certain extent, depend on each other. In this paper, we define a UML transformation traceability profile that allows the addition of semantically rich traceability links into UML models. - Elorriaga, A.,
Testing EAI Solutions,
QA Test International Conference on Embedded Software Testing, Bilbao, Spain, 25-26 October 2005
(PDF format)
Abstract
Testing EAI Solutions/Pruabas de Soluciones EAI, Altor Elorriaga, SQS (ES) - Garate, J.,
Certification Strategies for Mobile Applications: A practical Experience,
QA Test International Conference on Embedded Software Testing, Bilbao, Spain, 25-26 October 2005
(PDF format)
Abstract
Certification Strategies for Mobile Applications: A Practical Experience/Estrategias de certificacion de Aplicaciones Moviles: Experiencia Practica, Juan Garate, SQS (ES) - Vanhoof, B., Berbers, Y.,
Breaking up the transformation chain,
Proceedings of the Best Practices for Model-Driven Software Development at OOPSLA 2005, 16-20 October 2005, San Diego, California, USA
(PDF format)
Abstract
Both Model-Driven Software Development (MDSD) and Model Driven Architecture (MDA) emphasize the importance of precise machine-readable models and automatic transformations on these models. In this paper we identify the need to externally specify transformation units in terms of required and provided model properties. We also present shortly how one can use semantically rich transformation traceability information as a specific kind of externally quantifiable property. Using precise specifications allows to break up monolithic transformation implementations into modular chains of transformation units that only depend each other's, externally specified, output model characteristics. - ITEA-AGILE consortium,
AGILE Posters,
ITEA symposium, Helsinki, Finland, 13-14 October 2005
(PDF format)
Abstract
Agile Software Development extended to the Embedded Domain: New software development technology capable to produce a significant improvement of the competitive position of the embedded software development industry in Europe - Abrahamsson, P.,
Agile Software Development of Embedded Systems,
Software Engineering Solutions Track, Exhibitors Forum, ITEA symposium, Helsinki, Finland, 13-14 October 2005
(PDF format)
Abstract
Motivation; Agile Software Technology; Business and Technical Impact (Philips, F-Secure, Ficosa); Future - Moser R., Janes A., Russo B., Sillitti A., Succi G.,
PROM: taking an echography of your software process,
XLIII Congresso Annuale AICA, Udine, Italy, 5 - 7 October 2005
(PDF format)
Abstract
Measurement in software production is essential for understanding, controlling, and improving the software development process. Past research has emphasized the importance of a disciplined data collection process as a prerequisite for a sound, solid, and useful analysis. Unfortunately, measurement programs often rely on manual data collection and therefore require a considerable effort. For this reason measurement programs are not widely adopted. In order to reduce the needed effort and therefore rise the acceptance of measurement programs tool support is needed especially for the data collection process. This paper describes ProM (ProMetrics), a set of tools to collect, integrate, visualize, and analyze the software development process with the aim to be as non-invasive as possible. - Abrahamsson P., Moser R., Sillitti A., Succi G.,
Analisi della relazione tra metriche di design ed effort in un progetto XP,
XLIII Congresso Annuale AICA, Udine, Italy, 5 - 7 October 2005
(PDF format)
Abstract
Nell'ingegneria del software ci sono solo pochi studi empirici sulla relazione tra le metriche di design ed effort associato allo sviluppo. I risultati di questi studi sono spesso contradittori, soprattutto perchè i dati raccolti non sono ben definiti e sono di bassa qualità. Inoltre, sono rarissimi i dati empirici ricavati da progetti sviluppati con Metodi Agili. Nell'ambito dei Metodi Agili, la raccolta automatica e non invasiva di dati é assolutamente necessaria: altrimenti lo stesso metodo di sviluppo sarebbe stravolto. In questo lavoro analizziamo la relazione tra le metriche di design di un progetto software industriale ed il relativo effort di sviluppo. I risultati dello studio evidenziano che in questo ambito alcune metriche sono correlate con leffort e sono buone indicatrici delleffort di sviluppo. Questo risultato è interessante sia per i manager, sia per il singolo sviluppatore: a) Le metriche di design possono aiutare il manager a stimare meglio i costi del progetto ed allocare le risorse. b) Per lo sviluppatore queste metriche sono utili come indicatore per un refactoring del design e del codice. - Rossi B., Sillitti A., Succi G.,
Metodi agili e sistemi di gestione delle configurazioni,
XLIII Congresso Annuale AICA, Udine, Italy, 5 - 7 October 2005
(PDF format)
Abstract
I sistemi di gestione delle configurazioni sono una possibile fonte di informazioni riguardo lo stato di un progetto software. Questo articolo presenta un tool per l'estrazione e l'analisi di informazioni da repository CVS con lo scopo di fornire dati ai progetti agili. Il tool si propone di analizzare il processo di produzione del software senza interferire con lo sviluppo e raccogliere dati empirici riguardo l'efficacia dei Metodi Agili. - Sillitti A., Ceschi M., Russo B., Succi G.,
Managing Uncertainty in Requirements: a Survey in Plan-Based and Agile Companies,
11th IEEE International Software Metrics Symposium (METRICS 2005), Como, Italy, 19 - 22 September 2005
(PDF format)
Abstract
This paper investigates commonalities and differences between Agile and Documentation-driven approaches in managing uncertainty in requirement gathering. The research method is a survey collected interviewing sixteen project managers of Italian software companies, 8 using Agile Methods, and 8 using Documentation-driven methods. The results show that Agile and Document-driven companies consider in a different way the problem of changing requirements and the related uncertainty; thus, they manage differently requirements gathering and the relationship with the customer. - Berbers, Y., Rigole, P., Vandewoude, Y., Van Baelen, S.,
CoConES: An Approach for Components and Contracts in Embedded Systems,
chapter of Component-based Software Development of Embedded Systems; An Overview of Current Research Trends, C. Atkinson, C. Bunse, H.-G. Gross, and C. Peper (eds.), Lecture Notes in Computer Science (LNCS), Vol. 3778, Springer, Berlin, Germany, 2005
(PDF format)
Abstract
This paper presents CoConES (Components and Contracts for Embedded Software), a methodology for the development of embedded software, supported by a tool chain. The methodology is based on the composition of reusable components with the addition of a contract principle for modeling non-functional constraints. Non-functional con-straints are an important aspect of embedded systems, and need to be modeled explicitly. The tool chain contains CCOM, a tool used for the design phase of software development, coupled to Draco, a middleware layer that supports the methodology at run-time. - Ihme, T., Abrahamsson, P.,
The Use of Architectural Patterns in the Agile Software Development of Mobile Applications,
International Conference on Agility (ICAM), 27-28 July 2005, Helsinki, Finland
(PDF format)
Abstract
Architectural design patterns capture proven solutions of skilled designers to many recurring design problems. However, these patterns may lead to large solutions and overengineering, which are considered alarm signals from the viewpoint of agility . This paper reports the results of two case studies focusing on the adoption of architectural design patterns in agile development of mobile applications for real markets. The Agile Architecture Line Approach and Model were applied in the case studies. The used approach and model strive for a light and robust architecture design framework for mobile applications and services. In this approach, current architectural knowledge concerning available patterns and solutions will be captured during the Architecture Line Definition phase taking place before production. Based on the experience gained from the first case project, more emphasis was laid on capturing the current architectural knowledge about the patterns and solutions proven useful and effective in similar applications running on the used platform. The patterns are augmented before production with suitable supporting information so as to enable them to help inexperienced designers to improve the quality of mobile applications developed in nine-week agile projects in concordance with agile values. This paper demonstrates empirically that architectural design patterns can help to develop viable software architectures and to document them in a useful way, as applied in the challenging context of tough time-to-market demads, the mobile development environment and the J2ME platform. This paper further shows that pattern-based rationale of design decisions and architectural components can be a key success factor in designing mobile software and improving its quality. The empirical results of this paper are presented in a manner enabling practitioners to utilize the proposed solutions in similar projects. - Kähkönen, T.,
Life Cycle Model for Software Process Improvement Project Deploying an Agile Method,
ICAM 2005 International Conference on Agility, Helsinki, Finland, July 27-28, 2005
(PDF format)
Abstract
The focus of agile software development has been on methods and practices. How to take the methods effectively in use has received less attention. Especially in large organization it is not trivial to take agile methods in use. This paper presents two software process improvement projects from the initial idea of using agile approach to the end of the project. Based on the experiences, a life cycle model that describes phases in a software process improvement project deploying an agile method to an individual project was developed. The model defines the phases and the key decision points in the improvement project. It also defines some alternative processes for projects in different situations. The main benefit of the model is that it gives the big picture of the agile method deployment project. The model helps to understand which steps are needed for initially deploying an agile method and continuously improving the process. - ITEA-AGILE consortium,
AGILE Newsletter 2/2005,
http://www.itea-agile.org, June 2005
(PDF format)
Abstract
Project Manager's Greetings, AGILE Events, Agile Framework of Software Processes for Embedded System Development, Agile Production Scheme Implemented: 70% Reduction in Lead-Time and Costs, Agile Data Collection, Agile Embedded Software Development of Robotized Manufacturing Cells, XP2006, Improving Software Development Practices in an Agile Fashion, An Agile Approach on Model-Driven Architecture (MDA), SoftFab Experence inside FICOSA, AGILE Partners. - Keränen, H., Abrahamsson, P.,
A Case Study on Naked Objects in Agile Software Development,
XP 2005, Sheffield, United Kingdom, 18-23 June 2005
(PDF format)
Abstract
Naked Objects and agile software development have been suggested to complement each other. Very few empirical studies to date exist where a product has been developed using the Naked Objects technologies in an agile development environment. This study reports results of a case study where a mobile application was developed using the Naked Objects Framework. Quali- tative and quantitative data was collected systematically throughout the project. The empirical results offer support for the argument that the Naked Objects ap- proach is suitable for agile software development. The results also reveal weak- nesses in the current Naked Object Framework, namely, that it is not yet mature enough for applications that require intense database operations. The results also show that the development team was able to create an operational user- interface just in five hours, which demonstrates the applicability of the Naked Object Framework in practical settings. - Benko, B.,
AgileKAPION - framework for agile software development for embedded systems,
Object Technology in Slovenia (OTS 2005), 15-16 June 2005, Maribor, Slovenia
(PDF format)
Abstract
Ogrodje za agilni razvoj programske opreme za vgrajene sisteme. Agilne metodologije za razvoj informacijskih sistemov so pokazale svoje prednosti na podrocju razvoja programske opreme. Zmoznosti agilnega razvoja se cedalje bolj uporabljajo v domeni vgrajenih sistemov (mobilne naprave, transportni sistemi, medicinske naprave), vendar so, predvsem varnostni, kriteriji bistveno strozji (standardi IEC 61508, DO-178b). Ogrodje za agilni razvoj programske opreme AGILEKapion postavlja smernice za razvoj programske opreme na podrocju vgrajenih sistemov, s poudarkom na telekomunikacijskih sistemih. - Dooms, K., Kylmäkoski, R.,
Comprehensive Documentation Made Agile - Experiments with RaPiD7 in Philips,
Product Focused Software Process Improvement 2005 (PROFES 2005), Oulu, Finland, 13-16 June 2005
(PDF format)
Abstract
This paper addresses the almost never-ending headache the role of documentation has given for software projects. Working software has been given recently a focus over comprehensive documentation, yet the required documents should be authored. This paper 'revisits' the approach developed by Nokia improving the documentation work without scarifying the quantity or quality of documentation. The method is called RaPiD7. The cases presented are from Philips Digital Systems Laboratory. This paper elaborates the method by providing insights to applying RaPiD7 in practice, explains the encouraging results of the experiments and gives tips for practitioners of the method by explaining the lessons learned in Philips. - Abrahamsson, P. Ihme, T., Kolehmainen, K., Kyllönen P., Salo, O.,
Mobile-D for Mobile Software: How to Use Agile Approaches for the Efficient Development of Mobile Applications,
Tutorial, Product Focused Software Process Improvement 2005 (PROFES 2005), Oulu, Finland, 13-16 June 2005
(PDF format)
Abstract
Mobile phone terminals have been closed environments until recent years. The change brought by open platform technologies such as Symbian operating system and java- technologies have opened up a significant business opportunity for anyone to develop application software such as games for the mobile terminals. Agile development solutions can be seen to provide a good fit for mobile application development environment. This tutorial seeks to provide an overview on the special characteristics of mobile software development and introduce a development approach called MobileD, which combines several agile approaches to meet the needs of volatile mobile application development. The approach has been validated in five empirical cases (two java applications, two native Symbian applications and one naked-objects application) each of which managed to deliver a market version in just 8-10 weeks of calendar time. To assist the developers and managers in using the proposed approach, concrete empirical data on the development process will be shown. - Keränen, H., Abrahamsson, P.,
Naked Objects versus Traditional Mobile Platform Development: A Comparative Case Study,
31th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)Porto, Portugal, 31 August-2 September 2005
(PDF format)
Abstract
It has been suggested that use of the Naked Objects pattern could contribute to business agility of applications and reduce the amount of the application code up to 75 percent in a desktop environment.Very little empirical evidence exists to support these claims, however.This paper reports results of a study where two agile software development projects created the same mobile application using two different technologies.The first project did the development using the traditional mobile platform,and the second project used the Naked Objects Framework.Both projects used the same agile software development process.The results show that Naked Objects produced 79 %less application code and 91 %less user interface code.Yet,the version of the Naked Objects Framework used was not found to be mature enough for proper implementation of all required functionality.It is concluded that,if further developed, Naked Objects can be a very potential technical development platform for business-oriented applications.Implications of the study are addressed. - Kettunen, P., Laanti, M.,
How to steer an embedded software project: tactics for selecting the software process model,
Information and Software Technology, Vol.47(9), 15 June 2005, pp. 587-608
(PDF format)
Abstract
Modern large new product developments (NPD) are typically characterized by many uncertainties and frequent changes. Often the embedded software development projects working on such products face many problems compared to traditional, placid project environments. One of the major project management decisions is then the selection of the project's software process model. An appropriate process model helps coping with the challenges, and prevents many potential project problems. On the other hand, an unsuitable process choice causes additional problems. This paper investigates the software process model selection in the context of large market-driven embedded software product development for new telecommunications equipment. Based on a quasi-formal comparison of publicly known software process models including modern agile methodologies, we propose a process model selection frame, which the project manager can use as a systematic guide for (re)choosing the project's process model. A novel feature of this comparative selection model is that we make the comparison against typical software project problem issues. Some real-life project case examples are examined against this model. The selection matrix expresses how different process models answer to different questions, and indeed there is not a single process model that would answer all the questions. On the contrary, some of the seeds to the project problems are in the process models themselves. However, being conscious of these problems and pitfalls when steering a project enables the project manager to master the situation. - Benediktsson, O., Abrahamsson, P., Dalcher, D. Hvannberg, E.T., O'Connor, R., and Thorbergsson, H. (eds.),
Software Development,
Proceedings of the International Conference on Software Development (SWDC-REK), May 27-June 1 2005, Reykjavik, Iceland, University of Iceland Press, ISBN 9979-54-648-4
(PDF format)
- Pikkarainen, M., Tanner, H., Abrahamsson, P., Levonmaa, M., Hyry, H., Lehtinen, J.,
An empirical evaluation of the process worksheet approach,
Proceedings of the International Conference on Software Development (SWDC-REK), Reykjavik, Iceland, May 27-June 1 2005, pp. 185-194
(PDF format)
- Abrahamsson, P., Kyllonen, P.,
Tutorial: Efficient development of mobile software and applications,
Proceedings of the International Conference on Software Development (SWDC-REK), Reykjavik, Iceland, May 27-June 1 2005
(PDF format)
- Abrahamsson, P.,
Keynote: Mobile software development - the business opportunity of today,
Proceedings of the International Conference on Software Development (SWDC-REK), Reykjavik, Iceland, May 27-June 1 2005, pp. 20-23
(PDF format)
Abstract
Mobile phones have been closed environments until recent years. The change brought by open platform technologies such as Symbian operating system and Java-technologies have opened up a significant business opportunity for anyone to develop application software such as games for the mobile terminals. The keynote approaches the topic from both the business and the development perspectives and outlines the current status and future prospects. It is suggested that agile innovations offer a solution for mobile application and service developers who are in need of high quality development processes. - Van Baelen, S.,
Agile Development: What And How?,
KVIV Workshop on Agile Development and Testing, Elewijt, Belgium, 26 May 2005
(PDF format)
Abstract
Where does Agile Development comes from? Wat are the main advantages of it? Is Agile Development a hype or rather 'The Silver Bullet'? How is Agile Development related to more classical Software development methods? Is there room for Analysis, Design and UML-models within Agile Methods? Can we gradually introduce Agile Development or must we completely change our development process? As introduction on Agile Development, we identify the place and context of Agile Develpment within software Development and try to give a clear answer on these Frequently Asked Questions. - Hulkko, H., Abrahamsson, P.,
A Multiple Case Study on the Impact of Pair Programming on Product Quality,
27th International Conference on Software Engineering (ICSE27), St. Louis, Missouri, USA, 15-21 May 2005
(HTML format)
- Williams, L. Layman, L., Abrahamsson, P.,
On Establishing the Essential Components of a Technology-dependent Framework: A Strawman Framework for Industrial Case Study-Based Research,
27th International Conference on Software Engineering (ICSE27) Workshop on Realising Evidence-Based Software Engineering (REBSE 2005), St Louis, Missouri, USA, 15-21 May 2005
(PDF format)
Abstract
A goal of evidence-based software engineering is to provide a means by which industry practitioners can make rational decisions about technology adoption. When a technology is mature enough for potential widespread use, practitioners find empirical evidence most compelling when the study has taken place in a live, industrial situation in an environment comparable to their own. However, empirical software en-gineering is in need of guidelines and standards to direct industrial case studies so that the results of this research are valuable and can be combined into an evidentiary base. In this paper, we present a high-level view of a measurement framework that has been used with multiple agile software development industrial case studies. We propose that this technology-dependent framework can be used as a strawman for a guideline of data collection, analysis, and reporting of industrial case studies. Our goal in offering the framework as a strawman is to solicit input from the community on a guideline for the essential components of a technology-dependent framework for industrial case study research. - Abrahamsson, P., Hanhineva, A., Jäälinoja, J.,
Improving Business Agility Through Technical Solutions: A Case Study on Test-Driven Development in Mobile Software Development,
Business Agility and Information Technology Diffusion, IFIP TC8 WG 8.6 International Working Conference, Atlanta, USA, 8-11 May 2005, IFIP International Federation for Information Processing, Vol.180, Baskerville, R., Mathiassen, L., Pries-Heje, J., DeGross, J. (eds.), ISBN 0-387-25589-3
(PDF format)
Abstract
This paper maintains that efficient business agility requires actions from all levels of the organization in order to strive for success in a turbulent business environment. Agility and agile software development solutions are suggested as yielding benefit in a volatile environment, which is characterized by continuously changing requirements and unstable development technologies. Test-driven development (TDD) is an agile practice where the tests are written before the actual program code. TDD is a technical enabler for increasing agility at the developer and product project levels. Existing empirical literature on TDD has demonstrated increased productivity and more robust code, among other important benefits. This paper reports results of a case study where a mobile application was developed for global markets, using the TDD approach. Our first results show that the adoption of TDD is difficult and the potential agility benefits may not be readily available. The lessons learned from the case study are presented. - Abrahamsson, P.,
Panel member on Agile Software Development methods: When and why do they work?,
Business Agility and Information Technology Diffusion, IFIP TC8 WG 8.6 International Working Conference, Atlanta, USA, 8-11 May 2005, IFIP International Federation for Information Processing
(JPG format)
- Salo, O.,
Systematical Validation of Learning in Agile Software Development Environment,
7th International Workshop on Learning Software Organizations (LSO 2005), Kaiserslautern, Germany, 10-13 April 2005
(PDF format)
Abstract
This paper illustrates implications from four case studies in which Agile software development teams conducted iterative project retrospectives to improve and adapt their software development processes. It was detected that the existing techniques lack a systematic approach to iteratively validate the implementation and effectiveness of software process improvement actions with both quantitative and qualitative data. Also, the case studies revealed that the organizational level can only benefit from the learning of project teams if the knowledge and reasoning behind the process improvements is converted into such an explicit format that it can be utilized for learning in organizational level also. Thus, this paper illustrates how these deprivations were accomplished in the case projects with the support of a structured template. - ITEA-AGILE consortium,
AGILE Newsletter 1/2005,
http://www.itea-agile.org, March 2005
(PDF format)
Abstract
Project Manager's Greetings, Research on Agile Patterns, Introduction to Philips SoftFab, Agile Assessment - Finding the Best Agililty Solutions Based on the Organizational Needs, Objective and Lightweight Improvement Ideas with Agile Assessment, RaPiD7 - Rapid Production of Documentation - 7 Steps, Introduction of RaPiD7 within Philips, Business Agility Yields Innovative Business. - Lindvall, M., Muthig, D., Dagnino, A., Wallin, C., Stupperich, M., Kiefer, D., May, J, Kähkönen, T.,
Agile Software Development in Large Organizations,
IEEE Computer, Vol. 37(12), December 2004
(PDF format)
Abstract
Developers need evidence that a new technology works in a certain context before they promote and deploy it on a larger scale. This need looms greater in large organizations because of their complexity and the need to integrate new technologies and processes with existing ones. To further evaluate agile methods and their underlying software development practices, several Software Experience Center member companies initiated a series of activities to discover if agile practices match their organizations' needs. Based on the experiences of these organizations, researchers concluded that agile practices match the needs of large organizations, but integrating new practices with existing processes and quality systems that govern the conduct of software development requires further tailoring. The challenge here lies not in applying agile practices to a project, but in efficiently integrating the agile project into its environment. - Koskela, J., Mylluaho, M., Kääriäinen, J., Bendas, D., Hyysalo, J. Virta, A.,
Experiences of Using Extreme Programming to Support a Legacy Information System Migration Project,
17th International Conference on Software and Systems Engineering and their Applications (ICSSEA), Paris, France, 30 November-2 December 2004
(PDF format)
Abstract
In the recent years, the software engineering community has been showing a growing interest in agile development methodologies. These have emerged out of the need for faster, more flexible and efficient processes for software development. Currently the best known agile method is extreme programming (XP). XP addresses issues concerning changing requirements and their cost by simplifying management tasks and project documentation. XP uses an iterative and incremental software process executed in relatively short cycles. Traditionally this type of approach would yield an increased management overhead because the management activities related to the ending and starting of iteration have to be executed for every iteration, while in the XP process these activities are minimized. Currently, there are lots of experience reports available on applying the XP method to different types of software projects. However, there exist very few experience reports of XP projects where the database is the most central issue of the project. Thus, the objective of this paper is to report and examine experiences and empirical data while using XP practices to support a legacy information system migration project. The work was performed during 4 months, with a total effort of 1056 hours. The project followed the agile methodology principles by applying a series of XP practices (e.g. planning game and small releases). Two previous migration attempts had failed. These efforts had followed the traditional waterfall approach, finishing already in the design phase, producing mainly design documents, but no description of the technique for transferring the data. In addition, the design documents produced were highly complicated and did not completely correspond to customers' needs. This paper attempts to understand the reasons for these failures, while also compiling a list of lessons learned. This study brings empirical data supporting the idea that XP practices and documentation for need are applicable not only to pure development projects (where source code is the most important result), but also for other types of software projects, where the main activities may be design (not product) oriented. The project was an engineering success, managing to find solutions to migrating data to the format required by the new information system. The migration itself is planned to be carried out in the near future. - Wils, A., Rigole, P., Berbers, Y., De Vlaminck, K.,
Ambient Computing Using Component Resource Contracts,
IASTED International Conference on Advances in Computer Science (ACST2004), St. Thomas, Virgin Islands, USA, 22-24 November 2004
(PDF format)
Abstract
This paper introduces a contract-driven resource management process and supporting middleware framework. We aim at supporting mobile computing tasks as they appear in the areas of Ambient Intelligence (AmI). As available resources in AmI environments fluctuate frequently, the resource usage of AmI tasks must be extremely flexible. The presented component based methodology permits an optimal flexibility in resource distribution and allocation through the use of resource contracts. User tasks specify their QoS needs in parameterized contract propositions that are used as the basis for a negotiation process. Once a contract has been validated and signed by the middleware, it can be monitored. The supporting decision logic is built around a Java-based expert system. Negotiation and monitoring rules detect misbehaving tasks and environmental changes. Renegotiations result in task adaptations or more drastic measures, such as partial task relocation. - Abrahamsson, P., Ihme, T.,
Using Agile Approaches to Develop Mobile Applications,
Tuturial at European Software Process Improvement Conference (EuroSPI 2004), Trondheim, Norway, 10-12 November 2004
(PDF format)
Abstract
Mobile phone terminals have been closed environments until recent years. The change brought by open platform technologies such as Symbian operating system and java- technologies have opened up a significant business opportunity for anyone to develop application software such as games for the mobile terminals. Agile development solutions can be seen to provide a good fit for mobile application development environment. This tutorial seeks to provide an overview on the special characteristics of mobile software development and introduce a development approach called MobileD.The tutorial is held by Pekka Abrahamsson from VTT, Finland. - Koskela, J., Abrahamsson, P.,
On-Site Customer in an XP Project: Empirical Results from a Case Study,
European Software Process Improvement Conference (EuroSPI 2004), Trondheim, Norway, 10-12 November 2004, Torgeir Dingsøyr (ed.), Lecture Notes in Computer Science 3281, Springer, 2004, ISBN 3-540-23725-9
(PDF format)
Abstract
Extreme programming (XP), similar to other agile software development methods, values close collaboration with customers. One of the XP's practices suggests that customer should be 100% available for the development team. Anecdotal evidence suggests that the XP customer role is costly, difficult and demanding. However, very few empirical studies have been published on the customer's role in an XP project. This paper reports empirical results from a controlled XP case study where the customer was present close to 100% of the development time. Both quantitative and qualitative data will be presented. Results are in line with the common belief that the on-site customer's role is demanding and requires a strong ability to resolve issues rapidly but offer contrasting findings in terms of required actual customer involvement in the development project. The empirical case demonstrates that while customer was present close to 100% with the development team, only 21% of his work effort was required to assist the team in the development. However, it is also shown that an on-site customer may create a false sense of confidence in to the system under development. The implications of these findings are discussed. - Korkala, M., Abrahamsson, P.,
Extreme Programming: Reassessing the Requirements Management Process for an Offsite Customer,
European Software Process Improvement Conference (EuroSPI 2004), Trondheim, Norway, 10-12 November 2004, Torgeir Dingsøyr (ed.), Lecture Notes in Computer Science 3281, Springer, 2004, ISBN 3-540-23725-9
(PDF format)
Abstract
Software engineering literature and practice have shown that efficient requirements management forms the essence of a successful software project. When the requirements are volatile and the development environment is unstable, Extreme Programming (XP) methodology provides efficient means to cope with requirements through the onsite customer practice. However, for many software companies, having an onsite customer present is difficult to achieve. To solve this problem an Offsite Customer Process Model has been proposed earlier. This paper reports results from a study of a mobile application development project where the model was empirically evaluated. The findings show that the model itself is context-dependent and it has to be adapted to the underlying development process. Based on these findings, an improved model is introduced. It is shown that the new model proved to work efficiently and improved the developer-customer communication mechanisms. - Elorriaga, A.,
A Practical Experience in Telecommunications Sector,
ICS TEST-E Conference on Software Testing, Bilbao, Spain, 10-11 November 2004
(PDF format)
Abstract
A Practical Experience in Telecommunications Sector / Una experiencia real en el sector de las telecomunicaciones, Aitor Elorriaga, SQS, SA(E) - Sagredo, J.,
Agile Software Development within SQS,
Poster Session at ICS TEST-E Conference on Software Testing, Bilbao, Spain, 10-11 November 2004
(PDF format)
- Nanclares, F.,
Configuration Management,
Tutorial at ICS TEST-E Conference on Software Testing, Bilbao, Spain, 10-11 November 2004
(PDF format)
Abstract
The tutorial attendees will learn to recognise objects and theirs correspondent critical processes in complex systems, such as those developed over several platforms. The tutorial will reveal the objectives of configuration management, as well as the possible conflicts that may arise. Importance will also be awarded to relevant standards and legal requirements. The speaker will present the configuration management process, its distinctive procedures and will provide all necessary documentation.The relations between configuration management, quality assurance, requirements and change management, will be also analysed. Attendees will learn how to implement the configuration management processes, together with configuration procedures, both for traceability and for the management and evaluation of alerts. This tutorial will also analyse specific problems, for example, how to maintain multiple versions, shared code and distributed developments. Finally, a set of criteria for selecting a configuration and change management tool will be explained, and this will be complemented by a general review of selected tools. - Laibarra, B.,
Test Management,
Track Chair, ICS TEST-E Conference on Software Testing, Bilbao, Spain, 10-11 November 2004
(PDF format)
Abstract
Track C: Test Management, Chair: Begoña Laibarra, SQS, S.A. (E) - Sillitti A., Russo B., Zuliani P., Succi G.,
Deploying, Updating, and Managing Tools for Collecting Software Metrics,
QUantitative TEchniques for SoftWare Agile Processes (QUTE-SWAP) at ACM SIGSOFT2004/FSE-12, Newport Beach, CA, USA, 5 November 2004
(PDF format)
Abstract
Collecting software engineering data is difficult due to the number of problems that researchers face in this activity. One of the most relevant is the ability to install and keep up-to-date the measurement tools installed in the production machines in order to collect such data. Even when a few machines are involved, maintaining all the tools required to collect data from the different development tools requires a full-time system administrator. Moreover, since most of these tools are research tools, researchers are updating them very frequently to fix bugs or to add new features. In a production environment, especially when Agile Methodologies are in place, the time and effort. For these reasons, automating the management of the tools for metrics collection is a key factor to provide easy-to-use tools and allow development teams to collect data useful for both practitioners and researchers. - Abrahamsson, P., Hanhineva, A., Hulkko, H., Ihme, T., Jäälinoja, J., Korkala, M., Koskela, J., Kyllönen, P., Salo, O.,
MobileD: An Agile Approach for Mobile Application Development,
Poster Session, Companion to the 19th annual ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2004), Vancouver, Canada, 24-28 October 2004, ACM Press
(PDF format)
Abstract
Mobile phones have been closed environments until recent years. The change brought by open platform technologies such as the Symbian operating system and Java technologies has opened up a significant business opportunity for anyone to develop application software such as games for mobile terminals. However, developing mobile applications is currently a challenging task due to the specific demands and technical constraints of mobile development. Furthermore, at the moment very little is known about the suitability of the different development processes for mobile application development. Due to these issues, we have developed an agile development approach called Mobile-D. The Mobile-D approach is briefly outlined here and the experiences gained from four case studies are discussed. - ITEA-AGILE consortium,
AGILE Posters,
ITEA symposium, Sevilla, Spain, 7-8 October 2004
(PDF format)
Abstract
Agile Software Development extended to the Embedded Domain: New software development technology capable to produce a significant improvement of the competitive position of the embedded software development industry in Europe - ITEA-AGILE consortium,
AGILE Project Profile Leaflet,
ITEA symposium, Sevilla, Spain, 7-8 October 2004
(PDF format)
Abstract
Agile software development approaches have proven their effectiveness in small-scale software projects. Independent studies have demonstrated that, in the area of non-embedded software development, agile approaches have delivered dramatic increases in productivity, fewer schedule deviations and improved defect-density. The goal of this project is to develop agile solutions to the embedded domain for accelerating the development of software-intensive systems, improving the balance between time-to-market and development costs, and strengthening the responsiveness to changes in embedded software development. - Salo, O.,
Improving Software Process in Agile Software Development Projects: Results from Two XP Case Studies,
Proceedings of the 30th IEEE Euromicro Conference, Rennes, France, 31 August-3 September 2004
(PDF format)
Abstract
One of the Agile principles is that software development teams should regularly reflect on how to improve their practices to become more effective. Some systematic approaches have been proposed on how to conduct such a self-reflection process, but little empirical evidence yet exits. In this paper, the empirical results are reported from two XP (Extreme Programming) projects where the project teams conducted post-iteration workshops after all process iterations in order to improve and optimize working methods. Both qualitative and quantitative data from the total of eight post-iteration workshops is presented in order to evaluate and compare the findings of the two projects. The results show the decline of both positive and negative findings, as well as the narrower variation of negative findings and process improvement actions towards the end of both projects. In both projects, the data from post-iteration workshops indicate increased satisfaction and learning of project teams. - Kääriäinen, J., Koskela, J., Abrahamsson, P., Takalo, J.,
Improving Requirements Management in Extreme Programming with Tool Support - An Improvement Attempt that Failed,
Proceedings of the 30th IEEE Euromicro Conference, Rennes, France, 31 August-3 September 2004
(PDF format)
Abstract
While Extreme programming (XP) relies on certain principles, it requires an extensive set of tools to enable an effective execution of its practices. In many companies, putting stories on the board may not be sufficient for managing rapidly changing requirements. The objective of this paper is to report the results from a study where a requirement management tool 'the Storymanager' was developed to meet the needs of a XP project team. The tool was used in a case project where a mobile application for real markets was produced. The tool was dropped by the team only after two releases. The reasons of the process improvement failure are addressed in this paper. The principal results show that the tool was found to be too difficult to use and that it failed to provide as powerful a visual view as the paper-pen board method. The implications of these findings are addressed for both the practitioners and researchers in the field. - Abrahamsson, P., Koskela, J.,
Extreme Programming: A Survey of Empirical Data from a Controlled Case Study,
ACM-IEEE International Symposium on Empirical Software Engineering (ISESE 2004), Redondo Beach, CA, USA, 19-20 August 2004
(PDF format)
Abstract
Extreme programming (XP) is a well known agile software development method. While a number of experience reports have been published in recent years, agile software development in general and XP in particular have strongly been criticized for the lack of empirical data. This paper reports a survey of the empirical data obtained from a controlled case study on extreme programming in practical settings. Thus, no hypotheses were set a priori. Four software engineers were acquired to implement a web-based system (7698 Locs, 820 hours) for data management in a delivery schedule of eight weeks. Development environment was close to the agile home ground. Collected empirical data is grounded on three basic data points: Time, size and defects. Data is organized around five system releases, each which were tested by 17 customer testers. System release defect-density was 1.43 defects/KLOC, team overall productivity 16.90 Locs/hour and rework costs were 9.8% of the total development effort. The implications of this study are discussed. - Sillitti A., Janes A., Succi G., Vernazza T.,
Measures for Mobile Users: an Architecture,
Journal of System Architectures, Elsevier, Vol. 50, No. 7, pp. 365 - 444, July 2004
(PDF format)
Abstract
Monitoring the development process is a complex task due to the amount of resources required (i.e. time and money), moreover the correctness of collected data is not guaranteed if the required tasks are performed manually. This paper describes an extension of the Eclipse IDE environment to allow developers to collect data regarding the development process without any effort. - Kähkönen, T.,
Agile Methods for Large Organizations - Building Communities of Practice,
Agile Development Conference, Salt Lake City, Utah, USA, 25-28 June 2004
(PDF format)
Abstract
Agile development practices respect tacit knowledge, make communication more effective, and thus foster the knowledge creation process. However the current agile methods, like XP, are focused on practices that individual teams or projects need, and the use of the methods in organizations consisting of multiple cooperating teams is difficult. The Community of Practice theory suggests that large agile organizations should have various overlapping, informal cross-team communities. This paper studies three agile methods developed at Nokia that use facilitated workshops to solve multi-team issues. The paper explains using Communities of Practices theory - why these methods work in multi-team settings. The results of this paper suggest that workshop practices that amass people from different parts of organizations to perform a specific well-defined task can be used effectively to solve issues that span over multiple teams and to build up Communities of Practice. This result suggests that the Community of Practice concept could provide a basis for adapting agile methods for the needs of large organizations. - Sillitti A., Succi G.,
Software Production Infrastructure to Support Agile Methodologies,
The 2004 International Conference on Information and Knowledge Engineering (IKE'04), Las Vegas, NV, USA, 21 - 24 June 2004
(PDF format)
Abstract
In the last few years, software production has dramatically changed: the Internet, globalization, alternative development practices like open source have been important drivers and there are also pressures from ever more educated and informed customers for ever more stringent needs and ever more rapid delivery of solutions, etc. Recently, a set of new software development processes has emerged, addressing typical problems of traditional development techniques, such as keeping the project within the planned budget and deadlines, increasing the quality, satisfying customers, coping with dynamic business needs, etc. These methodologies are called 'Agile Methodologies' (AMs) as they are adaptive and not predictive, people oriented and not process oriented, and quality focused (Beck et al., 2001). Organizations that have adopted them report they were able to deliver quality software which is easy to maintain (Beck, 1999) in shorter time. All these methodologies use an object-oriented approach, which is well suited to support an iterative incremental process. - Salo, O., Kolehmainen, K., Kyllönen, P., Löthman, J., Salmijärvi, S., Abrahamsson, P.,
Self-Adaptability of Agile Software Processes: A Case Study on Post-Iteration Workshops,
Proceedings of the 5th International Conference on Extreme Programming and Agile Processes in Software Engineering (XP2004), Garmisch-Partenkirchen, Germany, 6-10 June 2004
(PDF format)
Abstract
None of the agile methods are claimed to fit all development situations. A team should attempt to adapt the methods and practices to fit their specific needs. For that reason agile principles call for self-reflection on a regular basis in order to identify where and how to make improvements. While some systematic approaches on how to execute this self-reflection process effectively have already been proposed, little empirical evidence currently exists. This paper reports empirical results based on a study where a project team conducted a self-reflection process called post-iteration workshop in order to improve and optimize the adopted practices in an XP project. Both qualitative and quantitative data were collected from four 1-2 hour workshops. The results show that with less than 4% effort it is possible to hold postiteration workshops that significantly help to improve and optimize practices and enhance the learning and satisfaction of the project team. - Hanhineva, A.,
Test Driven Development in Mobile Java Environment,
Oulu Master's Thesis, University of Oulu, Department of Information Processing Science, 2004, 101 p.
(HTML format)
- Hulkko, H.,
Pair Programming and its Impact on Software Quality,
Oulu Master's Thesis, University of Oulu, Department of Electrical and Information Engineering, 2004, 96 p.
(HTML format)
- Kontio, J., Hoglund, M, Ryden, J., Abrahamsson, P.,
Managing Commitments and Risks: Challenges in Distributed Agile Development,
Proceedings of the 26th International Conference on Software Engineering (ICSE), Edingburgh, Scotland, 23-28 May 2004, IEEE
(PDF format)
Abstract
Software development is always a challenging undertaking and it requires high commitments from individuals who participate in it.Software development often involves new technology,challenging or unknown requirements,and tight schedules - making it particularly prone to several types of risk.These challenges are even more paramount in agile development and in distributed development,where the need for efficient information sharing is important,yet the distributed development makes it very difficult. This tutorial uses innovative and new learning methods to explore and to learn about these challenges and how to deal with them.The tutorial is partially based on presentations given by authors,but a major element in the tutorial is the case study that is introduced and in which will involve all the participants.The learning in the tutorial is strongly facilitated by participants' discussions and the insights generated in concrete problem solving situations. - Abrahamsson, P., Jokela, T.,
Usability Assessment of an Extreme Programming Project: Close Co-Operation with the Customer Does Not Equal to Good Usability,
5th International Conference on Product Focused Software Process Improvement (PROFES 2004), 5-8 April 2004, Japan, LNCS 3009, Springer
(PDF format)
Abstract
Extreme programming (XP) is a development paradigm that is becoming widespread in the field of software engineering. Very few - if any - empirically validated research results have been reported on the relationship between usability engineering and XP. To understand to which extent XP guides to development of software that is usable, a usability process assessment was conducted on a controlled XP project. The analysis reveals that XP pays almost no attention on the usability of the software, apart from some actions that can be regarded as implicit usability evaluations. The analysis shows further that in XP the team transfers the responsibility of the products usability to the customer. It is argued, however, that an XP team is in trouble when an enlightened customer sets value on usability requirements. These findings bear significant implications on research and practice. These implications are discussed and a promising avenue for solution is identified. - Salo, O., Abrahamsson, P.,
Empirical Evaluation of Agile Software Development: The Controlled Case Study Approach,
5th International Conference on Product Focused Software Process Improvement (PROFES 2004), 5-8 April 2004, Japan, LNCS 3009, Springer
(PDF format)
Abstract
Agile software development, despite its novelty, is an important domain of research within software engineering discipline. Agile proponents have put forward a great deal of anecdotal evidence to support the application of agile methods in various application domains and industry sectors. Scientifically grounded empirical evidence is, however, still very limited. Most scientific research to date has been conducted on focused practices performed in university settings. In order to generate impact on both the scientific and practical software engineering community, new approaches are needed for performing empirically validated agile software development studies. To meet these needs, this paper presents a controlled case study approach, which has been applied in a study of extreme programming methodology performed in close-to-industry settings. The approach considers the generation of both quantitative and qualitative data. Quantitative data is grounded on three data points (time, size, and defect) and qualitative data on developers' research diaries and post-mortem sessions. - Känsälä,, K.,
Good-Enough Software Process in Nokia,
5th International Conference on Product Focused Software Process Improvement (PROFES 2004), 5-8 April 2004, Japan, LNCS 3009, Springer
(PDF format)
Abstract
Small software development teams are much more productive than large teams. That's been shown time after time. So how does in Nokia - with more than half of our R and D work devoted to software development - face this dilemma? The answer relies on applying the most appropriate software process to a particular business context: the good-enough software process. - Kähkönen, T., Abrahamsson, P.,
Achieving CMMI Level 2 with Enhanced Extreme Programming Approach,
5th International Conference on Product Focused Software Process Improvement (PROFES 2004), 5-8 April 2004, Japan, LNCS 3009, Springer
(PDF format)
Abstract
The relationship between agile methods and Software Engineering Institutes CMM approach is often debated. Some authors argue that the approaches are compatible, while others have criticized the application of agile methods from the CMM perspective. Only few CMM based assessments have been performed on projects using agile approaches. This paper explores an empirical case where a project using Extreme Programming (XP) based approach was assessed using the CMMI framework. The results provide empirical evidence pointing out that it is possible to achieve maturity level 2 with approach based on XP. Yet, the results confirm that XP, as it is defined, is not sufficient. This study demonstrates that it is possible to use the CMMI for assessing and improving agile processes. However, the analysis reveals that assessing an agile organization requires more interpretations than normally would be the case. It is further concluded that the CMMI model does not always support interpretations in an agile context. - Sillitti A., Janes A., Succi G., Vernazza T.,
Monitoring the Development Process with Eclipse,
International Conference on Information Technology: Coding and Computing (ITCC 2004), Las Vegas, NV, USA, 5 - 7 April 2004.
(PDF format)
Abstract
Software measures are important to evaluate software properties like complexity, reusability, maintainability, effort required, etc. Collecting such data is difficult because of the lack of tools that perform acquisition automatically. It is not possible to implement a manual data collection because it is error prone and very time expensive. Moreover,developers often work in teams and sometimes in different places using laptops. These conditions require tools that collect data automatically, can work offline and merge data from different developers working in the same project. This paper presents PROM (PRO Metrics), a distributed Java based tool designed to collect automatically software measures. This tool uses a distributed architecture based on plug-ins, integrated in most popular development tools,and the SOAP communication protocol.

