An Agile Model-Based Software Engineering Approach
An Agile Model-Based Software Engineering Approach
An Agile Model-Based Software Engineering Approach
Department of Systems Engineering, Walter Scott, Jr. College of Engineering, Colorado State University,
Fort Collins, CO 80523, USA
* Correspondence: moe.huss@colostate.edu
MBSAP [13]) to create an Agile MBSE approach called the integrated Scrum Model-Based
System Architecture Process (sMBSAP).
Several researchers have advocated for the benefits of integrating Agile and MBSE [9,10,14].
Researchers have also seen the need for techniques and methods that support documen-
tation in Agile environments [15]. A technique that makes documentation more easily
writable, manageable, and updatable is needed [16,17]. This research contributes to the
literature by explaining a practical approach to implementing Agile MBSE. The research
also applies the proposed approach to a health technology system. The proposed sMBSAP
attempts to narrow the gap between Agile practitioners and document-based/waterfall
practitioners by simplifying and streamlining system documentation and making it easier
to develop, manage, access, and share.
2. Background
2.1. Software Development Lifecycle (SDLC)
The Software Development Lifecycle (SDLC) is a process for building and maintaining
software systems. Several researchers have explained that system development lifecycle
models have been strongly influenced by software, and so the two terms “system” and
“software” might be used interchangeably in terms of SDLC [18], especially since system
development encompasses software system development [18–20]. Others have clarified
that systems engineering, software systems engineering, and software engineering have
different areas of focus [21].
Currently, two major SDLC categories are used when managing software systems
projects: (1) traditional and (2) Agile. Several commonly used traditional systems develop-
ment methods are shown in Figure 1. Traditional systems development methods have been
historically associated with Document-Based Systems Engineering (DBSE) practices [22].
On the other hand, Agile systems development methods are the other category of SDLC
that came to life to address some of the challenges associated with traditional systems devel-
opment methods. The first generation of Agile approaches, sometimes called lightweight
development methods [23], are also shown in Figure 1.
Figure 1. Overview of software development lifecycle models and their relationship with MBSE.
Software 2023, 2 236
Scrum Meetings
Sprint Retro
Scrum Artifacts
Scrum
Other
artifacts
Product Sprint
Sprint Review Increment /
Demo Backlog Planning
Scrum Roles
Sprint Backlog Product Owner
Scrum Team
Scrum Master
Daily
Standups
Scrum Processes
Review and
Initiate Plan Implement Release
Retrospect
Create Project Vision Create User Stories Create Deliverables Convene Scrum of Ship Deliverables
Identify Scrum Master Approve, Estimate, Conduct Daily Scrums Retrospect Project
and Stakeholder(s) and Commit User Standup Demonstrate and
Form Scrum Team Stories Groom Prioritized Validate Sprint
Develop Epic(s) Create Tasks Product Backlog Retrospect Sprint
Create Prioritized Estimate Tasks
Product Backlog Create Sprint Backlog
Conduct Release
Planning
Scrum artifacts are the key information that a Scrum team uses and generates during
the sprints to show their progress to stakeholders. Some researchers even claimed that
the code itself should act as a document [25]. Agile practitioners devalue comprehensive
documentation and traceability; therefore, architecture artifacts, such as use case diagrams,
data models, and Requirement Traceability, are not typical in Scrum methodology [14,31].
User Stories are used to capture scenarios or system Behavior by describing how a user
interacts with the system [14]. With the Scrum approach, information elements are captured
in an Agile tool (such as Jira [35] and ClickUp [36]) and amongst separate, independent
documents by using Microsoft Office tools (rather than a primary, integrated system model
as a single source of truth, as is the case in MBSE approaches).
finally, a Physical Viewpoint. Similarly, prototypes of the system (or system increments) are
incrementally built, integrated, and tested with other increments. Finally, the cycle leads to
either the delivery of a final product or a new starting point for a follow-on increment of
development [13]. An overview of the MBSAP is shown in Figure 3.
MBSAP
Operational
Capabilities Viewpoint
Logical/
Integration and Increment /
Functional
Test Demo Viewpoint
Physical
Viewpoint
Many practitioners of object-oriented methods make the assumption that the essence
of an object-oriented method is the incremental approach [13]. This incremental (spiral
approach) originally evolved to respond to frequently changing Requirements, especially for
complex systems. It is obvious that the MBSAP is intrinsically incremental and iterative (as
shown by the closed loop in Figure 3), making its integration with other Agile methods
occur naturally in an attempt to get the best of both approaches.
prototype and a product’s digital twin [11]. Bott and Mesmer [12] reviewed the theories
supporting the Agile and MBSE methodologies and found them a key enabler of Agile
methods for systems engineering. Figure 1 illustrates the relationship between SDLC
models and MBSE.
Highest Familiarity
Industry
Role Gender Education with System
Experience
Level Development
System Architect and
Male 20+ years MSc Yes
Scrum Master
Backend Developer Male 15+ years PhD Yes
Frontend Developer Male 15+ years PhD Yes
Health and Nutrition
Female 15+ years PhD No
Scientist
Materials: Sparx Enterprise Architect (“Sparx EA”) [54] was chosen as the architecting
software tool, and Unified Modeling Language (UML) was chosen as the architecting
language (which is allowed in MBSAP [13].) The sMBSAP artifacts generated included the
Product Backlog, Sprint Backlog, Glossary, Product Breakdown, Class Diagrams, Object Diagrams,
Data Model, Activity Diagrams, Use Case Diagrams, and Capabilities (Requirements and User
Stories).
Procedures: Before each sMBSAP sprint, information elements were generated for
each perspective, integrated into a system model by using Sparx EA, and referenced
in the appropriate model viewpoint. The model elements, diagrams, and views were
generated according to standard and non-standard UML diagram formats [13], and they
were implemented according to the standard Sparx EA modeling procedures [54]. The
sMBSAP procedures (outlined in the following sections) were implemented to conduct the
sprints and create Product Increments.
The proposed sMBSAP approach followed a combination of Scrum and MBSAP, as
shown in Figure 4. The processes near the bottom of the figure describe the steps followed
by the Product Development Team, who used the sMBSAP to develop a software system;
these processes will be described in detail in this section.
Software 2023, 2 240
sMBSAP Meetings
Sprint Retro
sMBSAP
sMBSAP Artifacts Physical
Viewpoint
Sprint / Sprint /
Architecture Logical/Functional Increment / Product/Sprint Architecture
Review Viewpoint Demo Backlog Planning
Modified to integrate
Scrum and MBSAP sMBSAP Roles
Inherited from MBSAP Operational Product Owner
Viewpoint Scrum Master
Inherited from Scrum System Architect
Development Team
Common in both Scrum
and MBSAP Daily
Standups
sMBSAP Processes
Review and
Initiate Plan and Architect Implement Release
Retrospect
Inputs Inputs Inputs Inputs Inputs
Create Project and Create and Update Create Demonstrate and Ship Deliverables
Product Scope Backlog Items Deliverables/Product Validate Deliverables Deliver Architecture
Identify Project Develop System Increments Retrospect Sprint Models
Stakeholders and Architecture Communicate Retrospect Project
Project Team Commit User Stories Progress
Create Architecture Create Product Groom Product
Overview and Breakdown Backlog Breakdown
Summary Estimate Backlog Update System
Create Product Items Architecture
Breakdown
Create Product
Backlog
Develop Release Plan
Outputs Outputs Outputs Outputs Outputs
Figure 4. Overview of the sMBSAP with the goal of developing Product Increments.
The typical MBSAP viewpoints generate the architecture artifacts for driving the
development process. The MBSAP artifacts and Sprint Backlog that include User Stories
are the key information that the Product Development Team uses to execute the product
development and show the progress to stakeholders. The Sprint Backlog captures the list of
items that need to be developed during each sMBSAP-driven sprint. The sMBSAP approach
also includes the many typical MBSAP artifacts, including but not limited to a glossary,
Product Breakdown, class diagrams, object diagrams, data models, use case diagrams, and
capabilities.
According to Borky and Bradley [13], the term “capabilities” is a preferred term over
the term “Requirements”. User Stories are similar to Requirements, except they are written
from the user’s perspective—in other words, what a user shall do when using the system
rather than describing what the system shall do for the user. The perspective of capabilities
captures the system capabilities, which include User Stories, Requirements, and other behind-
the-scenes tasks required to enable system capabilities. Now, the following description of
the phases and processes of the sMBSAP is organized to mirror that of the Scrum method
for more straightforward mapping.
3.3. Initiate
This phase includes the processes related to initiating the project. These processes are
summarized below:
• Create Project and Product Scope: In this process, the project business case is reviewed
to create a Project Scope Statement and subsequent Product Scope. The Product Owner is
typically identified at this stage of the project.
• Identify Project Stakeholders and Project Team: In this process, the four project roles
are identified, which include the Product Owner, Scrum Master, System Architect, and
Product Development Team. Other project stakeholders are also identified during this
process.
• Create Architecture Overview and Summary: In this process, an Architecture Overview
that provides the following architecture-related information is created: the architec-
ture’s scope, purpose, and perspective, contextual information, the role of the System
Architect, and the timeline of the architecture’s development. The Architecture Overview
acts as a contract between stakeholders and the System Architect based on establishing
bilateral commitments and understanding of the role of the architecture effort within
the overall project effort [13]. The main customer for the architecture artifacts is the
Product Development Team; accordingly, the System Architect must explain the value
and contribution of the architecture process. The System Architect should also expect
organizational resistance and lack of support among software developers, especially
those who are used to writing code with very little or no documentation as input. In
this process, the System Architect decides which MBSE tool they will use throughout
the project.
• Create Product Breakdown: In this process, the Project Scope Statement and Product
Scope are used as the basis for breaking the product down into Epics, Use Cases, User
Stories, and Requirements, as shown in Figure 5. The Product Breakdown is an iterative
process that occurs first during the Initiate phase and is further refined through
meetings between the project team and key stakeholders in subsequent phases as
needed. In the sMBSAP approach, Epics are modeled as stereotyped Use Cases [14] and
are decomposed to (lower-level) Use Cases, which are, in turn, decomposed into User
Stories, which are broken down into Requirements. This taxonomy is shown in Figure 5.
• Create Product Backlog: In this process, User Stories, Requirements, and other tasks
are added to the Product Backlog. These items are referred to as Product Backlog Items
(PBIs). It is important to note that a project team may choose to use only User Stories
(commonly used in Scrum) or both User Stories and Requirements (Requirements are
commonly used in MBSE and systems engineering). The PBIs will be progressively
refined, elaborated, and later prioritized. The acceptance criteria are also established
Software 2023, 2 242
at this point and will be further elaborated. The Product Backlog is developed and
maintained by using aRequirement management tool or Agile development tool, such
as Clickup [36]. Alternatively (or in addition), User Stories and Requirements may be
visually captured in the model, as shown in Figure 6, which illustrates User Stories and
Requirements that are modeled as stereotyped Use Cases, and Requirements are traced
to User Stories. This allows a User Story to be described and to its connection to a
persona to be shown. In this Use Case diagram, the System Architect wants to capture
the interaction of the “User” with the “Health Assessment” module of the system
and communicate it with the Product Development Team. The System Architect explains
the “User” behavior through a combination of User Stories and Requirements. At the
beginning of the “Health Assessment”, the system displays a series of messages to
the “User” to allow them to customize their “Health Assessment” experience. The
“User” will specifically be asked to select whether they would like to receive one
question per page, to select the weight and height unit of measure, to select which
health assessment sections to complete, and whether the “User” prefers to focus on
a specific category of medical conditions. The “User” will then start navigating the
“Health Assessment” sections. The “User” will have the ability to transition from one
section to the other. They can also skip questions and come back to them later. The
system will display a message at the end of each section to transition the “User” from
one section to the other. During the navigation, the “User” can see their progress in
terms of the percentage of completion. If the “User” does not complete the “Health
Assessment”, the system will send weekly emails reminding the “User” to complete
the “Health Assessment”.
• Develop Release Plan: In this process, the product team develops a Release Plan,
which is basically a phased deployment timeline that can be shared with the project’s
stakeholders. The length of each sprint is usually decided in this process. Some Scrum
practitioners develop a Product Roadmap that is more strategic and high-level and a
Release Plan that is more tactical and detailed.
Figure 5. Relationship among Epics, Use Cases, User Stories, and Requirements in the sMBSAP method.
Software 2023, 2 243
Customization
«requirement»
«user story»
Ask the user whether they
prefer one question per
Select weight unit of measure
page or all questions in the
same page
«user story»
«user story»
Take full health assessment
Select height unit of measure
«trace»
«include»
«include»
«include»
«user story» «requirement»
«user story» «user story» Ask for a category of medical
1.2.2 Customize and Choose health Start with a short health conditions and ask later for
improve UX for HA «include» assessment «trace» specific condition
«include» assessment sections to
complete
A
User
Health Assessment Navigation
(from User
Roles) «requirement»
Make all sections of the
«user story»
health assessment visible «requirement»
on every screen of the View a % complete for health Receive weekly emails to
health assessment except assessment «trace» complete health
the welcome screen assessment
«include»
«user story»
Go back to a previous «requirement»
question Save new response when
«trace»
«include» user go back and change
«trace»
their answer
«include»
«include»
«requirement»
List medical conditions «user story» Applies to "blood glucose
alphabetically Skip a question (or a level" and "oxygen
section) saturation"
Dependent on Dependent on
«use»
«derive»
Health Report
user
healthreport
«column»
«column»
/accountDate: VARCHAR
FirstName: VARCHAR BloodTestReport: VARCHAR
+PK_user+FK_Health Report_Relationship Two DietaryReport: VARCHAR
Id: VARCHAR
LastName: VARCHAR DiseaseRiskReport: VARCHAR
(UserID = UserID)
UserEmail: VARCHAR 1 ExcerciseReport: VARCHAR
«FK» MoodReport: VARCHAR
*PK UserID: VARCHAR
1 OrgansReport: VARCHAR
+PK_user
«PK» ReportMessages: VARCHAR
+ PK_user(VARCHAR): void *PK HealthReportID: VARCHAR
1 *FK UserID: VARCHAR
+PK_user 1
(UserID = UserID) «PK»
«FK» + PK_healthreport(VARCHAR): void
+FK_HealthConditions_User 0..1 (UserID = UserID)
«FK»
«FK»
+ FK_Health Report_Relationship Two(VARCHAR): void
healthconditions
«column»
BloodVesselConditions: VARCHAR
+FK_Health Questionnaire_Relationship One
BonesAndJointsConditions: VARCHAR healthquestionnaire
BrainConditions: VARCHAR 1
GenitalConditions: VARCHAR «column»
HeartConditions: VARCHAR BasicInfoQuestions: VARCHAR
KidneyConditions: VARCHAR BloodTestQuestions: VARCHAR
LiverConditions: VARCHAR DietaryHabbitsQuestions: VARCHAR
SkinConditions: VARCHAR ExcerciseQuestions: VARCHAR
ThyroidConditions: VARCHAR FamilyHealthHistory: VARCHAR groceryitems
*PK HealthConditionsID: VARCHAR LifestyleQuestions: VARCHAR
FK UserID: VARCHAR MedicalConditionsQuestions: VARCHAR «column»
MentalHealthQuestions: VARCHAR GroceryCategory: VARCHAR
«PK» *PK HealthQuestionnaireID: VARCHAR GroceryName: VARCHAR
+ PK_healthconditions(VARCHAR): void *FK UserID: VARCHAR GroceryStore: VARCHAR
«FK» Id: INT
+ FK_HealthConditions_User(VARCHAR): void «PK» *PK GroceryItemsID: VARCHAR
+ PK_healthquestionnaire(VARCHAR): void
+PK_healthconditions 1
«FK» «PK»
+ FK_Health Questionnaire_Relationship One(VARCHAR): void + PK_groceryitems(VARCHAR): void
(HealthConditionsID = HealthConditionsID)
+FK_Nutrition ItemsGrocery Items_Grocery Items
«FK»
0..*
(GroceryItemsID = GroceryItemsID)
+FK_NutritionItems_HealthConditions0..*
+PK_groceryitems
nutritionitems «FK»
Figure 10. Organizational overview of an information model for the UML-based sMBSAP.
• Commit User Stories: In this process, the project team commits to delivering the
approved User Stories for a sprint. The committed User Stories are added to the Sprint
Backlog. During the Sprint/Architecture Planning, the Scrum team may add further
details to the PBIs.
• Estimate Backlog Items: In this process, the project team, supported by the System Ar-
chitect, estimates the PBIs and estimates the effort required to develop the functionality
described in each PBI.
3.5. Implement
This third phase is related to the execution of the activities required to develop the
capabilities described by the PBIs to create the product. These processes are summarized below.
• Create Deliverables/Product Increments: In this process, the project team works
on the items in the Sprint Backlog to create sprint deliverables. The project team’s
progress, measured in completed story points, is captured in an Agile development
Software 2023, 2 248
tool. Planned versus actual story points are captured in the tool, in addition to marking
an item as “done” when it is completed. The collected data are plotted on burnup
charts and velocity fluctuation charts to allow the Scrum Master to monitor the project’s
health and make course corrections when needed.
It is important to note that creating deliverables/Product Increments may include
activities such as project management, software engineering, continuous integration
and testing, system configuration management, security, and other aspects. The
sMBSAP is similar to the MBSAP in that the design modeled in the PV is built up in a
prototype and goes through continuous integration and testing to assess its suitability
against the required capabilities that are being addressed.
• Communicate Progress: In this process, the project team members update each other
on their individual progress and any barriers that they may be facing. These up-
dates occur through a short daily 15 min meeting, referred to as a Standup Meeting.
The System Architect participates in these meetings and addresses any issues that the
Product Development Team faces in relation to the system architecture.
• Groom Product Backlog: In this process, the prioritized PBIs are continuously updated
and refined. A backlog grooming meeting is conducted to discuss any changes or
updates to the backlog.
• Update System Architecture: In this process, the system architecture models are
continuously updated and refined based on the progress and feedback from the
project team. The results of the architecture changes or updates are discussed during
the Sprint/Architecture Review.
3.7. Release
This fifth and final phase is about delivering the finally accepted deliverables to the
customer. In addition, the lessons learned from the project are identified and documented.
These processes are summarized below.
• Ship Deliverables and Architecture Models: In this process, approved and accepted
deliverables are handed over to the concerned stakeholders. A formal transition docu-
ment should be drafted and signed by the concerned stakeholders denoting the success-
ful completion of the agreed-upon shippable part of the product.
The architecture models are also handed over to the concerned stakeholders. The
combined artifacts developed for the health tech system are shown in Figure 13.
• Retrospect Project: This is the final step in the project, in which the project team and
stakeholders meet to identify and document the lessons learned for future implemen-
tation. This meeting is called the Project Retrospective meeting (or Retro).
Software 2023, 2 250
4. Discussion
In addition to the main characteristics of Scrum and the MBSAP, the sMBSAP is
also concerned with the engagement of the Product Development Team in customizing the
MBSE tool, using UML-based and non-UML-based models to describe the system, and
leveraging the built-in models (provided in some tools) to get to an initial version of the
model more quickly. Moreover, the Scrum ceremonies are mapped and integrated into the
entire sMBSAP lifecycle with some modifications. The sMBSAP has the same cyclic shape
as Scrum to demonstrate that the development process is iterative. The iterative nature
applies to both the product delivery and the system model construction.
Figure 14 shows a comparison among Scrum, MBSAP, and sMBSAP. The compari-
son reveals that Scrum and MBSAP have similarities, including a focus on collaboration,
iterative and incremental development, and continuous improvement. In addition, both
approaches value customer-centricity, prioritizing delivering a working product to the cus-
tomer, and responding to change. These similarities have been passed down to the sMBSAP.
However, there are also differences among Scrum, MBSAP, and sMBSAP. Scrum prioritizes
working software as the primary measure of progress over system documentation. Scrum
documentation does not follow a formal modeling language. While the MBSAP values a
working product, it places a great emphasis on using models to capture and communicate
system information. The sMBSAP, on the other hand, is a middle point, as it uses both
formal and informal modeling languages to keep system information within the model.
The model can be customized to keep the details of system architecture at a high level
or comprehensive. Additionally, Scrum is primarily focused on software development.
However, the MBSAP is more focused on systems engineering and the creation of high-level
system models. The sMBSAP, on the other hand, is application agnostic and can be applied
to software, defense, or other industries. As for project size, Scrum is primarily used for
small to medium-sized projects. However, the MBSAP is more geared towards medium to
large-sized projects. Finally, the sMBSAP can be customized to fit small to large projects.
Software 2023, 2 251
Stories) or even performing simple simulation tasks for validation and verification was also
beneficial. The key characteristics and benefits of implementing the sMBSAP include the
following:
• The System Architect works closely, not in a silo, with the Product Development Team to
(1) co-customize the MBSE tool at the beginning of the project to align with the needs
of the project and the Product Development Team. The customization exercise is used as
an MBSE infusion opportunity. In an MBSE-driven project, the Product Development
Team is the first customer of the system architecture, and the Maintenance and Op-
erations team is the end user, as they leverage the system architecture in operating
software applications, monitoring system performance, making defect repairs, etc.
The System Architect would need to work closely with different business and technical
stakeholders from the customer organization to ensure that the model perspective and
viewpoints are customized to fit their needs and the organization’s standards.
(2) It is also necessary to engage and educate the Product Development Team about the
basic concepts and processes of the architecture and (3) to empower and support the
Product Development Team Members (owners of core components of the system) to define
discipline-specific MBSE methods. For example, a frontend developer develops a wire-
frame for the “Health report summary” including the screen elements, such as the fol-
lowing: buttons—“View my groceries”; dashboard indicators and messages—“Health
score” and “Summary health report”; navigation sections—“Dietary”, “Lifestyle”,
“Disease risk”, “Organ health”, and “Mental health”; finally, a scroll bar. The System
Architect works closely with the frontend developer to ensure that every screen element
is aligned with and mapped to Requirements or User Stories, as shown in Figure 15.
The System Architect adds the relevant Requirements and User Stories to the wireframe.
Throughout the process, the wireframe is refined and updated to reflect the intended
use of each screen. The outcome of this collaborative effort is a model-based wireframe
(an artifact unique to the sMBSAP).
• Selecting an MBSE tool with (1) built-in methodologies that support the transformation
of current systems engineering practices into model-centric engineering practices and
(2) built-in models that support specific Use Cases would help create a faster first
iteration of the model. This fast turnaround increases the engagement of the Prod-
uct Development Team and contributes to changing the perception that architecture
modeling slows down the development process. For example, some MBSE tools
have built-in Gantt charts, which can automatically display the schedule for sprints,
and built-in and customizable dashboards that can be used to show the progress of
a sprint. Moreover, the Product Owner, Scrum Master, and Team Member roles can
all be supported, needless to say, by the role of the System Architect. Selecting and
customizing the right MBSE tool will provide a cohesive collaboration andRequirement
management platform.
• The sMBSAP enables the System Architect to use Agile terminologies that the Product
Development Team understands. Implementing Agile concepts such as sprints, Product
Backlog, Epics, and User Stories conveys a sense of familiarity to the Product Development
Team, even if these concepts are implemented within the context of an MBSE and
architecture-driven environment.
• The sMBSAP leverages the MBSE tool to combine the UML-based formal description
of the system with non-formal models that fit the needs of the Product Development
Team. Combining formal and non-formal modeling aids in addressing the usability
challenge, as it gives more freedom to the Product Development Team. The value of this
combination is to instill in the Product Development Team the concept of keeping all
artifacts in one model. For example, wireframes are valuable visuals that are widely
used in Agile software development. Integrating the non-UML-based wireframes in
the sMBSAP approach could increase the engagement of the Product Development Team
and the adoption of the sMBSAP.
Software 2023, 2 253
This score means that... «use» «trace» (from User stories (requirements) and
Lifestyle
customized message to 3 types of users (1) healthy (2) use cases)
needs improvements in some areas (3) unhealthy
«user story»
Disease risk 1.3.3 View lifestyle
% of results meeting dietary guidelines
recommendation
Organ health % of results need taking some proactive steps (from User stories
(requirements) and use
cases)
«user story»
Mental health
% of results suggesting the user might be at «use»
1.3.4 View disease risk
risk of developing a medical condition recommendation
Figure 15. Requirements and user stories traced to elements of a wireframe diagram embedded in the
sMBSAP model.
• The architecture effort progresses one sprint at a time. After the System Architect pre-
pares the high-level end-to-end OV of the system, they focus only on the Requirements
and the Structural, Behavioral, and Data perspectives of one sprint at a time. In that
sprint, the OV is further elaborated into an LV, which will be progressively elaborated
in future sprints. This approach could potentially be a step toward addressing the
disconnect between how the system is conceptualized and how it is described, since
the description is progressively elaborated over several weeks or months.
• The Requirements and User Stories will be traced to the various perspectives of the
system model throughout the subsequent iterations or viewpoints. In Use Case
diagrams, Requirements are traced to User Stories that are modeled using a stereotyped
Use Case. Requirements can then be shown on other models to trace the implementation
of Requirements and User Stories (a Requirement or User Story is created once and used
multiple times across the model). This approach simplifies the traceability process and
bypasses the need to develop and maintain a document-based Requirement Traceability
Matrix. Model-based Requirement Traceability could be a meeting ground between those
who devalue Traceability and those who want to align with procurement/reporting
practices.
• The iterative benefits of Agile combined with an integrated model of artifacts, as
proposed in the sMBSAP, could be a practical happy medium between light docu-
mentation enthusiasts and those who value heavy documentation. The centralized
management of artifacts makes the sMBSAP approach suitable for projects that value a
working product and, at the same time, are keen to have more manageable, accessible,
and retrievable documentation via a system architecture model.
On the other hand, there are a few challenges related to the adoption of the sMBSAP.
Some of these challenges include the perception that MBSE is performed by a tool, although
Software 2023, 2 254
several researchers explained that MBSE is more than just a tool [38,43,44]. Selecting an
MBSE tool without a deep understanding of user needs is another challenge that may
impede the adoption of the sMBSAP. Transitioning to a model-based software engineering
approach requires a high level of executive support, which may not be always present.
Finally and most importantly, adopting the sMBSAP requires a considerable investment in
training because of its steep learning curve. Organizations may implement organizational
change management initiatives to facilitate organizational adoption, but such organization-
wide initiatives themselves require investment and management support.
Author Contributions: Conceptualization, M.H., J.M.B. and D.R.H.; methodology, M.H.; software,
M.H.; validation, D.R.H.; formal analysis, M.H.; investigation M.H.; data curation, M.H.; writing—
original draft preparation, M.H.; writing—review and editing, D.R.H.; visualization, M.H. and
D.R.H.; supervision, D.R.H. and J.M.B. All authors have read and agreed to the published version of
the manuscript.
Funding: This research received no external funding.
Data Availability Statement: Sharing research data may be restricted due to intellectual property on
the part of the health tech company whose system development was used to conduct this research.
Acknowledgments: The research described in this publication would not have been possible without
leveraging the system development effort at Hekafy. The lead author would like to acknowledge the
support of the co-founders of Hekafy: Reem Olaby, Mohamed Farid, and Aneesh Panoli.
Conflicts of Interest: The lead author is one of the co-founders of Hekafy Inc.
Abbreviations
The following abbreviations are used in this manuscript:
References
1. Hooshmand, Y.; Adamenko, D.; Kunnen, S.; Köhler, P. An approach for holistic model-based engineering of industrial plants.
In Proceedings of the International Conference on Engineering Design, Vancouver, BC, Canada, 21–25 August 2017; Volume 3,
pp. 101–110.
2. Friedenthal, S.; Moore, A.; Steiner, R. A Practical Guide to SysML: The Systems Modeling Language, 3rd ed.; Morgan Kaufmann:
Burlington, MA, USA, 2015. [CrossRef]
Software 2023, 2 256
3. Basha, N.M.J.; Moiz, S.A.; Rizwanullah, M. Model based software development: Issues & challenges. Int. J. Comput. Sci. Inform.
2013, 3, 84–88. [CrossRef]
4. Call, D.R.; Herber, D.R. Applicability of the diffusion of innovation theory to accelerate model-based systems engineering
adoption. Syst. Eng. 2022, 25, 574–583. [CrossRef]
5. Cao, L.; Ramesh, B. Agile software development: Ad hoc practices or sound principles? IT Prof. 2007, 9, 41–47. [CrossRef]
6. Altahtooh, U.A.; Emsley, M.W. Is a challenged project one of the final outcomes for an IT project? In Proceedings of the Hawaii
International Conference on System Sciences, Waikoloa, HI, USA, 6–9 January 2014; pp. 4296–4304. [CrossRef]
7. Muganda Ochara, N.; Kandiri, J.; Johnson, R. Influence processes of implementation effectiveness in challenged information
technology projects in Africa. Inf. Technol. People 2014, 27, 318–340. [CrossRef]
8. Yeo, K.T. Critical failure factors in information system projects. Int. J. Proj. Manag. 2002, 20, 241–246. [CrossRef]
9. Turner, R. Toward Agile systems engineering processes. Crosstalk J. Def. Softw. Eng. 2007, 20, 11–15.
10. Salehi, V.; Wang, S. Munich Agile MBSE Concept (MAGIC). In Proceedings of the Design Society: International Conference on
Engineering Design, Delft, The Netherlands, 5–8 August 2019; Volume 1, pp. 3701–3710. [CrossRef]
11. Riesener, M.; Doelle, C.; Perau, S.; Lossie, P.; Schuh, G. Methodology for iterative system modeling in Agile product development.
Procedia CIRP 2021, 100, 439–444. [CrossRef]
12. Bott, M.; Mesmer, B. An analysis of theories supporting Agile scrum and the use of scrum in systems engineering. Eng. Manag. J.
2020, 32, 76–85. [CrossRef]
13. Borky, J.M.; Bradley, T.H. Effective Model-Based Systems Engineering; Springer: Berlin/Heidelberg, Germany, 2019. [CrossRef]
14. Douglass, B.P. Agile Model-Based Systems Engineering Cookbook; Packt: Birmingham, UK, 2021.
15. Bouillon, E.; Güldali, B.; Herrmann, A.; Keuler, T.; Moldt, D.; Riebisch, M. Leichtgewichtige Traceability im agilen Entwick-
lungsprozess am Beispiel von Scrum. Softwaretechnik-Trends 2013, 33, 29–30. [CrossRef]
16. Lethbridge, T.; Singer, J.; Forward, A. How software engineers use documentation: The state of the practice. IEEE Softw. 2003,
20, 35–39. [CrossRef]
17. Voigt, S.; Hüttemann, D.; Gohr, A.; Große, M. Agile Documentation Tool Concept. In Developments and Advances in Intelligent
Systems and Applications; Springer: Berlin/Heidelberg, Germany, 2018; pp. 67–79.
18. Ruparelia, N.B. Software development lifecycle models. ACM SIGSOFT Softw. Eng. Notes 2010, 35, 8–13. [CrossRef]
19. Rather, M.A.; Bhatnagar, M.V. A comparative study of software development life cycle models. Int. J. Appl. Innov. Eng. Manag.
2015, 4, 23–29.
20. Tsai, B.Y.; Stobart, S.; Parrington, N.; Thompson, B. Iterative design and testing within the software development life cycle. Softw.
Qual. J. 1997, 6, 295–310. [CrossRef]
21. Kossiakoff, A.; Biemer, S.M.; Seymour, S.J.; Flanigan, D.A. Systems Engineering Principles and Practice; John Wiley & Sons: Hoboken,
NJ, USA, 2020.
22. Dora, S.K.; Dubey, P. Software development life cycle (SDLC) analytical comparison and survey on traditional and Agile
methodology. Natl. Mon. Ref. J. Res. Sci. Technol. 2013, 2, 22–30.
23. Schmidt, C. Agile Software Development Teams; Progress in IS; Springer: Berlin/Heidelberg, Germany, 2015. [CrossRef]
24. Khong, L.; Yu Beng, L.; Yip, T.; Soofun, T. Software development life cycle AGILE vs traditional approaches. In Proceedings of
the International Conference on Information and Network Technology, Chennai, India, 28–29 April 2012; Volume 37, pp. 162–167.
25. Vijayasarathy, L.R.; Turk, D. Agile software development: A survey of early adopters. J. Inf. Technol. Manag. 2008, XIX, 1–8.
26. U.S. Government Accountability Office. Agile Assessment Guide: Best Practices for Agile Adoption and Implementation; Technical
Report GAO-20-590G; U.S. Government Accountability Office: Washington, DC, USA, 2015
27. Anand, R.V.; Dinakaran, M. Issues in scrum Agile development principles and practices in software development. Indian J. Sci.
Technol. 2015, 8, 1–5. [CrossRef]
28. DIGITAL.AI. 16th State of Agile Report. 2022. Available online: https://info.digital.ai/rs/981-LQX-968/images/AR-SA-2022-1
6th-Annual-State-Of-Agile-Report.pdf (accessed on 14 April 2022).
29. Schwaber, K. Agile Project Management with Scrum; Microsoft Press: Unterschleissheim, Germany, 2004.
30. Satpathy, T. A Guide to the Scrum Body of Knowledge (SBOK™ Guide), 3rd ed.; SCRUMstudy: Avondale, AZ, USA, 2016.
31. Akif, R.; Majeed, H. Issues and challenges in scrum implementation. Int. J. Sci. Eng. Res. 2012, 3, 1–4.
32. Buffardi, K.; Robb, C.; Rahn, D. Learning agile with tech startup software engineering projects. In Proceedings of the ACM
Conference on Innovation and Technology in Computer Science Education, Bologna, Italy, 3–5 July 2017; pp. 28–33. [CrossRef]
33. Ghezzi, A.; Cavallo, A. Agile business model innovation in digital entrepreneurship: Lean startup approaches. J. Bus. Res. 2020,
110, 519–537. [CrossRef]
34. Kuchta, D. Combination of the earned value method and the Agile approach—A case study of a production system implementa-
tion. In Intelligent Systems in Production Engineering and Maintenance; Springer: Berlin/Heidelberg, Germany, 2019; pp. 87–96.
[CrossRef]
35. Atlassian. Jira|Issue & Project Tracking Software|Atlassian. 2019. Available online: https://www.atlassian.com/software/jira
(accessed on 14 April 2022).
36. ClickUp™. Available online: https://www.clickup.com.html (accessed on 28 February 2023).
37. Brambilla, M.; Cabot, J.; Wimmer, M. Model-Driven Software Engineering in Practice; Springer: Cham, Switzerland, 2017. [CrossRef]
Software 2023, 2 257
38. Bonnet, S.; Voirin, J.L.; Normand, V.; Exertier, D. Implementing the MBSE cultural change: Organization, coaching andlessons
learned. In Proceedings of the INCOSE International Symposium, Seattle, WA, USA, 13–16 July 2015; Volume 25, pp. 508–523.
[CrossRef]
39. Walden, D.D.; Roedler, G.J.; Forsberg, K. INCOSE systems engineering handbook version 4: Updating the reference for
practitioners. In Proceedings of the INCOSE International Symposium, Seattle, WA, USA, 13–16 July 2015; Volume 25,
pp. 678–686. [CrossRef]
40. Estefan, J.A. Survey of Model-Based Systems Engineering (MBSE) Methodologies; Technical report; INCOSE MBSE Initiative: San
Diego, CA, USA, 2008.
41. Zimmerman, P. A review of model-based systems engineering practices and recommendations for future directions in the
department of defense. In Proceedings of the Systems Engineering in the Washington Metropolitan Area Conference, Chantilly,
VA, USA, 3 April 2014.
42. Wang, L.; Izygon, M.; Okon, S.; Wagner, H.; Garner, L. Effort to accelerate MBSE adoption and usage at JSC. In Proceedings of the
AIAA SPACE, Long Beach, CA, USA, 13–16 September 2016. [CrossRef]
43. Young, K.G. Defense space application of MBSE-closing the culture chasms. In Proceedings of the AIAA SPACE Conference and
Exposition, Pasadena, CA, USA, 31 August–2 September 2015. [CrossRef]
44. Noguchi, R.A. A roadmap for advancing the state of the practice of model based systems engineering for government acquisition.
In Proceedings of the INCOSE International Symposium, Orlando, FL, USA, 20–25 July 2019; Volume 29, pp. 678–690. [CrossRef]
45. Kim, S.Y.; Wagner, D.; Jimenez, A. Challenges in applying model-based systems engineering: Human-centered design perspective.
In Proceedings of the INCOSE Human-Systems Integration Conference, Biarritz, France, 11–13 September 2019.
46. Hadar, I.; Sherman, S.; Hadar, E.; Harrison, J.J. Less is more: Architecture documentation for agile development. In Proceedings
of the International Workshop on Cooperative and Human Aspects of Software Engineering, San Francisco, CA, USA, 25 May
2013; pp. 121–124. [CrossRef]
47. Manifesto for Agile Software Development. Available online: http://agilemanifesto.org (accessed on 27 March 2023).
48. Stettina, C.J.; Heijstek, W. Necessary and neglected? An empirical study of internal documentation in agile software development
teams. In Proceedings of the ACM International Conference on Design of Communication, Pisa, Italy, 3–5 October 2011;
pp. 159–166. [CrossRef]
49. Pasuksmit, J.; Thongtanunam, P.; Karunasekera, S. Towards just-enough documentation for agile effort estimation: What
information should be documented? In Proceedings of the IEEE International Conference on Software Maintenance and
Evolution, Luxembourg, 27 September–1 October 2021; pp. 114–125. [CrossRef]
50. Prause, C.R.; Durdik, Z. Architectural design and documentation: Waste in agile development? In Proceedings of the International
Conference on Software and System Process, Zurich, Switzerland, 2–3 June 2012; pp. 130–134. [CrossRef]
51. Rubin, E.; Rubin, H. Supporting agile software development through active documentation. Requir. Eng. 2011, 16, 117–132.
[CrossRef]
52. Selic, B. Agile documentation, anyone? IEEE Softw. 2009, 26, 11–12. [CrossRef]
53. Slack. Available online: https://slack.com (accessed on 28 February 2023).
54. Sparx Systems. Enterprise Architect 15.2 User Guide. Available online: https://sparxsystems.com/enterprise_architect_user_
guide/15.2/ (accessed on 28 February 2023).
55. Lattanze, A.J. Architecting Software Intensive Systems: A Practitioners Guide; Auerbach Publications: Boca Raton, FL, USA, 2008.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.