Practice to adapt MBSE as agility enabler to the agile software development for mobility platforms
Daisuke Hashimoto, Yutaro Ito (Woven by Toyota, Inc.)
Keywords
MBSE;Agile Software Development;Agile Systems Engineering;Boeing MBE Diamond Process;SysML;Ontology;Software Defined Vehicle;Mobility Platform
Abstract
Background: Woven by Toyota, it develops a mobility platform encompassing in-vehicle software, software development tools, and cloud systems to aim to enable the development of integrated, software-driven experiences for Original Equipment Manufacturers (OEMs). The company was established in 2021 and dedicated to research and development (R&D) projects for the software-centric platform, also most developers come from the software industry and do not have working experience with systems engineers. Now, the company is transforming its development phase from the R&D to a production phase that requires more harmonized work to ensure quality, costs, delivery, and risks. Also, it is required to meet customers' needs appropriately. That means the time has come for systems engineering for this young company, but there are SE challenges as described below.
SE Challenges in our context: The company is young and its culture has focused on modern software engineering customs. They have adopted agile software development and Scrum framework that conducts one-month iterations and three-month releases since they conducted R&D projects. There are 2 challenges in our context. The first one is to integrate systems engineering into agile software development. The second one is organizing terminologies that are used frequently by developers but tend to be used differently by different people. Regarding the 1st challenge, there are generally gaps between agile software development and traditional systems engineering. In addition, there is a valley of death between R&D and systems engineering in terms of engineering cultural differences or misconception that SE is a heavy process, as reported in the INCOSE INSIGHT volume 26, Issue 3 [1]. Therefore, to transform the organization from the R&D to the production phase, our 1st SE challenge is integrating systems engineering and agile software development to harmonize different software engineering teams’ activities while overcoming the gaps and valley of death between SE and agile software development culture that were grown in the R&D phase. About the 2nd challenge, our company has several software development teams. They often use the words “product,” “system,” “software,” “feature,” and “function. ” However, these words are used with ambiguous terminology and relationships. Unfortunately, when they consider the integration of their different teams’ products, these ambiguous concepts cause problems and confuse software engineers. To get rid of confusing things, our 2nd SE challenge is letting all developers have the same understanding of the concepts of “product,” “system,” “software,” “feature,” and “function. ”
Why is the problem important, and what is it worth? The automotive industry is entering an era of change toward new mobility, such as software-defined vehicles (SDV). As the term SDV describes, mobility is changing from hardware to software-centric. As represented by autonomous driving (AD) and advanced driver-assistance systems (ADAS), software-centric technology advances rapidly in the automotive industry, and the demand for early adoption of R&D technologies and agile software development has been raised. On the other hand, the difficulty in ensuring quality and harmonizing R&D technologies and existing systems is increasing more and more. To overcome the difficulty, systems engineering is more in demand, but there seem to be similar challenges with us, such as: There are gaps between systems engineering and agile software development There are barriers for developers who work in R&D or agile software projects to introduce systems engineering because SE seems to be a heavy process and additional work for them. Traditional V-model tends to be refused by agile software developers in terms of development style differences and the possibility of sacrificing agility. The words “product,” “system,” “software,” “feature,” and “function ” are widely used in both systems engineering and software engineering, but there is no ontology to describe them and their relationship to each other.
Outline methods: To overcome the 1st SE challenge, we are tailoring the “Boeing MBE Diamond” process methodology consisting of the traditional V processes for the physical system and the digital engineering processes presented by the Boeing company at the INCOSE International Workshop 2020 [2]. In our tailored diamond process, the bottom half of the diamond focuses on software development processes, and the top half focuses on the virtual systems realized by SysML system models. This tailored diamond does not add extra work, i.e., systems engineering activities, to the current software development processes on the bottom-half side. Systems engineering activities are simultaneously conducted on the top-half side. This practice tries to keep the original agility and harmonization between agile software development as a whole system. The top-half side provides system models with SysML as a single source of truth, and it enables all stakeholders to get a common understanding of the whole system. To overcome the 2nd SE challenge, we developed the ontology with SysML metamodels to provide the definition and represent the relationship between “system,” “software,” “product,” “feature,” and “function.” This ontology has already enabled all developers to obtain the same understanding of these concepts and enhance the productivity for cross-functional activities. Also, this ontology has been used to develop system architecture models for our company's different products, and it succeeded in integrating different products as a single system at the design level.
Expected Results: The author expected to succeed in integrating systems engineering and agile software development without sacrificing agility and establish the following achievements: Derive the tailored diamond processes for vehicle platform development Published the ontology with SysML metamodels to organize the relationship between buzzwords that are used in the agile software development culture: “system,” “software,” “product,” “feature,” and “function.” These would be helpful for SE practitioners in the automotive industry who are trying to adopt systems engineering to their agile software development.