<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Engineering⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ghazaleh Aghakhani</string-name>
          <email>ghazaleh.aghakhani@uclouvain.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Konstantinos Tsilionis</string-name>
          <email>konstantinos.tsilionis@kuleuven.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sara Shafiee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Agile development</institution>
          ,
          <addr-line>Knowledge-Intensive Systems, Product Configuration Systems, Model-driven Devel-</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Eindhoven University of Technology</institution>
          ,
          <addr-line>Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>LouRIM</institution>
          ,
          <addr-line>UCLouvain, Louvain-la-Neuve</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Technical University of Denmark</institution>
          ,
          <addr-line>Lyngby</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <fpage>36</fpage>
      <lpage>43</lpage>
      <abstract>
        <p>Agile development cannot be applied in the same way in each domain of software engineering. Some type of software products do indeed have more inter-dependencies between features leading to a constrained planning game. This is notably the case for Product Configuration Systems (PCS), a domain where lots of knowledge on the software product needs to be explicit beforehand to come to the development of an accurate solution. To this end, software modeling is a must have. This paper explores the intersection of Model-Driven Development (MDD) and Agile methodologies within the context of developing knowledge-intensive systems like PCS. Through a literature review of three pivotal studies, we examine the consequences of this integration across project management, teaching, and lifecycle processes. Our findings highlight both the challenges and opportunities presented by combining MDD with Agile practices, ofering insights into best practices and areas for future research.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Product Configuration Systems (PCS) refer to software tools or platforms that allow users to
customize and configure complex products or systems according to their specific requirements
[1]. These systems are often used in industries such as manufacturing, engineering, and
retail, where products may have numerous customizable features, options, and variations
[2]. Users typically interact with the PCS through an intuitive interface, where they can
select from available options, specify parameters, and visualize the configured product in
real-time. The system is then able to generate detailed specifications, sketches, or models based
on the user’s selections, which can be used for manufacturing, ordering, or further customization.</p>
      <p>Model-Driven Development (MDD) is an approach to software development that focuses on
creating and using models as primary artifacts throughout the software development lifecycle
Cyprus
CEUR
Workshop
Proceedings</p>
      <p>ceur-ws.org
ISSN1613-0073
[3]. The goal of MDD is to create abstract conceptualizations that would drive the design of a
solution of a specific software problem without actually relying on a specific platform.</p>
      <p>The integration of MDD with agile methodologies within the context of PCS development is
gaining traction due to its potential benefits for software development [7]. For example, in 2017,
a Danish firm specializing in PCS transitioned from the Rational Unified Process (RUP), known
for its comprehensive documentation and structured approach, to Scrum, marking a significant
shift towards agility. The company is a global engineer-to-order organization specializing
in chemical material production and processes. It heavily relies on user-intensive software
systems like PCS and its continual eforts to enhance management and engineering practices.
Over the past decade, the PCS development team has exclusively worked with two approaches:
RUP and Scrum. The transition from RUP to Scrum occurred in a significant manner, with
Scrum adopted as the sole method after the last RUP project was completed. The PCS team
consists of various roles, including business analysts, configuration engineers, developers,
testers, and Scrum masters. Despite the complexity of PCS development, Scrum principles and
values remain intact. The company’s transition to Scrum is considered a significant shift due to
its agile nature compared to the plan-driven RUP method previously used. The research is
particularly relevant as the company sought to understand how Scrum could be applied in PCS
development. Additionally, the company already had experience with RUP and was familiar
with the models used in Scrum-based PCS development.</p>
      <p>The company invested in various aspects of this transition, spanning from the training phase
to implementation. Despite this shift towards agile methodologies like Scrum, research indicates
that there is still potential for integrating with MDD practices. However, this integration is in its
early stages and requires further exploration. Challenges include the absence of a well-defined
process, suitable tools, and the need for overcoming a steep learning curve. Numerous studies
underscore the necessity for additional empirical evidence and industrial reports to advance the
understanding of Agile MDD integration (for example, see [4, 5, 6, 7, 8]), with the ultimate goal
of enhancing software quality and eficiency in this domain.</p>
      <p>The focus of this research is to examine the integration of MDD with Agile methodologies
in the PCS domain – a complex, knowledge-intensive field. Through analyzing three key
researches around the same case company [9, 10, 11], we explore the impact of this integration
on project management, education, and lifecycle processes, revealing both the challenges and
benefits of merging MDD with Agile practices to enhance PCS development. Thereby, the
research question driving the study is “What are the consequences of agile life cycle adoption onto
the development of knowledge intensive systems requiring an intensive use of models and model
driven development?” To such an end, we first start with discussing the evolution from RUP to
Scrum in the case company, then we discuss the key focus points of an agile process fragment
to be included in standard Scrum to use models into Scrum and combine them with user stories.
Finally we highlight the consequences of the need for a customized Scrum life cycle for PCS
development onto the teaching of Scrum for novice practitioners.</p>
    </sec>
    <sec id="sec-2">
      <title>2. From RUP to Scrum: An Evolution in Software Development</title>
    </sec>
    <sec id="sec-3">
      <title>Life Cycles</title>
      <p>Shafiee et al. [ 9] delves into the agile lifecycle adoption for PCS, contrasting RUP and Scrum
methodologies in their PCS project activities and management. It distinguishes the distinct
approaches of RUP and Scrum towards organizational strategies, stakeholder requirements,
product knowledge, configuration processes, goals, software development, testing, deployment,
maintenance, updates, and overall performance in PCS development. The study, through
empirical evidence, underscores the diferential impacts of these methodologies on addressing
PCS-specific challenges, including organizational, knowledge acquisition, product modeling, IT
technical, and resource constraints. On what follows below, diferent perspectives are given in
terms of the Agile lifecycle adoption for PCS though a comparative analysis of RUP and Scrum:
• Organizational Approach and Project Activities. RUP employs a systematic, risk-reducing,
specialization-sequential methodology with detailed initial analysis and planning,
releasing PCS in large segments. In this context, moderate stakeholder engagement was noted
in the case company. Scrum emphasizes rapid value delivery, engaging more IT and
domain experts working parallel and interchangeably. It features quick, high-level initial
planning, with detailed planning and daily micro-planning every three weeks, promoting
fast and iterative PCS parts development. This approach fosters a higher stakeholder
involvement.
• Stakeholder Requirements and Product Knowledge. RUP defines requirements through
use-case diagrams and Product Variant Master (PVM), and prioritizes them early, aiming
for versioned PCS delivery. Scrum uses user stories [12, 13, 14, 15, 16, 17] and acceptance
criteria [18], requirements. This point was particularly tricky in the context of the case
company. Indeed, user stories are artifacts particularly well suited for non-technical
employees expressing their system expectations but the need is in this context rather
for technical artifacts allowing the correct and consistent edition of knowledge. Indeed,
users and stakeholders are here by nature rather technically oriented (e.g. engineers)
leading to a tricky situation where both user stories and requirements models needed to
be combined.
• Configuration Process and Goals. RUP approaches the configuration process and goals
with detailed upfront documentation, utilizing in the context of the case company PVMs,
Class-Responsibility-Collaboration (CRC) cards, in addition to classical UML diagrams
like class diagrams for comprehensive understanding and visualization. Scrum documents
goals and the configuration process in user stories and possibly case tools like Jira, opting
for an overall analysis at project start and detailed sprint-based analyses without visual
representation. Here again a cultural mismatch did appear and had to be tackled.
• Software Working, Testing, and Deployment. Both methodologies apply similar software
development tasks but difer in organization and timelines. Scrum outperformed RUP
in testing frequency and stakeholder engagement, ofering a more responsive feedback
mechanism. Deployment in Scrum is immediate upon stakeholder approval, contrasting
RUP’s project-end or at least phased deployment strategy.</p>
      <p>All in all, Scrum has demonstrated faster development cycles, higher user satisfaction, and
less need for maintenance, attributed to its iterative releases and flexible role management.
Maintenance in Scrum, however, is challenged by minimal documentation, primarily consisting
of user stories. RUP provides thorough documentation aiding maintenance but at the cost of
slower development and resource consumption. The study reveals Scrum’s superiority in
tackling organizational, IT, and resource constraint challenges through its agile and iterative nature,
fostering better stakeholder involvement and eficient task management. Conversely, RUP excels
in knowledge acquisition, benefiting from its structured and comprehensive documentation
approach. RUP relies on detailed product and process documentation, facilitating knowledge
modeling and visualization. Scrum emphasizes user stories for knowledge documentation,
trading of detailed visual knowledge representation for agility and scope flexibility.</p>
      <p>PCS projects come with challenges such as resource constraints, product-related
complexities, technical hurdles, knowledge acquisition dificulties, product modeling challenges, and
organizational obstacles. The method used for planning, developing, and maintaining PCS
projects can influence these challenges. Agile methods like Scrum are known for addressing
shortcomings in traditional software development methods but may face diferences when
applied to PCS projects due to unique aspects like knowledge complexity, maintenance needs, and
knowledge modeling techniques. While both RUP and Scrum can be efective in developing PCS
projects, they difer significantly in their approaches. Scrum excels in handling organizational
and IT challenges but may lack in knowledge acquisition aspects compared to RUP. The study
emphasizes the importance of finding the right balance in PCS requirements representation and
design integration to leverage the advantages of Scrum while addressing documentation and
visualization needs specific to PCS projects.</p>
      <p>The findings advocate for further research in diverse organizational contexts to validate these
results and explore the integration of MDD in Agile PCS development, aiming to refine and
adapt methodologies for improved PCS project outcomes.</p>
    </sec>
    <sec id="sec-4">
      <title>3. On the Use of Models in Agile Development</title>
      <p>MDD can play a critical role in enhancing agile project success. This is achieved through better
communication, increased adaptability, and greater precision in both design and development
stages [19, 20]. However, significant challenges have also been identified related to Sprint
planning when having to combine models with value-driven development [21].</p>
      <p>Wautelet et al. [10] introduces a process fragment, derived from extensive PCS development
experience, to guide PCS development teams in adopting Scrum. The fragment, designed for
lfexibility, serves as a reference for tailoring to specific project needs rather than a prescriptive
model and it has been built out of the experience of the Danish company. In other words, the
fragment gives an additional set of tasks in order to integrate the models required for PCS
development into Scrum. The fragment underscores the importance of feedback and validation
in PCS, highlighting how to apply sprint-based development while managing dependencies and
technical constraints.</p>
      <p>Integrating models within the agile development of PCS projects necessitates a careful
balance but MDD’s focus on abstract modeling and automated code generation can complement
Agile’s iterative and incremental nature. The combination aims to leverage MDD’s strengths
in managing complex domain knowledge and automation to support Agile’s adaptability and
customer-centric focus. This synergistic approach seeks to mitigate PCS-specific challenges
through a harmonized methodology that respects the needs of PCS projects.</p>
      <p>As said, PCS projects essentially use the PVMs, CRC cards and class diagrams as primary
artifacts of the software development process [ 22]. Agile methods depict requirements on
the basis of user stories; the latter also play a crucial role in the management of the agile life
cycle. Indeed, sprints (the iterations of agile projects) have their content determined on the
basis of the user stories set and efectively consist in fulfilling software scenarios associated
with them. Traditionally, Scrum organizes its backlog using the user stories, which for PCS
development, need supplementing with detailed product structures to define the configuration
space comprehensively. For a complete understanding of product architecture, including the
sequence and significance of selections and constraints on components, user stories often
include a series of constraints. For instance, user stories specifying engine size choices are
linked with scenarios outlining valid selections and their conditions. Due to the complexity
of fully and eficiently expressing these constraints in natural language, PVM and CRC cards
provide essential documentation support. These tools are indispensable for any complex PCS
project, ensuring sprint backlogs respect all necessary constraints and dependencies. While
user stories ofer a quick reference, PVM provides formal documentation support. User stories
categorize the sprint backlog by value, but precedence constraints and dependencies necessitate
grouping them for implementation within the same sprint/release. The prioritization reflects
the product’s structure and technical constraints, requiring major components to be identified
early in the project. This precedence significantly influences the software process management
in every Scrum-based PCS project. In the Danish company under study, precedence and
dependency constraints are manually established, with no tool support for ensuring traceability
between user stories and PVM, necessitating deep domain knowledge for accurate backlog
management. The development of a CASE tool aims to automate ensuring consistency and
traceability between user stories and PVM, validating all constraints during sprint backlog
preparation [23].</p>
    </sec>
    <sec id="sec-5">
      <title>4. Challenges in Implementation and Teaching Agile Methods in</title>
    </sec>
    <sec id="sec-6">
      <title>Knowledge Intensive Domains</title>
      <p>After examining the agile transition and the development of a process fragment within the case
company, we now turn our attention to the impact that domain-specific customizations have
on mastering agile development practices. As highlighted by Shafiee et al. [ 11], the adoption of
new methodologies like Scrum in complex software system development is critically dependent
on thorough and pertinent training. The research indicates that organizations often encounter
dificulties in pinpointing the subtle yet crucial aspects required for efective Scrum training,
especially in environments characterized by high complexity and interdependent features, such
as PCS with the special focus on highly engineered manufacturing.</p>
      <p>The study further elaborates on the challenges posed by Scrum’s conventional use of user
stories for capturing requirements within the PCS context. Given PCS’s inherent complexity,
there is a pressing need for conceptual models to accurately delineate and construct the system.
This necessitates a significant shift from traditional agile methodologies towards a training
regimen that explicitly addresses these challenges for teams engaged with knowledge-intensive
systems.</p>
      <p>A notable discrepancy exists between the language and structure of user stories and the
conceptual models like the PVM that are crucial for encapsulating PCS’s business logic.
Consequently, the division and orchestration of development eforts based on user stories are
problematic due to the challenges in encapsulating business logic and navigating PCS’s intricate
dependencies within them. This scenario demands a departure from evaluating developments
merely on business value, advocating for a refined approach in teaching prioritization and task
allocation that accommodates PCS features’ interdependencies.</p>
      <p>Training initiatives should therefore underscore the synergy between conceptual models
such as PVMs and user stories, elucidating their critical role in unraveling PCS complexity
and steering sprint planning and estimation. It is imperative for novice practitioners to be
educated on leveraging conceptual models as the cornerstone for knowledge representation
in PCS development, relegating user stories to a secondary role focused on communication
and requirement elicitation. Moreover, Scrum training must encompass strategies for sprint
management and task prioritization when facing knowledge-dense systems, tackling the hurdles
posed by dense dependencies and the imperative for elaborate business logic articulation.</p>
      <p>In addition, the development of CASE tools that facilitate the crafting of PVMs and other
PCSspecific conceptual models is necessary to bridge the methodological divide between MDD and
Agile practices, ensuring a harmonious integration of user stories and conceptual frameworks.</p>
    </sec>
    <sec id="sec-7">
      <title>5. Conclusion</title>
      <p>In this study, we looked at adopting an agile development life cycle for PCS for highly engineered
manufacturing which are knowledge intensive software systems. Eventually, the strongest
issue in this lead to study how to combine the use of models and MDD with Agile methods; the
latter presents both challenges and opportunities. By focusing on a Danish company’s shift
from traditional to Agile methods, we have shown the complex yet beneficial nature of using
MDD within Agile frameworks for PCS. This journey highlighted the need for specific changes
and training to make Agile work well in complex system development. We also discussed the
importance of creating new tools to help merge MDD and Agile more smoothly; generating the
PVM and CRC automatically through CASE tools can be an eficient solution. Looking forward,
we suggest more research to improve these methods, making it easier for companies to develop
complex systems like PCS. Future work should aim at providing more evidence on the best ways
to integrate MDD with Agile, and developing tools that support these practices more eficiently.
[1] C. Forza, F. Salvador, Managing for variety in the order acquisition and fulfilment process:
The contribution of product configuration systems, International journal of production
economics 76 (2002) 87–98.
[2] C.-H. Lee, C.-H. Chen, C. Lin, F. Li, X. Zhao, Developing a quick response product
configuration system under industry 4.0 based on customer requirement modelling and
optimization method, Applied Sciences 9 (2019) 5004.
[3] D. C. Schmidt, et al., Model-driven engineering, Computer-IEEE Computer Society- 39
(2006) 25.
[4] K. Tsilionis, Y. Wautelet, A model-driven framework to support strategic agility:
Valueadded perspective, Information and Software Technology 141 (2022) 106734.
[5] K. Tsilionis, Y. Wautelet, From service-orientation to agile development by conceptually
linking business it services and user stories: A meta-model and a process fragment, in: 2021
IEEE 23rd Conference on Business Informatics (CBI), volume 2, IEEE, 2021, pp. 153–162.
[6] Y. Zhang, S. Patel, Agile model-driven development in practice, IEEE software 28 (2010)
84–91.
[7] T. T. V. Muthumanikandan, George, R. K. Harendra, et al., Enhanced model-driven web
application development with code generation using deep learning technique, Intelligent
Decision Technologies (2024) 1–16.
[8] S. Kiv, S. Heng, Y. Wautelet, S. Poelmans, M. Kolp, Using an ontology for systematic
practice adoption in agile methods: Expert system and practitioners-based validation,
Expert Syst. Appl. 195 (2022) 116520.
[9] S. Shafiee, Y. Wautelet, L. Hvam, E. Sandrin, C. Forza, Scrum versus rational unified process
in facing the main challenges of product configuration systems development, Journal of
Systems and Software 170 (2020) 110732.
[10] Y. Wautelet, S. Shafiee, S. Heng, Revisiting the product configuration systems development
procedure for scrum compliance: An i* driven process fragment, in: International
Conference on Product-Focused Software Process Improvement, Springer, 2019, pp. 433–451.
[11] S. Shafiee, Y. Wautelet, S. Poelmans, S. Heng, An empirical evaluation of scrum training’s
suitability for the model-driven development of knowledge-intensive software systems,
Data &amp; Knowledge Engineering 146 (2023) 102195.
[12] M. Cohn, User stories applied: For agile software development, Addison-Wesley
Professional, 2004.
[13] M. Cohn, Advantages of user stories for requirements, InformIT Network (2004).
[14] Y. Wautelet, S. Heng, M. Kolp, I. Mirbel, Unifying and extending user story models, in:
Advanced Information Systems Engineering: 26th International Conference, CAiSE 2014,
Thessaloniki, Greece, June 16-20, 2014. Proceedings 26, Springer, 2014, pp. 211–225.
[15] G. Lucassen, F. Dalpiaz, J. M. E. M. van der Werf, S. Brinkkemper, Improving agile
requirements: the quality user story framework and tool, Requir. Eng. 21 (2016) 383–403.</p>
      <p>URL: https://doi.org/10.1007/s00766-016-0250-x. doi:10.1007/S00766- 016- 0250- X.
[16] G. Lucassen, F. Dalpiaz, J. M. E. v. d. Werf, S. Brinkkemper, The use and efectiveness of
user stories in practice, in: Requirements Engineering: Foundation for Software Quality:
22nd International Working Conference, REFSQ 2016, Gothenburg, Sweden, March 14-17,
2016, Proceedings 22, Springer, 2016, pp. 205–222.
[17] Y. Wautelet, S. Heng, S. Kiv, M. Kolp, User-story driven development of multi-agent
systems: A process fragment for agile methods, Comput. Lang. Syst. Struct. 50 (2017)
159–176.
[18] K. Tsilionis, Y. Wautelet, C. Faut, S. Heng, Unifying behavior driven development templates,
in: 29th IEEE International Requirements Engineering Conference, RE 2021, Notre Dame,
IN, USA, September 20-24, 2021, IEEE, 2021, pp. 454–455.
[19] H. Alfraihi, K. Lano, The integration of agile development and model driven development
- A systematic literature review, in: L. F. Pires, S. Hammoudi, B. Selic (Eds.), Proceedings of
the 5th International Conference on Model-Driven Engineering and Software Development,
MODELSWARD 2017, Porto, Portugal, February 19-21, 2017, SciTePress, 2017, pp. 451–458.
[20] H. Alfraihi, K. Lano, Trends and insights into the use of model-driven engineering: A
survey, in: ACM/IEEE International Conference on Model Driven Engineering Languages
and Systems, MODELS 2023 Companion, Västerås, Sweden, October 1-6, 2023, IEEE, 2023,
pp. 286–295.
[21] M. Snoeck, Y. Wautelet, Agile MERODE: a model-driven software engineering method for
user-centric and value-based development, Softw. Syst. Model. 21 (2022) 1469–1494.
[22] S. Shafiee, L. Hvam, A. Haug, M. Dam, K. Kristjansdottir, The documentation of product
configuration systems: A framework and an it solution, Advanced Engineering Informatics
32 (2017) 163–175.
[23] S. Shafiee, Y. Wautelet, S. C. Friis, L. Lis, U. Harlou, L. Hvam, Evaluating the benefits of a
computer-aided software engineering tool to develop and document product configuration
systems, Computers in Industry 128 (2021) 103432.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>