=Paper= {{Paper |id=Vol-2019/edusymp_2 |storemode=property |title=Challenges in Teaching Modeling in Agile Software Engineering Courses |pdfUrl=https://ceur-ws.org/Vol-2019/edusymp_2.pdf |volume=Vol-2019 |authors=Matthew Stephan |dblpUrl=https://dblp.org/rec/conf/models/Stephan17 }} ==Challenges in Teaching Modeling in Agile Software Engineering Courses== https://ceur-ws.org/Vol-2019/edusymp_2.pdf
                    Challenges in Teaching Modeling in
                    Agile Software Engineering Courses
                                                        Matthew Stephan
                                  Department of Computer Science and Software Engineering
                                                     Miami University
                                                     Oxford, OH, USA
                                              Email: stephamd@miamioh.edu


   Abstract—Formal Model Driven Engineering (MDE) can be            formal MDE is sometimes viewed as incongruent with Agile
considered incongruent with Agile methodologies. However, with      methodologies [7], as Agile is lightweight, and focuses on
the advent of Agile, Software Engineering educators have an         getting simple “working software” and updating it later. Teach-
obligation to teach Agile development. Many instructors do so
by employing experiential learning through Agile classrooms         ing MDE is crucial in Software Engineering education [8].
and projects. Teaching formal MDE and convincing students           However, doing so in an Agile environment/course structure
of its benefits can be challenging in such environments. In         while convincing students of MDE benefits is challenging.
this paper, we discuss this position by considering established        This paper describes our position that following established
best practices in modeling education and their compatibility        practices for teaching MDE in an Agile setting presents unique
in Agile classrooms/projects. We argue that more than half
the practices present some challenge in Agile environments,         considerations and challenges that should be addressed by
for which we provide initial suggestions. The most significant      the modeling education community. Our discussion considers
challenges are those pertaining to the MDE education practices of   these practices in the context of Agile, and includes sugges-
tailoring the MDE processes to participant knowledge and course     tions when conflicts exist. We include our own suggestions and
context, defining the types of MDE artifacts before the project     those that arose at the symposium. Our goal is to stimulate
or course begins, and ensuring industrial relevance to prepare
students for post-graduation. Discussion of these challenges at     ideas on these challenges, generate others, and guide future
the symposium provided additional insights and suggestions,         research and practice.
which we summarize in this paper. Notable suggestions include          The paper begins in Section II with a quick primer on
tailoring both the MDE and Agile processes to complement each       Agile Methodologies and Education, and MDE education.
other, employing a minimal set of MDE artifacts necessary for       In Section III we argue Agile Modeling is inadequate for
code generation, and having a large initial Agile iteration to
form a realistic minimal viable product, respectively. We plan      educating students in both Agile and Modeling. Our discussion
on applying these MDE educational best practices in our Agile       begins in Section IV, which frames the conversation in terms
course offerings, incorporating our initial suggestions and those   of eight established formal MDE education practices. We
from the symposium. Our goal is to stimulate discussion on these    conclude the paper in Section V.
challenges and others, and help guide future research and course
offerings.
                                                                                  II. BACKGROUND I NFORMATION
                      I. I NTRODUCTION                              A. Agile Development Methodologies

   Agile development methodologies are widespread in Soft-             Agile methodologies involve principles, practices, and meth-
ware Engineering. 35% to 45% of software developers use             ods for software development and other fields. It allows teams
some form of Agile, which is more than the 30.6% that               to be more flexible, and capable of meeting the demanding
use nothing, 21% that use iterative, and the 13% that use           needs and changing requirements of consumers. While not
waterfall [1]. Other studies have Agile adaption for small-to-      applicable to all projects and products, it has seen notable
medium sized organizations at 67% [2]. Thus, educators have         adoption recently [1], [2]. It is not meant to replace established
a responsibility to teach, and have a significant focus on, Agile   Software Engineering practice, but rather be employed as a
methodologies. One popular way of doing this is to structure        guiding philosophy [9].
and teach classes in an Agile fashion [3], which can include
having class projects conducted using Agile [2]. This provides      B. Agile Education
educational benefits not limited to engineering education [4].
   One strength of Model Driven Engineering (MDE) is code             There are different approaches to teaching students Agile
generation [5] facilitated by carefully crafting models adhering    methodologies including using a decision support process with
to formal syntax. While there are examples of round-trip            use cases [4], Scrum labs [10], pair programming [11], and
MDE [6], whereby models and code can be updated and syn-            others [2]. Additionally, classrooms/lectures themselves can be
chronized automatically, it is relatively underdeveloped. Thus,     conducted in an Agile fashion with students as the customers.
For example, having a preparation and planning phase with                             III. R ELATED W ORK
students, setting specific learning outcomes with them, and
                                                                  A. Agile Modeling
applying Agile practices each class session including stand
ups and retrospectives [3]. Class projects can be structured         Agile modeling is a light-weight modeling technique in-
using Agile processes [2].                                        tended to derive some benefits from modeling in Agile set-
                                                                  tings [14]. It is neither as rigid nor as formal as “generative”
                                                                  MDE, and strives to be “just barely good enough” [14].
C. Teaching Modeling and MDE                                      Support for Agile modeling is sparse [15], but it aims to be
                                                                  practical and has potential in Agile environments.
                                                                     The modeling community and Software Engineering educa-
   The importance and impact of teaching MDE has been             tors should teach students formal MDE to best prepare them
discussed by Hamou et al. [8], with Clarke et al. demonstrating   to work on safety critical, secure, and reliable software [16].
students’ positive experiences [12].                              Trying to introduce students to modeling and MDE using
   One of the main considerations Hamou et al. identify when      Agile modeling can impede MDE learning. For example,
teaching MDE involve the “multitude and the complexity of         Ringert et al. taught MDE using Agile MDE for cyber-physical
the (MDE) concepts” [8]. Additionally, Kuzniarz and Staron        systems and found that students encountered trouble with
explicated a list of best practices for teaching UML/modeling     MDE technology and concepts [17].
based on five years of experience [13]:
P1 Tailoring development processes to participant knowl-                                IV. C HALLENGES
   edge, course setting, and course format/restrictions. For
   example, having instructors decide if a project/course will       In this section, we discuss how Agile courses clash or fit
   be iterative and incremental, the modeling languages and       with formal/generative MDE education practices. We frame
   technologies employed by students, and other character-        our conversation in terms of the modeling education best
   istics.                                                        practices mentioned in Section II-C, with each item, AX, cor-
P2 Defining artifacts and creation procedures beforehand.         responding to each PX in that list. For those that present chal-
   That is, will students be using use case diagrams, state       lenges, we include suggestions based on our initial thoughts
   diagrams, sequence diagrams, et cetera.                        and our discussions at the symposium. This is only a starting
P3 Consistency awareness and management to ensure all             point. We anticipate more challenges and considerations will
   artifacts are consistent with one another. This can include    emerge in future work.
   establishing consistency rules for the students to use
                                                                  A. A1 - Tailor Development Processes
   throughout the semester.
P4 Teaching the importance and usage of models and their             This practice dictates instructors tailor development pro-
   elements, including relation of elements to code gener-        cesses to a course and its context. However, Agile purists
   ation. A key principle to impart is that ”if the model is      /proponents argue that a project process is either Agile or it
   not used anywhere, it should not be created.”                  is not; it cannot be “somewhat” Agile. While tailoring MDE
P5 Receiving and encouraging constant feedback from stu-          aspects is possible, tailoring certain process-specific aspects
   dents. The course must be at a level students can appreci-     may not be appropriate in an Agile setting. Thus, Agile courses
   ate and follow. Eliciting feedback from students is helpful    and projects should tailor only MDE process aspects not Agile
   in realizing this.                                             process aspects.
P6 Industrial relevance, that is, preparing students for the         At the symposium, a participant argued MDE purists would
   “real” world. The problems covered in the course and in        say MDE processes should not be tailored, and there are
   projects should be real-world problems.                        several Agile methods that are highly customizable for dif-
P7 Performing research and academic experiments. Kuzniarz         ferent contexts. A specific example of this is the Scaled Agile
   and Staron provide an example of their experiments             Framework [18] in the systems engineering domain that deals
   that assessed the usability of UML stereotypes to help         with standardization and safety-critical requirements. It can be
   increase UML model comprehension.                              argued that these Agile methods/frameworks are made to be
P8 Including new research and industrial trends in the course     customized, much more than methods that focus on MDE.
   material and project. The purpose is to raise the students’
   interest in emerging technologies and developments in          B. A2 - Define MDE Artifacts Beforehand
   MDE. Also, to have them better prepared when they grad-
   uate and pursue either industrial or academic pursuits.          Defining MDE artifacts types for students before an Agile
                                                                  course begins is challenging. To teach MDE properly the
We consider these practices and their plausibility in Agile       choice of artifacts should be sufficient to facilitate and eluci-
courses/projects.                                                 date the formal MDE pipeline. However, the choice of artifacts
                                                                  must also be a feasible set students can create/update in each
Agile iteration. More research and experimentation is required        One of the symposium attendees from industry pointed out
to address this.                                                   they use their models mostly for diligence and auditing. So,
   The symposium attendees agreed that it is challenging           they were less concerned with students being familiar with
to find the right balance of artifacts that are sufficient and     code generation. They develop their models in an Agile fashion
feasible. One person posed the question if MDE is ever             but not the product itself. Of course, this is organization
complete. Another person responded it should be capable of         specific. Hutchinson et al. [19] performed a survey on MDE
code generation at least.                                          use in industry and found approximately 12% of organizations
                                                                   use code generation, 34% use models for testing, and 39% use
C. A3 - Keep Artifacts Consistent                                  models for execution and simulation. Our suggestion is that
                                                                   each course instructor should use this survey, surveys on Agile
   Artifact consistency is easily possible in an Agile course      [1], [2], their industrial collaborations, and own research to
or project. To enforce this, recurring Agile stories/tasks to      decide how to make both their Agile and MDE curricula as
manage and synchronize artifacts can be created automatically      industrial relevant as possible.
each iteration through tooling, like Jira1 or Trello2 .
   An industrial symposium attendee confirmed that they see
                                                                   G. A7 - Experimentation
this in industry. That is, they have explicate stories and tasks
intended to ensure consistency. They verify correctness at the
                                                                      MDE Experimentation is possible in Agile courses/projects.
modeling level of abstraction.
                                                                   For example, in class-wide projects, groups can swap models
D. A4 - Effective use of MDE Models/Code Generation                to analyze a model set’s ability to aid in comprehension each
                                                                   iteration. Or, in between iterations, groups can be asked to
   Since each iteration in Agile requires a quality working        migrate their models to another tool to compare, teach, and
product, teaching the effective use of MDE models fits nicely.     experiment with multiple modeling tools.
However, considerations include, prior to the first iteration,
1) students should be familiar with MDE basics, and 2) code        H. A8 - Employ New Research & Technologies
generation is setup and ready for them. This will likely require
a primer on MDE and code generation before any work begins.          There should be no problem in having students learn and
   At the symposium, participants were in strong agreement         employ emerging MDE research and tools in an Agile setting.
that educators must teach, or review, ”good design” and
modeling to students beforehand.                                   I. Summary
E. A5 - Constant Feedback                                             We summarize our qualitative assessment of these chal-
                                                                   lenges in Table I. These helped form the basis for discussions
   Adaption of the constant feedback best MDE education
                                                                   at the symposium and, hopefully, beyond in generating more
practice within Agile is seamless as this is a key Agile
                                                                   challenges and suggestions. Additionally, we plan on applying
principle. Students will be in constant communication with
                                                                   these MDE practices as best possible in our Agile course
the instructor/customer through both stand-ups and progress
                                                                   offerings in the near future for the purposes of observation
story boards.
                                                                   and research.
   The symposium attendees believe that constant communica-
tion both early on during the project and course will not impact
MDE education, and having Agile-type retrospectives after                                 V. C ONCLUSION
milestones will be beneficial. No conflicts were anticipated.
                                                                      Agile methodologies can be considered incongruent with
F. A6 - Industrial Relevance                                       formal MDE. Similarly, employing Agile education techniques
                                                                   can conflict with formal MDE education. As a starting point
   Industrial relevance in teaching MDE applied in an Agile
                                                                   for discussion, we considered eight established best practices
setting is challenging. MDE in formal domains, like auto-
                                                                   for teaching modeling with respect to their applicability in
motive, telephony, and others is often front loaded. This
                                                                   Agile classrooms and course projects. We postulate that more
is appropriate as requirements change less, and can be
                                                                   than half of these MDE practices face at least mild challenges
regulation/domain-driven. While students can learn the gen-
                                                                   in Agile settings. Some of our preliminary suggestions include
erative aspects in an Agile setting, it may not be as front
                                                                   automatic Agile task creation for artifact consistency, a larger
loaded because Agile involves building small products and
                                                                   first iteration release for industrial relevance, and others. We
incrementally adding features. One way of tackling this may
                                                                   discussed these challenges at the symposium, and are conduct-
be having a large minimum viable product (MVP) in the first
                                                                   ing research by applying these practices and suggestions in our
iteration.
                                                                   Agile class offerings in the near future. It is our hope that this
  1 https://www.atlassian.com/software/jira                        paper helps guide future research and furthers the conversation
  2 https://trello.com                                             on the educational interplay between Agile and MDE.
                                                                      TABLE I
                                              S UMMARY OF B EST P RACTICES ’ C OMPATIBILITY WITH AGILE
                                        Key                  Practice Description                  Challenge Level
                                        A1               Tailor Development Processes                     *
                                        A2             Define MDE Artifacts Beforehand                    *
                                        A3                 Keep Artifacts Consistent                      -
                                        A4      Effective use of MDE Models/Code Generation               -
                                        A5                     Constant Feedback                          X
                                        A6                    Industrial Relevance                        *
                                        A7         Research and Academic Experimentation                  X
                                        A8          Employ New Research & Technologies                    X

                                                                                                        * Challenging
                                                                                                 - Mildly challenging
                                                                                              X Little to no challenge




                        ACKNOWLEDGMENTS                                         [16] J. Bezivin, R. France, M. Gogolla, O. Haugen, G. Taentzer, and D. Varro,
                                                                                     “Teaching modeling: why, when, what?” in International Conference on
                                                                                     Model Driven Engineering Languages and Systems. Springer, 2009,
   We would like to thank the Educators Symposium attendees                          pp. 55–62.
for participating in our discussions, providing feedback, and                   [17] J. O. Ringert, B. Rumpe, C. Schulze, and A. Wortmann, “Teaching agile
brainstorming suggestions. We also want to express our grati-                        model-driven engineering for cyber-physical systems,” in International
                                                                                     Conference on Software Engineering: Software Engineering and Edu-
tude to the symposium organizers for helping us facilitate the                       cation Track, 2017, pp. 127–136.
discussion.                                                                     [18] D. J. Reifer, F. Maurer, and H. Erdogmus, “Scaling agile methods,”
                                                                                     IEEE software, vol. 20, no. 4, pp. 12–14, 2003.
                             R EFERENCES                                        [19] J. Hutchinson, J. Whittle, M. Rouncefield, and S. Kristoffersen, “Em-
                                                                                     pirical assessment of mde in industry,” in International Conference on
 [1] D. West, T. Grant, M. Gerush, and D. Dsilva, “Agile development:                Software Engineering, 2011, pp. 471–480.
     Mainstream adoption has changed agility,” Forrester Research, vol. 2,
     no. 1, p. 41, 2010.
 [2] D. F. Rico and H. H. Sayani, “Use of agile methods in software
     engineering education,” in Agile Conference, 2009, pp. 174–179.
 [3] P. Reed, “An agile classroom experience,” in Agile Conference, 2008,
     pp. 478–483.
 [4] J. McAvoy and D. Sammon, “Agile methodology adoption decisions: An
     innovative approach to teaching and learning,” Journal of Information
     Systems Education, vol. 16, no. 4, p. 409, 2005.
 [5] B. Selic, “The pragmatics of model-driven development,” IEEE Soft-
     ware, vol. 20, no. 5, pp. 19–25, 2003.
 [6] M. Antkiewicz, K. Czarnecki, and M. Stephan, “Engineering of
     framework-specific modeling languages,” Transactions of Software En-
     gineering, vol. 35, no. 6, pp. 795–824, 2009.
 [7] J. Cabot, “Agile and Modeling / MDE : friends or foes?” http:
     //modeling-languages.com/agile-and-modeling-mde-friends-or-foes,
     2010, [Online; accessed 15-June-2017].
 [8] A. Hamou-Lhadj, A. Gherbi, and J. Nandigam, “The impact of the
     model-driven approach to software engineering on software engineering
     education,” in International Conference on Information Technology: New
     Generations, 2009, pp. 719–724.
 [9] K. Beck, M. Beedle, A. Van Bennekum, A. Cockburn, W. Cunningham,
     M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries et al.,
     “Manifesto for agile software development,” 2001.
[10] A. Schroeder, A. Klarl, P. Mayer, and C. Kroiß, “Teaching agile software
     development through lab courses,” in Global Engineering Education
     Conference, 2012, pp. 1–10.
[11] L. Williams, D. S. McCrickard, L. Layman, and K. Hussein, “Eleven
     guidelines for implementing pair programming in the classroom,” in
     Agile Conference, 2008, pp. 445–452.
[12] P. J. Clarke, Y. Wu, A. A. Allen, and T. M. King, “Experiences of
     teaching model-driven engineering in a software design course,” in
     Educators Symposium of the International Conference on Model Driven
     Engineering Languages and Systems Conference, 2009, pp. 6–14.
[13] L. Kuzniarz and M. Staron, “Best practices for teaching UML based
     software development,” in International Conference on Model Driven
     Engineering Languages and Systems, 2005, pp. 320–332.
[14] S. W. Ambler, The object primer: Agile model-driven development with
     UML 2.0. Cambridge University Press, 2004.
[15] J. Erickson, K. Lyytinen, and K. Siau, “Agile modeling, agile software
     development, and extreme programming: the state of research,” Journal
     of Database Management, vol. 16, no. 4, p. 88, 2005.