Skip to main content
main-content

Über dieses Buch

The field of software engineering is characterized by speed and turbulence in many regards. While new ideas are proposed almost on a yearly basis, very few of them live for a decade or a longer. Lightweight software development methods were a new idea in the latter part of the 1990s. Now, ten years later, they are better known as agile software development methods, and an active community driven by practitioners has formed around the new way of thinking. Agile software development is currently being embraced by the research community as well. As a sign of increased research activity, most research-oriented conferences have an agile software development track included in the conference program. The XP conference series established in 2000 was the first conference dedicated to agile processes in software engineering. The idea of the conference is to offer a unique setting for advancing the state of the art in research and practice of agile processes. This year’s conference was the tenth consecutive edition of this international event. Due to the diverse nature of different activities during the conference, XP is claimed to be more of an experience rather then a regular conference. It offers several different ways to interact and strives to create a truly collaborative environment where new ideas and exciting findings can be presented and shared. This is clearly visible from this year’s program as well.

Inhaltsverzeichnis

Frontmatter

Keynote Papers

What They Dont Teach You about Software at School: Be Smart!

One of the most popular buzzwords in software development is agile. Today everyone wants to be agile. That is good! However, being agile is not enough.You also need to be smart. What does that mean? Smart is about being agile, but it is also about doing the right things, the right way. You can become smarter through training. However, without experience your alternatives are too many and only a few of them are smart. Experience is of course something you can get sooner or later, but it takes time if you must learn by your own mistakes. This is where the utilization of “smart-cases” becomes essential. In this talk, we will describe a large number of smart-cases when developing software. It is about working with people, teams, projects, requirement, architecture, modeling, documentation, testing, process, and more.

Ivar Jacobson

Keynote: Beyond Budgeting in a Lean and Agile World

We suggest that we need a fundamentally different philosophy and a concept for how organisations are led and managed. We believe that it is time to challenge the traditional management myths. The main goal of Beyond Budgeting is not get rid of budgets. The budget must go, but it is more the budgeting mindset we need to get rid of, because it represents the old thinking that needs to be changed. Based on the works of The Beyond Budgeting Round Table, we review a set of 12 principles for a new style of contemporary leadership and management.

Bjarte Bogsnes

Research Papers

Testing in Agile Software Development

Developing a Test Automation Framework for Agile Development and Testing

As software developers today, we all face problems of repetitive and error-prone processes, a lack of a clear way of communication between stakeholders, and risks of late defect discovery or release delays. In order to help solve such problems, we implemented an effective framework for automated testing, which combines the automation features of STAF/STAX and the ease-of-use based on tabular input and output of FitNesse. This framework can support Continuous Integration as an automated testing framework to improve software development processes. The greatest advantage of the framework is the agility that allows for rapid delivery of high-quality software. In this paper, we describe the practices and benefits of using the proposed framework.

Eunha Kim, Jongchae Na, Seokmoon Ryoo

Long-Term Effects of Test-Driven Development A Case Study

Test-Driven Development (TDD) is one of the most widely debated agile practices. There are a number of claims about its effect on the software quality and team productivity. The current studies present contradicting results and very little research has been performed with industrial projects, which have used TDD over an extensive period of time. This paper is reporting the long-term effects on a three year-long application of TDD in a Nokia Siemens Networks team. We present qualitative findings based on interviews with the team members. We conclude that TDD has been found to improve the team confidence in the code quality and simplify significantly the software maintenance. The examined team did not notice any significant negative effects over the long-term TDD application and is eager to continue improving the practice application. The authors suggest that results bear direct relevance to the industry and academia. Further research avenues are indicated.

Artem Marchenko, Pekka Abrahamsson, Tuomas Ihme

Communicating Domain Knowledge in Executable Acceptance Test Driven Development

We present results of a case study looking at how domain knowledge is communicated to developers using executable acceptance test driven development at a large software development company. We collected and analyzed qualitative data on a large software development team’s testing practices and their use of a custom-built executable acceptance testing tool. Our findings suggest that executable acceptance tests (1) helps communicate domain knowledge required to write software and (2) can help software developers to communicate the status of the software implementation better. In addition to presenting these findings, we discuss several human aspects involved in facilitating executable acceptance test driven development.

Shelly Park, Frank Maurer

An Empirical Study on the TDD Conformance of Novice and Expert Pair Programmers

We conducted a quasi-experiment comparing the confor- mance to the test-driven development (TDD) process of one expert and two novice groups of programmers working in pairs. Besides an insignificant tendency of the expert group toward a higher TDD conformance and instruction coverage, we found that the expert group had refactored their code to a larger extent than the two novice groups. More surprisingly though, the pairs in the expert group were significantly slower than the pairs in one of the novice groups.

Andreas Höfer, Marc Philipp

Teams and Organizations

An Exploratory Study of Developers’ Toolbox in an Agile Team

Although Agile teams supposedly value individuals and interactions over processes and tools, tools still represent an important support for developers’ work. Existing studies investigate only partially tool usage in non-Agile teams. Moreover, it is not clear to which extent their findings are valid also for Agile teams. This study takes the first steps towards understanding tool usage in Agile teams by investigating the types and variety of tools used and the actual purpose for which they are employed. As expected, we found that communication accounts for an increased amount of time, but, surprisingly, a large share of it is represented by instant messaging or email rather than face-to-face communication. Other findings show that developers’ toolbox contains only a very small number of tools and a relevant amount of time is spent on browsing the Internet and navigating through the file system.

Irina Diana Coman, Giancarlo Succi

Balancing Individual and Collaborative Work in Agile Teams

In the agile approach, the self-organizing team itself decides how work is coordinated. For individuals in a team to be motivated and satisfied with their job they need to have control over their work and over the scheduling and implementation of their own tasks. However, individual and team level autonomy may conflict, and reduce the effectiveness of the team. Therefore, there is a need to investigate how to achieve empowerment at the individual and team levels simultaneously. An Australian software developer, Atlassian, has developed an interesting way of solving these problems with FedEx Day. Once every three months, developers get a day to work on whatever they like! Like an express courier, a developer must deliver something in a day. Developers then present their work to the rest of the company. Some of this work then ends up getting incorporated into the products.

Hamish T. Barney, Nils B. Moe, Tore Dybå, Aybüke Aurum, Martha Winata

Organizational Enablers for Agile Adoption: Learning from GameDevCo

Adopting agile methods requires an understanding of both the mechanics and the dynamics of value creation in software organizations. From a mechanics perspective, successful agile adoption is about ensuring that project stakeholders are aligned toward a common project objective, employees have the ability to make decisions at the right level of abstraction, that there is effective project management, and an environment exists that supports individual and group learning. The dynamics of value creation require an understanding of organizational-level stakeholders and their value propositions, the development of an organizational learning system, and last but not least, an effective governance strategy. This paper uses the lessons learned a case study of GameDevCo to illustrate these organizational enablers for agile adoption.

Jayakanth Srinivasan, Kristina Lundqvist

Migrating Defect Management from Waterfall to Agile Software Development in a Large-Scale Multi-site Organization: A Case Study

Defect management practices are considered an important part of traditional software development. While embracing agile methods, software development organizations have realized that defects still do exist and they must be managed. Therefore defect management practices should be migrated as well, but current instructions for such a change are fragmented or incomplete. We studied three software development organizations to find out what are the main problems to consider in defect management when migrating from waterfall to agile. We identified five issues related to process, tools and metrics in a multi-site organization. This paper proposes action items to deal with these issues during the agile migration planning activities.

Kirsi Korhonen

Empirical Studies and Education

Perceptive Agile Measurement: New Instruments for Quantitative Studies in the Pursuit of the Social-Psychological Effect of Agile Practices

Rising interest on social-psychological effects of agile practices necessitate the development of appropriate measurement instruments for future quantitative studies. This study has constructed such instruments for eight agile practices, namely iteration planning, iterative development, continuous integration and testing, stand-up meetings, customer access, customer acceptance tests, retrospectives and co-location.

The methodological approach followed the scale construction process elaborated in psychological research. We applied both qualitative methods for item generation, and quantitative methods for the analysis of reliability and factor structure (principal factor analysis) to evaluate critical psychometric dimensions.

Results in both qualitative and quantitative analyses indicated high psychometric quality of all newly constructed scales. The resulting measurement instruments are available in questionnaire form and ready to be used in future scientific research for quantitative analyses of social-psychological effects of agile practices.

Chaehan So, Wolfgang Scholl

A Survey of Perceptions on Knowledge Management Schools in Agile and Traditional Software Development Environments

Knowledge management is important for software development, whether this is done using traditional or agile methods. In an exploratory survey on how agile and traditional companies view current practice and future importance of knowledge management approaches, we found that agile companies seem to be more satisfied with their knowledge management approaches when compared to traditional companies. Further, when comparing perceptions between small and medium sized companies, we found that medium sized companies are more satisfied with their knowledge management approaches than small companies.

Finn Olav Bjørnson, Torgeir Dingsøyr

Empowering Students and the Community through Agile Software Development Service-Learning

This paper describes an approach to service-learning in the software engineering classroom that involves a central clearinghouse and maintenance center for service-learning project requests, use of Agile methods, and collaboration with a technical communication course. The paper describes the benefits and drawbacks to service-learning in a software engineering course, rationale behind using Agile, the course layout, specifics of the collaboration, the final feedback of the community partners and students involved, and a discussion of lessons learned.

Joseph T. Chao, Jennifer K. Brown

Putting Agile Teamwork to the Test – An Preliminary Instrument for Empirically Assessing and Improving Agile Software Development

Team organizing is a major way of assisting collaboration in knowledge intensive work such as software development, and is especially favored in agile approaches. Motivated by the challenge of transforming an organization from traditional

command-and-control

management to

collaborative self-managed teams,

we present an instrument that we argue addresses key concerns and characteristics of teamwork, and presents them along five dimensions that must be addressed when improving teamwork in agile software development. The dimensions are shared leadership, team orientation, redundancy, learning and autonomy. The instrument gives a radar plot of the status of the teamwork. We present empirical examples from using this instrument with three teams and briefly outline potential uses of the instrument.

Nils Brede Moe, Torgeir Dingsøyr, Emil A. Røyrvik

Short Papers

Standards and Lessons-Learned

Agile Software Development and CMMI: What We Do Not Know about Dancing with Elephants

In this paper we discuss how the merging of Agile Methodologies and Software Quality Models in same process today is ignoring many important aspects of both approaches. The inconsideration of these points results in a rigid integration of Agile and Quality Models that limits the full potential of their synergies. Ignoring such important items however does not necessarily means that they are not being utilized in the process, it normally indicates their utilization in an ad-hoc way. To explore this topic, we collected qualitative and quantitative data from literature and two Brazilian companies which work with agile and XP.

Célio Santana, Cristine Gusmão, Liana Soares, Caryna Pinheiro, Teresa Maciel, Alexandre Vasconcelos, Ana Rouiller

Is ISO/IEC 15504 Applicable to Agile Methods?

In the last two decades several models for evaluating software process capability have been defined and became more and more popular. The application of such models, and in particular the ISO/IEC 15504, determined a general software process improvement in many domains. Nevertheless, the application of the ISO/IEC 15504 standard is still considered by many agile developers as incompatible with agile approaches. Such an attitude is mainly based on common misunderstandings on what the ISO/IEC 15504 is and on what its application involves. This paper aims at showing that this standard, if genuinely applied, can be effectively used also in agile contexts.

Giuseppe Lami, Fabio Falcini

Lesson Learnt from an Agile Implementation Project

This paper focuses on the communication concerns that unfolded in a company as it endeavored to move from its existing waterfall model to an agile environment. A task team was established to adopt an agile practice and to trial it on a customer specific project. The team was given the freedom to be innovative and adopt whatever agile practices they wished. Early enthusiasm was evident however management had concerns about viability of this new approach. Management did not see the project plans and corresponding documentation trail of the waterfall model, and from their perspective it lacked structure. Trust between management and engineers weakened primarily due to a lack of communication and a reduction in the ability to work together, resulting in the waterfall model being reinstated.

Paul Murphy, Brian Donnellan

A Study of Risk Management in DSDM

A principle objective of agile methods is to reduce well-known risks associated with common systems development project failures. While there is extensive academic literature on risk management and its growing importance, literature in relation to risk management in an agile context is still in infancy. The purpose of this research paper is to highlight the extent to which risk management practices are incorporated into a specific agile method known as DSDM. The methodology deployed for this research involved a case study of a change management consultancy firm dedicated to the use of the Dynamic Systems Development Method (DSDM).

Sharon Coyle, Kieran Conboy

A Storytest-Driven Approach to the Migration of Legacy Systems

In this paper, we propose an agile approach, for the migration of legacy software which combines a user story-based iterative process with automated acceptance testing. The proposed approach, named Storytest-Driven Migration (STDM), requires that acceptance tests are written both on the legacy and target versions of a software system. Because of their relevance, the quality of automated acceptance tests is assured through software inspections. As a proof of concept, we conducted a first migration project of a web application towards both a web application framework and a mobile platform.

Fabio Abbattista, Alessandro Bianchi, Filippo Lanubile

XP Practices: A Successful Tool for Increasing and Transferring Practical Knowledge in Short-Life Software Development Projects

The Gemplus and Axalto’s horizontal merge in 2006, brought several challenges, resulting in a period of general instability in the newly created company. As a result, the Gemplus Personalization Team for Latin America put in place five of the twelve Extreme Programming Practices as a tool for incrementing and transferring knowledge between the two companies and among the existing/new members of the team.

In addition to a successful knowledge transfer, results from this newly adopted approach, showed several benefits: collective code ownership, development autonomy, cleaner/more readable code, and an increment in development productivity, proving that in addition to being useful for practical knowledge transfer, XP Practices are a successful ’tool kit’ to improve the software development process performance in short-life projects.

Gabriel Tellez-Morales

Customer Communication and User Involvement

Distributed Agile Development: A Case Study of Customer Communication Challenges

The highly collaborative nature of software development emphasizes the importance of efficient communication. Agile methodologies further accentuate its importance. The importance of communication is further exacerbated in distributed environments due to temporal, geographical and cultural distances. Despite this, little is known about communication in distributed agile development. This results from the case study described in this paper suggest that the efficiency of customer communication is dependent on the nature of the actual customer relationship and the organizational policies. Weak customer relationship and deliberate information hiding may result in inefficient communication and reduced efficiency of the communication media. Thus, in order to enable meaningful communication, establishing an efficient customer relationship can be considered paramount.

Mikko Korkala, Minna Pikkarainen, Kieran Conboy

Customer and User Involvement in Agile Software Development

Studies of user involvement in agile development are very scarce. We provide a case study of how user involvement took place in a large agile project, which utilized the agile method eXtreme Programming. Planning games, user stories and story cards, working software and acceptance tests structured the user involvement. We found genuine customer and user involvement in the form of direct and indirect participation in the project. The involved customer representatives played informative, consultative and participative roles in the project. This lead to their functional empowerment i.e. the users were enabled to carry out their work to their own satisfaction and in an effective, efficient and economical manner.

Karlheinz Kautz

Integration of Extreme Programming and User-Centered Design: Lessons Learned

One of the most important factors for the success of a software application is user acceptance by having a usable user interface. Since summer 2007 in our project regarding mobile phone application, we have combined Extreme Programming and User-Centered Design methodologies aiming to deliver usable and useful software. The HCI instruments we have integrated are: user studies, personas, usability expert evaluations, usability tests, automated usability evaluations in the form of extended unit tests, as well as lightweight prototypes. After one and half years we conducted a retrospective full-day workshop with our off-site usability engineer to reflect on the adopted process regarding the HCI instruments. This paper presents those reflections - the lessons that we learned.

Zahid Hussain, Harald Milchrahm, Sara Shahzad, Wolfgang Slany, Manfred Tscheligi, Peter Wolkerstorfer

Optimizing Agile Processes by Early Identification of Hidden Requirements

In recent years, Agile methodologies have increased their relevance in software development, through the application of different testing techniques like unit or acceptance testing. Tests play in agile methodologies a similar role that in waterfall process models: check conformance. Nevertheless the scenario is not the same The contribution of this paper is to explain how the process can be modified to do early identification of hidden requirements (HR) using testing techniques in agile methodologies, specifically using failed tests. The result is an optimized agile process where it may be possible to reach the desired level of functionality in less iterations, but with a similar level of quality. Furthermore it might be necessary to re-think process elements role, e.g. tests, in the Agile context not assuming waterfall definition and scope.

Agustín Yagüe, Pilar Rodríguez, Juan Garbajosa

Negotiating Contracts for Agile Projects: A Practical Perspective

The Agile Manifesto values “customer collaboration over contract negotiation”. However, in many real projects, Agile practitioners spend considerable time and effort negotiating contracts with customers. We have conducted grounded theory research in India with Agile practitioners. In this paper we present the strategies these practitioners use to overcome the problems of negotiating contracts. These strategies include changing the customers’ mindset, providing different options of working, and — in the worst case scenario — keeping the customers unaware of internal Agile practices.

Rashina Hoda, James Noble, Stuart Marshall

Workshops and Tutorials

The Lego Lean Game

After revolutionizing the automobile industry, Lean principles have been applied to different knowledge areas, such as software development. However, many people haven’t been introduced to the concepts that made Lean successful. In this interactive session, the participants will work in a small Lego

TM

production line, experiencing the problems and applying Lean practices to overcome them. The workshop will also discuss the similarities and differences between the production line scenario and the software development industry.

Danilo Sato, Francisco Trindade

Agile Process Smells and Root Cause Analysis

A ”smell” is an observable symptom of some underlying problem that can be perceived either by direct observation of the work flow or team dynamics or by examining trends in project metrics. In this workshop, we will explore common smells in agile processes, some suggested by the facilitator and some contributed by participants. We will use various root cause analysis tools and techniques to try and discover the underlying causes of the smells so that we can identify the appropriate corrective action in each case.

Dave Nicolette

Agile in Large-Scale Development Workshop: Coaching, Transitioning and Practicing

Agile in large-scale and complex development presents its own set of problems, both how to practice, transition and coaching. This workshop aims at bringing persons interested in this topic together to share tools, techniques and insights. The workshop will follow the increasingly popular “lightning talk + open space” format.

Thomas Nilsson, Andreas Larsson

What Does an Agile Coach Do?

The surge in Agile adoption has created a demand for project managers rather than direct their teams. A sign of this trend is the ever-increasing number of people getting certified as scrum masters and agile leaders. Training courses that introduce agile practices are easy to find. But making the transition to coach is not as simple as understanding what agile practices are. Your challenge as an Agile Coach is to support your team in learning how to wield their new Agile tools in creating great software.

Rachel Davies, James Pullicino

Workshop - Mechanics of Good - Creating Well Functioning Distributed Teams

What do those who succeed in having well functioning teams do differently from those who don’t? After running workshops on different international conferences based on this subject it is clear that getting distributed projects right is still a challenge. Driven by the off-shoring trend, we see lot of great opportunities for improvement on team collaboration. The necessary compromises may have a significant influence of the outcome. The purpose of the workshop is to further explore what challenges exists and share experiences on what works and what doesn’t; and why that is.

Lars Arne Skår, Jan-Erik Sandberg

Test-Driven User Interfaces

User interfaces have a reputation for being difficult to develop using TDD – and even to test in an isolated fashion. A number of techniques have demonstrated promise, but as new technologies arise, they often need to be reinvented or at least refurbished in order to remain useful. There is a strong need for common, cross-platform practices for isolated GUI testing and Test-Driven Development of GUIs.This workshop invites individuals with useful points of view, techniques and tools to present and discuss their ideas with other researchers and workers in the same field. Each participant is expected to prepare a brief presentation and to participate in active discussion of their own work and that of others.

Charlie Poole

The New New NEW! Product Development Game

In this experiential workshop, we will explore the agile product development space (managing, planning, prioritizing, learning and scheduling) through simulating the different approaches, reflecting on our experiences, and summarizing what this means for our daily work.

Marc Evers, Willem van den Ende

Positioning Agility

Agile methods are increasingly adopted by European companies. Academics too are conducting numerous studies on different tenets of agile methods. Companies often feel proud in marketing themselves as ‘agile’. However, the true notion of ‘being agile’ seems to have been overlooked due to lack of positioning of oneself for agility. This raises a call for more research and interactions between academia and the industry. The proposed workshop refers to this call. It will be highly relevant to participants, interested in positioning their company’s agility from organizational, group or project perspectives. The positioning of agility will help companies to better align their agile practices with stakeholder values. Results of the workshop will be shared across participants and they will also have opportunity to continue their work on agile positioning in their companies. At broader level, the work done in this workshop will contribute towards developing Agile Positioning System.

Nilay Oza, Pekka Abrahamsson, Kieran Conboy

Scrum Board Game

The Scrum Board Game is a workshop for beginners. It is for people with any role (customer, developer, tester, etc.), who don’t exactly know what a Scrum Board is, or how to create one themselves. The workshop teaches the benefits of a Scrum Board, how to use it, and how to introduce it in projects.

Stefan van den Oord, Wim van de Goor

XP2009 Workshop: Climbing the Dreyfus Ladder of Agile Practices

Adopting agile isn’t as simple as ticking practices off a known list and moving onto the next one. It takes some effort to simply start applying a practice, and even more effort to attain a certain level of mastery. Distinguishing between apprentice-like behaviours and master-like behaviours is an important element of pushing the boundaries of a practice even more. This workshop uses the Dreyfus Model of Skill Acquisition to map behaviours we see in agile practices to the model and learn how to use this model to as a tool to help people progress to further levels of mastery within a particular practice.

Patrick Kua

Software “Best” Practices: Agile Deconstructed

This workshop will explore the intersection of agility and software development in a world of legacy code-bases and large teams. Organizations with hundreds of developers and code-bases exceeding a million or tens of millions of lines of code are seeking new ways to expedite development while retaining and attracting staff who desire to apply “agile” methods. This is a situation where specific agile practices may be embraced outside of their usual zone of applicability. Here is where practitioners must understand both what “best practices” already exist in the organization – and how they might be improved or modified by applying “agile” approaches.

Steven Fraser

XP Workshop on Agile Product Line Engineering

Software Product Line Engineering (SPLE) promises to lower the costs of developing individual applications as they heavily reuse existing artifacts. Besides decreasing costs, software reuse achieves faster development and higher quality. Traditionally, SPLE favors big design upfront and employs traditional, heavy weight processes. On the other hand, agile methods have been proposed to rapidly develop high quality software by focusing on producing working code while reducing upfront analysis and design. Combining both paradigms, although is challenging, can yield significant improvements.

Yaser Ghanam, Kendra Cooper, Pekka Abrahamsson, Frank Maurer

Test Driven Development: Performing Art

The art of Test Driven Development (TDD) is a skill that needs to be learnt, and which needs time and practice to master. In this workshop a select number of conference participants with considerable skill and experience are invited to perform code katas [1]. The aim is for them to demonstrate excellence and the use of Test Driven Development, and result in some high quality code. This would be for the benefit of the many programmers attending the conference, who could come along and witness high quality code being written using TDD, and get a chance to ask questions and provide feedback.

Emily Bache

Business Value Game

Agile teams want to deliver maximum business value. That’s easy if the on-site Ccstomer assigns business value to each story. But how does the customer do that? How can you estimate business value? This workshop is run as a game, where teams have to make tough business decisions for their ”organizations”. Teams have to decide which orders to take and what to deliver first in order to earn more. The session gives the participants basic business value estimation techniques, but the main point is to make people live through the business situation and to help them feel the consequences of various choices.

Artem Marchenko, Vasco Duarte

Where Agile Research Meets Industry Needs: Starting from a 10-Year Retrospective

Research is often maligned for lacking relevance to industry. Does agile research meet industry needs? The workshop sets out to understand where they meet and identify the gaps between them. Starting from a close look at what have been investigated by agile researchers and what industry needs have been expressed by the time of the 10th edition of XP conference, we hope to draw a road map of high industry relevance for future research to exploit.

Xiaofeng Wang, Kieran Conboy, Minna Pikkarainen, Michael Lane

Continuous Integration – How Do You Know That Your Application Still Works?

I will demonstrate how to develop a web application and have some degree of confidence that it still works after a developer has checked in new code or made changes to the existing code base. We will use Java as development language, Mercurial as version control system, Maven as build system, Hudson as Continuous Integration server, JBoss as application server, JUnit as primary test framework and Selenium to drive all GUI tests.

Thomas Sundberg

Executable Requirements in Practice

Executable requirements neatly combine two important XP practices:

user stories

and

acceptance testing

. They enhance communication, ease following the number of

running tested features

during an iteration, and work as regression tests in future iterations. This workshop does not only give an introduction to this important process, but also shows how it is used in developing a real system in front of the audience. Some of the participants can even join the fun and get real hands-on experience.

Pekka Klärck, Juha Rantanen, Janne Härkönen

Product Owners Jamboree

Determining the features that should and those that should not be in your next product release is riddled with ambiguity, uncertainty and value conflict. Prioritising the product backlog according to business value is not easy when everyone has a different understanding of the meaning of value and everyone estimates the business value of a particular feature differently.

Patrick Steyaert, Tom Tourwé

Explaining the Obvious – How Do You Teach Agile?

Agile is now a hot topic and many organizations decide on adopting “agile” without really knowing how and why. This workshop will explore how fresh and seasoned agile coaches teach traditional and novel agile concepts, by example, with discussions. All participants are invited to show and tell about agile with an audience of peers. It might be the fresh first time with an audience, or golden hits that served you well for years.

Erik Lundh

Architecture-Centric Methods and Agile Approaches

Agile software development approaches have had significant impact on industrial software development practices. Despite becoming widely popular, there is an increasing perplexity about the role and importance of a system’s software architecture in agile approaches [1, 2]. Advocates of the vital role of architecture in achieving quality goals of large-scale-software-intensive-systems are skeptics of the scalability of any development approach that does not pay sufficient attention to architectural issues. However, the proponents of agile approaches usually perceive the upfront design and evaluation of architecture as being of less value to the customers of a system. According to them, for example, re-factoring can help fix most of the problems. Many experiences show that large-scale re-factoring often results in significant defects, which are very costly to address later in the development cycle. It is considered that re-factoring is worthwhile as long as the high-level design is good enough to limit the need for large-scale re-factoring [1, 3, 4].

Muhammad Ali Babar, Pekka Abrahamsson

3rd International Workshop on Designing Empirical Studies: Assessing the Effectiveness of Agile Methods (IWDES 2009)

Assessing the effectiveness of a development methodology is difficult and requires an extensive empirical investigation. Moreover, the design of such investigations is complex since they involve several stakeholders and their validity can be questioned if not replicated in similar and different contexts. Agilists are aware that data collection is important and the problem of designing and execute meaningful experiments is common. This workshop aims at creating a critical mass for the development of new and extensive investigations in the Agile world.

Massimiliano Di Penta, Sandro Morasca, Alberto Sillitti

Telling Your Stories: Why Stories Are Important for Your Team

We all tell stories. The stories we share are shared to some purpose; e.g. to communicate ideals, to share knowledge, to warn, to entertain, to educate or show status. The story we tell changes depending on the context – when we tell it and who we are telling it to – and how we choose to tell it is also revealing of our values and underlying beliefs. This workshop is designed to explore the way we tell our stories, and practice telling and retelling stories through a series of collaborative story-games. Attendees will help to explore the possibilities for designing a set of storycards to help teams construct and tell stories around software projects.

Johanna Hunt, Diana Larsen

Elements of an Art - Agile Coaching

This tutorial gives you a lead on becoming or redefining yourself as an Agile Coach. Introduction to elements and dimensions of state-of-the-art Agile Coaching. How to position the agile coach to be effective in a larger setting. Making the agile transition – from a single team to thousands of people. How to support multiple teams as a coach. How to build a coaches network in your company. Challenges when the agile coach is a consultant and the organization is large.

Erik Lundh

Posters

A Survey on Industrial Software Engineering

In this paper, we present on-going work on data collected by a questionnaire surveying process practices, preferences, and methods in industrial software engineering.

Adnan Causevic, Iva Krasteva, Rikard Land, Abdulkadir S. M. Sajeev, Daniel Sundmark

Modeling Spontaneous Pair Programming When New Developers Join a Team

We present a study on how Pair Programming (PP) facilitates the introduction of new developers (novices) in a team. We analyzed the behavior of an industrial team of developers for 10 months focusing on spontaneous PP. During such time novices joined the team. Data has been collected non-invasively on how people paired during such time. Plots and sociograms are used to analyse such data and infer possible conclusions. It appears that initially PP is used to initiate the novices, then it is drastically reduced to be resumed eventually when the novices “feel” they have reached a significant level of maturity in the team.

Ilenia Fronza, Giancarlo Succi

Summary Reporting for a Linked Interaction Design-Scrum Approach: How Much Modeling Is Useful?

Identifying the minimum beneficial modeling to support an agile development team is crucial. Often, story cards arranged on wall charts or spontaneously drawn diagrams provide sufficient detail to allow a team to understand an emerging problem. However, what is beneficial when a new stakeholder joins a team after development has commenced and needs to have project background and progress reported? This poster reports on the models produced by a process combining aspects of Interaction Design (ID) and Scrum for internet development in such a scenario.

Frank Keenan, Namgyal Damdul, Sandra Kelly, David Connolly

Software Product Line Engineering Approach for Enhancing Agile Methodologies

One of the main principles of Agile methodologies consists in the early and continuous delivery of valuable software by short time-framed iterations. After each iteration, a working product is delivered according to the requirements defined at the beginning of the iteration. Testing tools facilitate the task of checking if the system provides the expected behavior according to the specified requirements. However, since testing tools need to be adapted in order to test new working products in each iteration, a significant effort has to be invested. This work presents a Software Product Line Engineering (SPLE) approach that allows flexibility in the adaption of testing tools with the working products in an iterative way. A case study is also presented using PLUM (Product Line Unified Modeller) as the tool suite for SPL implementation and management.

Jabier Martinez, Jessica Diaz, Jennifer Perez, Juan Garbajosa

FLEXI Project Management Survey

FLEXI Project Management Survey (FLEXI PMS) has been established to gain detailed knowledge on how the software industry – in particular successful companies – manages agile software development. FLEXI PMS investigates the actual agile values, principles, practices and contexts. The survey is supported by a careful literature review and analysis of existing studies. Special attention is attached to large, multi-site, multi-company and distributed projects – the target area of FLEXI project. The survey is intended to provide solid data for further knowledge acquisition and project/company positioning with regard to feasible agile management practices.

Anna Rohunen, Lech Krzanik, Pasi Kuvaja, Jouni Similä, Pilar Rodriguez, Jarkko Hyysalo, Tommi Linna

Demonstrations

Documentation by Example

Writing documentation can be fun and rewarding, but keeping up with an ever-changing system can take a toll on that joy. The documentation tends to get either expensive (duplication-intense), outdated or non-existing. This demonstration will present an open source tool that addresses these shortcomings by extending the BDD[1] approach to provide rich and human readable documents automatically from a JUnit[2] test suite. You’ll learn how to include snippets, run-time data and more in your documents, all this with minimal effort and intrusion. This approach is suitable both for APIs and GUIs, as will be shown.

Daniel Brolund

Alaska Simulator – A Journey to Planning

The Alaska Simulator is an interactive software tool developed at the University of Innsbruck which allows people to test, analyze and improve their own planning behavior. In addition, the Alaska Simulator can be used for studying research questions in the context of software project management and other related fields. Thereby, the Alaska Simulator uses a journey as a metaphor for planning a software project. In the context of software project management the simulator can be used to compare traditional rather plan-driven project management methods with more agile approaches. Instead of pre-planning everything in advance agile approaches spread planning activities throughout the project and provide mechanisms for effectively dealing with uncertainty. The biggest challenge thereby is to find the right balance between pre-planning activities and keeping options open. The Alaska Simulator allows to explore how much planning is needed under different circumstances.

Barbara Weber, Jakob Pinggera, Stefan Zugal, Werner Wild

Using Metric Visualization and Sharing Tool to Drive Agile-Related Practices

This paper presents a metric visualization and sharing tool that supports management and control of Agile-related practices, such as test-driven development, continuous integration, user stories, and pair programming. The tool is part of a larger framework but can be used as a stand-alone system. It integrates data coming from different sources: automatic non-invasive data collection plug-ins, bug and task tracking repositories, code parsers, manual user input, etc. The tool also provides customizable indicators that enable non-experts in the domain to get the general status of the observed process or product at-a-glance. The dashboard-based implementation of the tool is tailored to support multiple user roles, including developers, managers, and even clients.

Tadas Remencius, Alberto Sillitti, Giancarlo Succi

ActiveStory Enhanced: Low-Fidelity Prototyping and Wizard of Oz Usability Testing Tool

This paper presents “ActiveStory Enhanced” as a tool that enables prototyping user interfaces and conducting usability tests in a way that is aligned with agile principles. The tool allows designers to sketch user interface prototypes as well as add basic interactions to provide navigation. Sketching can be done using a mouse or stylus on tablet PCs. Designers can then export the prototype to a web-based Wizard of Oz testing tool, allowing test participants to remotely walk through a UI while recording metrics such as mouse movements and time spent on pages. ASE improves on the original by providing some usability improvements, improved browser support, undo support, more control over the design and an improved pen and paper metaphor.

Ali Hosseini-Khayat, Yaser Ghanam, Shelly Park, Frank Maurer

FitClipse: A Tool for Executable Acceptance Test Driven Development

FitClipse is an Eclipse plug-in for facilitating Executable Acceptance Test Driven Development. The tool allows the users to edit acceptance tests, automatically generate fixtures, execute tests and represent the test results graphically including an option to view the test results history. The tool helps with regression testing because it can distinguish between requirements tasks that were never tackled before and tasks that were already completed but are now failing again. FitClipse currently supports GreenPepper and Fit framework.

Shahedul Huq Khandkar, Shelly Park, Yaser Ghanam, Frank Maurer

Using Digital Tabletops to Support Distributed Agile Planning Meetings

Digital tabletop is an emerging technology that is being increasingly used to support group activities. Agile Planner for Digital Tabletops (APDT) is a tool that was built to support agile planning meetings. It provides interactions similar to those used in traditional pen-and-paper meetings. Previous versions of APDT were only capable of handling collocated planning meetings. In this paper, we succinctly describe the new extension of APDT that provides support for distributed planning meetings. A series of evaluations for the new version of APDT has been conducted, and the feedback tends to be positive.

Xin Wang, Yaser Ghanam, Shelly Park, Frank Maurer

Additional Material: Panels

The Future of Lean in an Agile World

Lean was first popularly exposed to the Agile Software development community with the publication of Mary and Tom Poppendieck’s book “Lean Software Development: An Agile Toolkit” in 2003. While there has been much interest in Lean software practices, they have not attracted quite the same degree of popularity in the literature as other “Agile” practices. Why is this so? Is Lean harder to adapt and adopt – does Lean require a greater critical mass (team and system scope and scale) to make value tangible? What are the challenges that Lean is best suited to address? What are the areas for ongoing research and how should we proceed? – These are some of the questions that will be discussed and debated by this panel of leading practitioners and academics.

Steven Fraser, Pekka Abrahamsson, Rachel Davies, Joshua Kerievsky, Mary Poppendieck, Giancarlo Succi

What Skills Do We Really Need in Agile Software Development? – Discussion of Industrial Impacts and Challenges

Agile methods are largely used in software intensive companies in all over the world [1-3]. It seems that the use of agile methods have a high impact on the skills that are needed in software development [4]. For instance, in agile context, developers need to have capabilities to communicate all the information and continuously work as a part of the social teams (communication and agile [5]).

Minna Pikkarainen, Kieran Conboy, Daniel Karlstöm, Jari Still, Joshua Kerievsky

Perspectives on Agile Coaching

There are many perspectives to agile coaching including: growing coaching expertise, selecting the appropriate coach for your context; and eva luating value. A coach is often an itinerant who may observe, mentor, negotiate, influence, lead, and/or architect everything from team organization to system architecture. With roots in diverse fields ranging from technology to sociology coaches have differing motivations and experience bases. This panel will bring together coaches to debate and discuss various perspectives on agile coaching. Some of the questions to be addressed will include: What are the skills required for effective coaching? What should be the expectations for teams or individu als being coached? Should coaches be: a corporate resource (internal team of consultants working with multiple internal teams); an integral part of a specific team; or external contractors? How should coaches exercise influence and au thority? How should management assess the value of a coaching engagement? Do you have what it takes to be a coach? – This panel will bring together sea soned agile coaches to offer their experience and advice on how to be the best you can be!

Steven Fraser, Erik Lundh, Rachel Davies, Jutta Eckstein, Diana Larsen, Kati Vilkki

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise