<!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>Challenges in MLOps Project Teams</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rohith Sothilingam</string-name>
          <email>rohith.sothilingam@mail.utoronto.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vik Pant</string-name>
          <email>vik.pant@utoronto.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eric Yu</string-name>
          <email>eric.yu@utoronto.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Conceptual Modeling, Requirements Engineering, MLOps</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Information, University of Toronto</institution>
          ,
          <addr-line>Toronto</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <abstract>
        <p>The rapidly growing interest of applying continuous software engineering practices from DevOps in Machine Learning (ML) software projects has led to the relatively new area of Machine Learning Operations (MLOps). The need for software engineers to collaborate with data scientists, ML Engineers, DevOps Engineers, and other specialists has contributed to the emergence of MLOps. MLOps introduces unique challenges involving the intersection of infrastructure engineering to the exploratory model development process of ML. The collaboration of team members of diverse skills and knowledge is required due to the need for continuous evolution and monitoring of both ML systems and the underlying infrastructure. The capabilities of i* modeling are potentially a good fit for the the unique characteristics of MLOps with respect to the analysis of nuances in strategic interests between actors of diverse disciplinary backgrounds that commonly face challenges during collaboration. In this work, we use i* Strategic Rationale modeling of actor relationships to analyze and resolve common conflicts and challenges faced in MLOps project teams during collaboration in the development of production ML systems. Examples from common key MLOps challenges are used to illustrate.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Continuous software engineering practices such as DevOps has contributed greatly to business
value in software development teams. The recent growth in interest toward applying the
practices of DevOps towards Machine Learning (ML) has led to the emergence of MLOps.
MLOps is an intersection between ML and DevOps practices. Tamburri [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] defines MLOps
as the distribution of a set of software components and middleware encompassing five ML
pipeline functions: data ingestion, data transformation, continuous ML model (re-)training,
(re-)deployment, and output presentation.
      </p>
      <p>
        MLOps projects and team organization are often at the early stages of the maturity curve,
compared to other types of software projects [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The software lifecycle for MLOps is similar
to traditional practice of DevOps within other software engineering areas, which involve
collaboration among people from diverse backgrounds and skills [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. While DevOps aims
nEvelop-O
(E. Yu)
to shorten the development lifecycle of software systems, MLOps aims to borrow DevOps
principles to automate and operationalize ML applications and workflows.
      </p>
      <p>
        Unlike more mature areas of software development, MLOps practices are still evolving and
ill-defined, leading to challenges upon collaboration between roles of diverse backgrounds and
technical skills. Conflicts are particularly apparent during collaboration within ML teams due
to the interdisciplinary nature of MLOps and lack of MLOps practices in place, which can often
pose challenges. Other studies have observed that difering expectations, perspectives, and
interests in a software system can lead to conflicts during collaboration due to methodological
diferences [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. To achieve successful interdisciplinary collaboration in MLOps, it is important
to account for and analyze professional roles, strategic interests, skills, and attributes of team
members involved.
      </p>
      <p>In this paper we use i* modeling to examine how MLops practices are able to overcome
key challenges of ML before the adoption of MLOps practices. We use i* Strategic Rationale
modeling to demonstrate why and how MLOps practices are able to overcome those challenges.
This paper contributes to i* with respect to identifying nuanced challenges of MLOps that are
rooted in collaboration. The main contribution of this paper is its demonstration of the ability
of i* to convey the efect of collaboration patterns because of enabling MLOps practices. The
analysis demonstrated in this paper contributes to our ongoing work of examining whether i*
Strategic Rationale models can suficiently address intricate issues of MLOps collaboration.
2. Using i* Strategic Actor Modeling to Identify Challenges in</p>
      <p>
        MLOps Project Team Collaboration
Recent empirical studies have found that while some organizations have adopted MLOps
practices more successfully than others [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], many struggle setting up structures, processes,
and tooling for efective collaboration among team members with diferent backgrounds when
developing ML-enabled systems.
      </p>
      <p>
        Much of software code in ML systems is dedicated to pipelines which contribute to continuous
learning, such as the training pipeline and data pipeline [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The processes used to develop
such pipelines are often subject to technical debt. In this section, we use i* Strategic Rationale
modeling to demonstrate an example of a design pattern as identified in Sculley et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] which
can lead to technical debt [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Specifically, we demonstrate how i* can be used to identify the
underlying goals and soft-goals which lead to the issue of Process Management Debt.
      </p>
      <p>
        In more mature ML project teams, numerous ML models may be running simultaneously [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
which raises the important challenge of managing changes and versioning of models safely and
automatically. It is challenging to respect diferent, often conflicting business priorities among
models and to subsequently detect any blockages or issues in the related pipelines.
      </p>
      <p>To understand such points of conflict, we pose the following questions. What tasks and
goals must be achieved for MLOps project teams to maintain continuous model performance?
What tasks and goals must be achieved to continually monitor and train models simultaneously
across diferent releases? In the following i* modeling, we will identify what modeling elements
are not satisfied and the significance of those elements not being satisfied. Our intention is to
demonstrate collaboration challenges known before the construction of the i* models. The target
audience of the i* models are ML model designers in practical settings who would consume and
analyze such i* models. The i* model in Fig. 1 is an example of one of many common recurrent
challenges faced with MLOps regarding team collaboration. Though the model deals with a
specific problem domain, the model can be customized to specific MLOps project challenges.</p>
      <p>
        This model in Fig. 1 conveys the attempted collaboration between three important actors
of any MLOps project team [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]: the Data Scientist, Operational Engineer, and the Software
Engineer. The Data Scientist is typically responsible for the design of the model, including
feature engineering, model training, and model fit with accordance to the business requirements.
The Operational Engineer is responsible for constantly monitoring the performance of the model,
with dips in performance possibly indicating that this entire process may need to be repeated to
update the model to understand new trends. The Software Engineer is responsible for deploying
and integrating the models into the application through model pipelines. In the following
paragraphs, we will show the i* modeling elements in Fig. 1 are not satisfied as a result of a
lack of established collaborative practices between each actor. The i* modeling elements which
are not satisfied are highlighted using red circles in Fig. 1.
      </p>
      <p>
        The Operational Engineer Actor cannot achieve the Goal of Model performance be maintained
as the task dependum Scale infrastructure needs between the Operational Engineer and Software
Engineer Actors is not satisfied. Scalability is a crucial contribution of the DevOps aspect of
MLOps. MLOps adopts the DevOps principles of Continuous Integration (CI) and Continuous
Delivery (CD) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. From the DevOps perspective of CD, processed datasets and trained models
are automatically and continuously delivered by data scientists to Operational Engineers. From
the perspective of Continuous Training, introduction of new data and avoidance of model
performance degradation require a trigger to retrain the model or improve model performance
through online methods. Without scalable infrastructure, the Operational Engineer cannot
maintain continuous model performance.
      </p>
      <p>
        As a result of the lack of continuous processes in place, the Data Scientist Actor cannot
achieve the Goal of Model be ready for deployment because the underlying Goal Model version
control in place and Resource Continuous monitoring across releases for drift are not satisfied.
The Data Scientist Actor cannot achieve the Goal Model version control in place, leading to the
inability of the Software Engineer Actor to satisfy the Goal Ability to work in parallel on the same
application, to train and deploy multiple models continuously.
3. Overcoming Challenges in ML Project Team Collaboration
and Relationships with MLOps Practices
The i* Strategic Rationale model in Fig. 2 conveys how the adoption of appropriate MLOps
practices can help overcome such challenges. In this section, we demonstrate an i* Strategic
Rationale model with MLOps practices added (highlighted as yellow elements) to Fig. 1. Adding
the i* intentional elements conveying MLOps practices and its efects on goals, soft-goals,
and dependum relationships fosters the ability to understand why and how MLOps practices
can improve collaboration challenges among relationships in MLOps project teams. Modeling
elements conveying MLOps practices are drawn from recent research studies on MLOps practices
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ][
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        To address Process Management Debt, it is crucial to develop tooling to aid recovery from
production incidents and manage conflicting priorities [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In Fig. 2, we added dependency
relationships with MLOps practices to address the collaboration relationships which were
unsatisfied in Fig. 1.
      </p>
      <p>The Task dependum Conduct code quality check allows the Software Engineer Actor to now
satisfy the task Assess code quality while collaborating with the Data Scientist Actor to ensure
the Business-approved model meets the expectations of the code quality check.</p>
      <p>
        The Goal dependum Feedback loop in place for model drift detection [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] allows the Data
Scientist Actor to satisfy the Resource element Continuous monitoring across releases for drift .
This is done with improved collaboration between the Data Scientist Actor and Software Engineer
Actor with the newly added task Build continuous monitoring capability across releases [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] which
ensures CD principles are applied to continuous model training and monitoring.
      </p>
      <p>
        The Resource dependum Model benchmarks and metrics allows the Operational Engineer to
satisfy the task Scale infrastructure needs as the MLOps practices of Assess resource utilization [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
and Monitor predictive service performance are added as task elements to provide the Operational
Engineer with the resource and practices required to ensure the compute resources of the ML
model can be optimized and ultimately satisfy the goal Model performance be maintained.
      </p>
      <p>The problems identified in Fig. 1 are resolved using i* with the addition of these i* elements.
The collaborative relationships between the Data Scientist, Software Engineer , and Operational
Engineer Actors are improved as a result. Though i* can address some aspects of MLOps
challenges, there are important limitations. Firstly, though i* is able to implicitly express the
existence of a feedback loop, it cannot explicitly express the feedback loop and its continuity
temporally. This is an important limitation of i* as each stage of the MLOps lifecycle is
continuous and cyclical. Key examples include continuous training, deployment, monitoring, and
simultaneous training of multiple models. Secondly, it is not clear the relationship between the
skills, knowledge, and training of the Data Scientist and their ability to achieve a satisfactory
level of code quality. Further work is required to better analyze how such knowledge can evolve
and be incorporated at diferent points in collaborative relationships regarding MLOps projects.</p>
    </sec>
    <sec id="sec-2">
      <title>4. Ongoing Work</title>
      <p>
        In this work, we used i* Strategic Rationale Modeling to demonstrate the efects of MLOps
practices on overcoming collaboration challenges in MLOps project teams. Modeling the
relationships at an intentional level, compared to conventional process models, ofers a higher
level of abstraction for analysis. In ongoing work, we are applying the i* concepts of Agents,
Roles, and Positions for modeling complex organizational relationships with respect to MLOps
project teams [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. As mentioned in Section 3, one important example of a challenge that
requires deeper analysis is the relationship between skills of a person and the expectations or
goals of the corresponding job role they are expected to occupy. Challenges can occur due to an
Agent not having the skill required to a Role, or having Roles with conflicting goals under one
Position. By identifying where such issues occur, we will use i* Agents, Roles, and Positions to
explore how organizations can diagnose challenges in team design in greater detail, through the
early detection of the problem. This ongoing work is a part of larger PhD thesis objectives, which
will include the following: (1) a requirements-driven framework which deals with conflicting
goals at design decision points throughout MLOps; (2) compilation and codification of design
knowledge from pertinent literature on MLOps and responsible AI to be available during design
decision in the form of knowledge catalogs; (3) tool support for the proposed framework.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Tamburri</surname>
          </string-name>
          ,
          <article-title>Sustainable mlops: Trends and challenges</article-title>
          ,
          <source>in: 2020 22nd International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)</source>
          , IEEE,
          <year>2020</year>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>23</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>M. M. John</surname>
            ,
            <given-names>H. H.</given-names>
          </string-name>
          <string-name>
            <surname>Olsson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          ,
          <article-title>Towards mlops: A framework and maturity model</article-title>
          ,
          <source>in: 2021 47th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)</source>
          , IEEE,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>N.</given-names>
            <surname>Nahar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kästner</surname>
          </string-name>
          ,
          <article-title>Collaboration challenges in building ml-enabled systems: Communication, documentation</article-title>
          , engineering, and process,
          <source>Organization</source>
          <volume>1</volume>
          (
          <year>2022</year>
          )
          <article-title>3</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Passi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sengers</surname>
          </string-name>
          ,
          <article-title>Making data science systems work</article-title>
          ,
          <source>Big Data &amp; Society</source>
          <volume>7</volume>
          (
          <year>2020</year>
          )
          <fpage>2053951720939605</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sculley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Holt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Golovin</surname>
          </string-name>
          , E. Davydov,
          <string-name>
            <given-names>T.</given-names>
            <surname>Phillips</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ebner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Chaudhary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Young</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Crespo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dennison</surname>
          </string-name>
          ,
          <article-title>Hidden technical debt in machine learning systems</article-title>
          ,
          <source>Advances in neural information processing systems</source>
          <volume>28</volume>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sculley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Otey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Spitznagel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hainsworth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>Detecting adversarial advertisements in the wild</article-title>
          ,
          <source>in: Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>274</fpage>
          -
          <lpage>282</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ruf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Madan</surname>
          </string-name>
          , C. Reich,
          <string-name>
            <surname>D.</surname>
          </string-name>
          Ould-Abdeslam,
          <article-title>Demystifying mlops and presenting a recipe for the selection of open-source tools</article-title>
          ,
          <source>Applied Sciences</source>
          <volume>11</volume>
          (
          <year>2021</year>
          )
          <fpage>8861</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mäkinen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Skogström</surname>
          </string-name>
          , E. Laaksonen, T. Mikkonen,
          <article-title>Who needs mlops: What data scientists seek to accomplish and how can mlops help?</article-title>
          , in: 2021 IEEE/ACM 1st Workshop on AI Engineering-
          <article-title>Software Engineering for AI (WAIN)</article-title>
          , IEEE,
          <year>2021</year>
          , pp.
          <fpage>109</fpage>
          -
          <lpage>112</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Baniecki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Kretowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Piatyszek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wisniewski</surname>
          </string-name>
          , P. Biecek,
          <string-name>
            <surname>dalex:</surname>
          </string-name>
          <article-title>Responsible machine learning with interactive explainability and fairness in python</article-title>
          , arXiv preprint arXiv:
          <year>2012</year>
          .
          <volume>14406</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Treveil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Omont</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stenac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lefevre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Phan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zentici</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lavoillotte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Miyazaki</surname>
          </string-name>
          , L. Heidmann,
          <string-name>
            <surname>Introducing MLOps</surname>
          </string-name>
          ,
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sothilingam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Eric</surname>
          </string-name>
          ,
          <article-title>Modeling agents, roles, and positions in machine learning project organizations</article-title>
          ., in: iStar,
          <year>2020</year>
          , pp.
          <fpage>61</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sothilingam</surname>
          </string-name>
          ,
          <source>Analyzing Organizational Processes in Machine Learning Projects: Exploring Modeling Approaches, Ph.D. thesis</source>
          , University of Toronto (Canada),
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>