Boundary Objects in Agile Practices

Continuous Management of Systems Engineering Artifacts in the Automotive Domain.

We are honored to have received a best paper award at ICSSP conference for this collaborative work with Rebekka Wohlrab, Patrizio Pelliccione, Eric Knauss and Mats Larsson.

In this paper, we derive guidelines for managing requirements, models, and other systems engineering artifacts continuously. This becomes an increasingly important capability, especially as more and more complex system development organizations transition towards agile methods. This can for example be observed in the automotive domain.

When reasoning on how to manage such artifacts, we found that the most important criterion is the artifacts’ context of use: Is it locally relevant to a (cross-functional) team? Or is it a boundary object relevant to two or more teams, potentially on different abstraction levels?

Locally relevant artifacts

Since such documents are only used by the team itself, it can (and likely: should) be retired when it is no longer useful. The other way around: if the document is supposed to be kept alive, we recommend to keep it useful by using it for example to generate (parts of) the output of the team, e.g. code. Thus, our recommendation is to focus on prescriptive models and similar artifacts.

Boundary objects

These artifacts are used to coordinate between teams and represent an interface between these teams. Examples include architectural models, high-level requirements, and variability information.

Our guidelines

Our first two guidelines are targeting system management artifacts in general, to create the sufficient overview to systematically manage artifacts.

  • (G1) Involve stakeholders from different areas to identify what artifacts are boundary objects and locally relevant artifacts. Find out how and by whom they are used, who should be responsible at what point in time, and how traceability can be established.
  • (G2) Make sure that you evaluate artifacts’ relevance and usage at frequent intervals. Depending on how the system evolves throughout its lifecycle, artifacts might become more relevant or should be discarded. Boundary objects could be converted into locally relevant artifacts and vice versa.

For boundary objects, we offer the following guidelines:

  • (G3) For each boundary object within your organization, establish
    a group of representatives from affected teams to discuss issues and later propagate that information. Store information in an accessible tool.
  • (G4) Find a lightweight and flexible approach to defining high- level artifacts upfront. Exploit this information to make impact analysis and changes, to avoid suboptimal decisions. With time, the artifacts should be refined and become more mature.

Finally, we also offer guidelines for locally relevant artifacts:

  • (G5) Produce locally relevant artifacts, especially those for documentation, as late as possible and only when they are actually needed. If possible this documentation should be automatically generated from other artifacts and code.
  • (G6) Aim to make locally relevant artifacts reusable (as with pre-scriptive models) and convey their relevance and use. Establish traceability to boundary objects.

Please refer to our paper for details, including our reasoning on why we provide these guidelines.


Reference: Wohlrab, R.; Pelliccione, P.; Knauss, E. & Larsson, M.: Boundary Objects in Agile Practices: Continuous Management of Systems Engineering Artifacts in the Automotive Domain (PDF). In: Proc. of Int. Conf. on Software and System Process (ICSSP), pp. 31-40, Gothenburg, Sweden, DOI: 10.1145/3202710.3203155, 2018

Abstract: Automotive companies increasingly include proven agile methods in their plan-driven system development. The adoption of agile methods impacts not only the way individuals collaborate, but also the management of artifacts like requirements, test cases, safety documentation, and models. While practitioners aim to reduce unnecessary documentation, there is a lack of guidance for automotive companies with respect to what artifacts are needed and how to manage them. To close this knowledge gap and create practical guidelines, we conducted a design-science study together with 53 practitioners from six automotive companies. Using interviews, surveys, and focus groups, we analyzed categories of artifacts and practical challenges to create applicable guidelines to collaboratively manage artifacts in agile automotive contexts. Our findings indicate that different practices are required to manage artifacts that are shared among different teams within the company (boundary objects) and those that are relevant within a specific team (locally relevant artifacts).

Advertisements

RE for Large-Scale Agile System Development

I am very proud that our project on requirements engineering for large-scale agile system development at the software center is now going into its second year. The software center focuses on speed based on the following themes: Continous DeliveryContinuous Architecture, Metrics, and Customer Data- and Ecosystem-Driven Development. The software center has seen requirements at the end.

Yet, we were able to form a consortium of six software center companies to investigate how current challenges with managing requirements related knowledge limit the speed and potential of continuous, agile system development. The current way of managing requirements in system development might be indeed at its end. Our goal is to uncover better ways that address these challenges while still allowing to fully leverage advantages of agile teams and continuous delivery.

themes

Fig. 1: Themes from our multiple case study relating to the scope of agile development (RQ1), the role of RE in large-scale agile system development (RQ2), and the challenges of RE for large-scale agile system development (RQ3).

We have now published an initial report on these challenges based on an exploratory multiple case study with four companies in Fall 2016 (see an overview of the challenges in Fig. 1 and details in the pre-print below). In this paper, we come to the following conclusions:

  1. Challenges of RE for large-scale agile system development relate to themes-origcommunication and knowledge management. While related work implies that communication challenges are mitigated by agile approaches and less prominent in agile RE, all our challenges relate to communication and knowledge management. Both aspects are at the core of Agile and RE, indicating a need for fundamental research in these areas specifically for system development.
  2. Challenges relate to two areas of requirements knowledge: User Value and System Understanding. While pre-agile RE approaches differ between user and system requirements specifications, we are not aware of related work that makes this distinction for RE in the scope of agile development. Surprisingly, we found that companies were not very interested in agile RE practices themselves. In contrast, they found it more important to understand how RE can support agile methods in large-scale system development and how agile development can be integrated with existing processes. Our findings indicate that such support cannot be offered sufficiently by traditional, upfront RE. This suggests that continuous and agile development methods on a large scale require new concepts.
  3. Challenges relate to the interplay of stake- holders from three domains: customer, development, and integration & testing. The development domain is generally embracing agility and characterized by a dislike for traditional requirements and bulk updates. The require better synchronization between teams and wish for establishing an agile tool-chain. In contrast, the customer domain is concerned with breaking down customer-visible features in order to communicate customer-value to team. They require better support for writing meaningful user stories and for bridging the gap between plan-driven and agile development. The integration and testing domain is struggling to create and maintain traces and with the fact that user stories and tests are not sufficient to build and maintain sufficient system understanding.
  4. In order to yield their full benefits, agile practices and a holistic system requirements model must be better aligned. Key challenges occur when there is an interaction, or a lack thereof, between the three domains above.

Since the writing of this paper, two more companies have joined our project and we have more closely investigated key challenges in the context of existing system engineering processes and requirements-related artifacts. While we are still working on extending our report on challenges of RE in Large-Scale Agile System Development, we are now, in the second year of this project, turning towards exploring the solution space.

Find more details in the following paper:

Reference: Kasauli, R.; Liebel, G.; Knauss, E.; Gopakumar, S. & Kanagwa, B.: Requirements Engineering Challenges in Large-Scale Agile System Development. In: Proc. of 25th Int. Requirements Engineering Conf. (RE ’17), Lisbon, Portugal, 2017

Pre-Print of the paper: Kasauli2017a

Abstract: Motivated by their success in software development, companies implement agile methods and their practices increasingly for software-intense, large products, such as cars, telecommunication infrastructure, and embedded systems. Such systems are usually subject to safety and regulative concerns as well as different development cycles of hardware and software. Consequently, requirements engineering involves upfront and detailed analysis, which can be at odds with agile (software) development. In this paper, we present results from a multiple case study with two car manufacturers, a telecommunications company, and a technology company that are on the journey to introduce organization wide continuous integration and continuous delivery to customers. Based on 20 qualitative interviews, 5 focus groups, and 2 cross-company workshops, we discuss possible scopes of agile methods within system development, the consequences this has on the role of requirements, and the challenges that arise from the interplay of requirements engineering and agile methods in large-scale system development. These relate in particular to communicating and managing knowledge about a) customer value and b) the system under development. We conclude that better alignment of a holistic requirements model with agile development practices promises rich gains in development speed, flexibility, and overall quality of software and systems.

How does the AUTOSAR Ecosystem Impact Requirement Engineering?

AUTOSAR aims at facilitating reuse of standardized software components in automotive software development. For this, it defines three layers: the application components (with standardized interfaces between components), the (standardized) runtime environment, and the basic software (which abstracts the hardware and contains the driver modules). Despite this standardization, the combination of application components, runtime and basic software should still offer differentiating functionality for cars. In an exploratory study, we found this situation challenging for Requirements Engineering practice, where standard requirements implied by the AUTOSAR standard should be treated differently from OEM specific requirements targeted towards differentiation or innovation features.

We will discuss our preliminary findings at the 23rd IEEE International Requirements Conference 2015 in Ottawa, Canada during the poster and tool demo session as well as our method in the 5th IEEE International Workshop on Empirical Requirements Engineering.

Continue reading

Survey on daily pains with requirements

What are your daily pains with requirements? A survey on problems with Requirements Engineering in the automotive domain

We, a group of researchers from Chalmers | University of Gothenburg in Sweden, are currently studying problems that occur in automotive Requirements Engineering. This means both during the elicitation of requirements and later on when using requirements for development, validation, etc.

In this context we are looking for people working at automotive companies (OEMs, Suppliers, Consultancies) who get into contact with requirements of any form. This could be requirements engineers, who are actually eliciting requirements, but also software or verification engineers, who implement or test based on requirements.

We will use the data to validate challenges previously extracted from qualitative interview data and complement them with quantitative data. The results will be compiled into a scientific publication.

The survey should not take more than 20 minutes to answer. It would be incredibly valuable for the scientific community if you could share your experiences with us! The survey starts on 7th July 2015 and ends on 7th September 2015.

Survey Link: https://www.soscisurvey.de/challRE15

If you have any questions, feedback, or concerns, please feel free to contact:
Grischa Liebel, Matthias Tichy, or Eric Knauss
Software Engineering Division, Computer Science and Engineering
Chalmers & University of Gothenburg, Sweden

Towards Enabling Cross-Organizational Modeling in Automotive Ecosystems

This summer, I visited Canada as an international collaborator of NECSIS (Network for the Engineering of Complex Software-Intensive Systems for Automotive Systems) with the goal to identify synergies between my involvement in software center projects with Swedish industry (especially the Ecosystemability Assessment Method). We found that to a large extent partner industries of the NECSIS project recognize the same opportunities and challenges as Swedish industry, when it comes to engineering tomorrow’s complex software-centric systems.These stem in particular from the fact that development will increasingly be distributed over several organizations and that reliability and efficiency of development needs to be addressed across organizational borders. We will present preliminary results and future plans this week in the context of this work at MD2P2 Workshop at MoDELS 2014. Continue reading