Next Article in Journal
First-Time Meniscal Surgeries Reveal Age-Linked Rise in Medial Tears and Sex-Based Injury Difference
Previous Article in Journal
Energy Efficiency and Environmental Sustainability in Rural Buildings: A Life Cycle Assessment of Photovoltaic Integration in Poultry Tunnels—A Case Study in Central Italy
Previous Article in Special Issue
Smartwatch-Based Monitoring and Alert System for Factory Operators Using Public Cloud Services
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

BPriS: Disciplined Agile Delivery Planning Method Based on Work Items List Pattern Applied to Prioritized Semantically Coupled Software Functions Derived from Business Process Model and Software Functional Pattern

by
Ljubica Kazi
* and
Zoltan Kazi
Department of Information Technologies, Technical Faculty “Mihajlo Pupin”, University of Novi Sad, 23000 Zrenjanin, Serbia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(9), 5091; https://doi.org/10.3390/app15095091
Submission received: 25 March 2025 / Revised: 19 April 2025 / Accepted: 29 April 2025 / Published: 3 May 2025
(This article belongs to the Special Issue Advances in Digital Information System)

Abstract

:
Common practice in agile delivery planning is based on user requirements-related artifacts. However, an aspect of business process alignment to software product functions comes into focus in the phase of inception of enterprise-aware disciplined agile software projects. This research proposes a method for mapping business process model elements to sets of semantically coupled and prioritized software functions to obtain ordered software product backlog, i.e., work items list. These software functions are derived from primitive business processes and software functional patterns. The mapping table enables assignment of primitive business processes to categorized software functions. Derived and prioritized software functions are related to a work item list pattern according to selected technology implementation. This way, a prioritized work items list is formulated, which enables development iteration planning. This method could be useful in software functional design alternatives comparison, change management, multi-project integration of software modules to support business processes in information systems, etc. Feasibility of the proposed method has been demonstrated with a case study, related to the development of a billing and reporting software utilized in a private hospital. This case study shows usability of the proposed method in the case of two related development projects that enable software functionality enhancement.

1. Introduction

Agile software projects (ASFs) are conducted with an iterative and incremental approach [1], based on project scope definition [2] and project planning. According to Kula et al. [3], the most important factors that influence on-time delivery in large-scale agile software development are requirements refinement, task dependencies and organizational alignment. Bisikirskiene et al. [2] propose using multiple models and other forms in requirements elicitation to enable more precise formulation of the agile software development project scope—user stories, UML (Unified Modeling Language) use case diagram, UML activity model, domain class model, requirements list and SysML requirements.
Process-aware information systems (IS) are created to support, control or monitor business processes. Fitzgerald and Stol [4] propose a close relationship between business needs and continuous software engineering with the BizDev approach. The importance of business process modeling as an essence for software design within enterprise information systems has been particularly emphasized for data flow representation in the work of Aleryani [5]. Trkman et al. [6] introduce the BuPUS method that utilizes business process models in understanding relationships between user stories [6]. Agile software requirements prioritization includes estimation of the business value for each preliminary requirement, before the prioritization process with other relevant factors [7]. The Disciplined Agile Delivery (DAD) [8] framework includes enterprise awareness as one of the basic principles.
The business process model could be a basis for the definition of a software product scope and delivery planning, especially in enterprise-aware/process-aware information systems development. Previous research results did not provide a straightforward method to be conducted from business process models to work items list (WIL) for software development. This research contributes with a method that integrates business process models, software functional patterns (SFP) and work items list patterns (WILP) to support enterprise-aware software design and development planning within Disciplined Agile Delivery methodology. The key contributions of this research are related to the following:
  • The concept of Disciplined Agile Functional Ordered Work Items List (DA-FOWIL)—includes an ordered work items list, based on software functions (SF) (derived from business processes and software functional patterns) and work items list patterns. The created DA-FOWIL work items list could be used in iterations planning of DA-based software development;
  • The method BPriS (Disciplined Agile Delivery Planning Method Based on Work Items List Pattern Applied to Prioritized Semantically Coupled Software Functions Derived from Business Process Model and Software Functional Patterns)—for the creation of DA-FOWIL, based on business process model mapping to software functions, software development prioritization, semantic coupling of software functions, technology-dependent software functional patterns and work items list patterns.
The rest of this work is organized as follows: Section 2 provides a brief explanation of basic terms related to Disciplined Agile Delivery and business process modeling; Section 3 provides short literature review regarding business process mapping to software design, software semantic coupling, software functional patterns, agile software development planning and automation and agile software release planning and prioritization; Section 4 describes the proposed method; Section 5 illustrates the results of proposed method utilization applied in accounting software development in a private general hospital; Section 6 summarizes method feasibility and limitations; and Section 7 bring conclusions and future work directions.

2. Background

2.1. Disciplined Agile Delivery Approach

Disciplined Agile (DA) [9] is a strategic approach that enables using different agile methods in organization of any kind of work, to enable best fit and support improvements to Way of Working (WoW).
Disciplined Agile Delivery (DAD) [8] is a process decision framework with key characteristics: people first, goal-driven, hybrid agile, learning-oriented, full delivery lifecycle, solution-focused, risk-value lifecycle, enterprise aware. Disciplined Agile Delivery is closely related to IT solutions development and project management, with related activities in Portfolio Management, Program Management, Product Management and Release Management [9].
One of the frequently utilized agile methods with an appropriate lifecycle is Scrum-based DA methodology (DA Scrum) [10]. Agile Alliance defines Scrum (AA Scrum) as a process framework that could be used to manage product development [11]. Scrum-based DA (DA Scrum) keeps the same concepts, but it names it differently—instead of “product backlog” in AA Scrum [12], there is “work items list” in DA Scrum [10], and “sprint” in AA Scrum is named “iteration” in DA Scrum, while “sprint backlog” from AA Scrum is named “iteration backlog” in DA Scrum. The DA Scrum lifecycle is presented in Figure 1 with a business process model, visualized according to [10].
According to [13], product backlog is a list of activities (i.e., work items) related to new features, bug fixes or infrastructure changes that a team should perform to achieve a specific outcome—it is a single source of what teams works on, and it usually consists of work items in the format of user stories. According to [14], “requirements (product) backlog” is an ordered list of requirements that needs to be addressed, where top listed items should be considered with greater detail than lower-priority requirements at the bottom of the list. In earlier versions of Scrum, product backlog was a prioritized list of functional/usage requirements, often captured as user stories [14].

2.2. Business Process Modeling

Enterprise information systems consist of both software and hardware structures [15] that provide support to all business processes continuously [16]. There are two essential aspects within development of software for information systems—functionality and data [17]. There could be different software and hardware architectures proposed, but they should be evaluated in the business process context and business value for the company [18], via IT governance methods and tools [19], but also regarding stakeholders’ functional and non-functional requirements [15]. Business process mapping is used in information systems development, where it is relevant to keep the proper alignment between organizational business activities and events [20,21,22] supported by information systems elements [23]. Moreover, business process management (BPM) [24] is often closely related to utilization of information technologies in digital transformation of enterprises [25].
Enterprise business process modeling [26] is the most important element in the design of Enterprise Resource Planning (ERP) systems [27,28]. Business process mapping is considered as a technique for constructing a business process model [29], which shows relationships between activities, people, data and objects involved in the production of a specific output. Business process models are created in the process of business process mapping to represent the key activities in the organization, their connections with working environment and mutual collaboration, with respect to work roles assignments and responsibilities. Business process mapping has been used as a term to address presentation of enterprise organization and business processes in business process models [30], aiming to gain a better understanding of the organization [30] and management improvements [31]. According to [32], business processes in an enterprise can be categorized as management process, operational process and the supportive process. Operational processes enable implementation of the system’s purpose; supportive processes provide resources, while managerial processes define business rules and perform monitoring and regulation of other processes.
The essential elements of any business process model are activities/processes. Van Der Aalst et al. [33] introduce the term workflow schemas (workflow process definitions) as used to specify which activities need to be executed and in what order (i.e., the routing or control flow). Elementary activities (atomic) are connected with transitions, and they are performed by roles in organization, such as humans or devices, executed manually or by using applications. Russell et al. [11] define workflow model as a description of business process with sufficient detail to enable execution by workflow management system.
There are many techniques, process languages, notations and standards for modeling enterprise processes [27], such as Data Flow Diagrams (DFD) (Yourdon & Constantine [34], DeMarco [35], Gane & Sarson [36]), Integration Definition for function Modeling (IDEF0), Business Process Model and Notation (BPMN) [37], UML activity diagrams, Petri nets [38] and others [39]. Dijkman et al. [40] made a comparison and detailed presentation of different business process models. Figure 2a presents the abstract DFD, based on the Yourdon–DeMarco notation, with hierarchical organization, starting with the first, a context diagram and only one process, followed by series of other diagrams, representing the decomposition of processes and more details of their internal communication and data storage. Processes can be represented at diverse levels of complexity or as primitive processes, which are the smallest processing units, and they could not be further decomposed. Other types of business processes representation, i.e., business process diagrams, include internal organization of processes and data storages responsibilities by categorizing them under organizational units’ swim lanes. Figure 2b illustrates a business process diagram (similar to BPMN) with chronological organization of primitive business processes (PBP) and data stores (resources) in organizational swim-lanes, emphasizing the time-related mutual dependency of processes and the responsibility of organizational units. Figure 2a is an example of hierarchical decomposition of business processes and gradual inclusion of details, while Figure 2b is an example of algorithmic approach to business process model representation, where all business processes are presented.

3. Related Work

This paper focuses on several main areas of interest, which were also addressed in previous research: (1) business process mapping to software design, (2) software semantic coupling, (3) software functional patterns, (4) agile software development planning and automation and (5) agile software release planning and prioritization; (6) workflow patterns and software development work items list patterns.

3.1. Business Process Mapping to Software Design

Habba et al. [41] systematically analyze the relationship between business requirements, processes and software systems that support them. Roseman et al. [42] consider business process model from goals, context, structure and information technology application aspects. Recently, the use of IT solutions to support business processes is monitored by using process mining tools and algorithms [20].
To enable automation, business process models are transformed to particular BPm notations, such as XPDL [43], event-driven process chains [31], derivation of IDEF0 to BPEL4WS [44], communicative event diagram to state machines [45] and BPEL to BPMN [46].
To support appropriate software design and development, business process models are transformed into other types of models, such as data models [47], class diagrams [48] and use cases [49]. Business process models could be the basis for software user interface [50] or user interface flow model derivation [51]. BPM can be used in combination with other types of models (use cases) to enable software development and workflow automation [52]. Aleryani [5] compare Data Flow Diagrams (DFD) and UML use case diagrams to represent data flow within information systems development.
Aysolmaz and Demirörs [53] proposed a method for deriving user requirements for processes automation from BPM. Similarly, a business process model could be derived from early requirements analysis and created to adjust to information technology support, such as service-oriented software implementation [54]. Further efforts were made towards automated derivation of software services and web services from business process model repositories [55] with the use of semantic technology [56,57], such as in the case of Fundamental Business Process Modeling Language (FBPML) mapping to the Web Services Ontology (OWL-S) [58]. Since there are different BPM notations, a meta-model has been developed in [59], to represent a basis for derivation of web services that support grid-based service-oriented architectures.
Business process and activities mapping to software solutions could be considered at the architecture level [60], with business domain aligned to software components [61,62]. Dalal et al. [27] propose a framework for mapping enterprise process models into ERP software system layers: (1) Front-end layer (user-oriented graphical representation), (2) Back-end layer (formal representation of business processes automation support, with Petri nets). Trends in business process mapping to software design could be presented as directions toward mapping business architecture to a component-based software architecture [63] and service-oriented computing with web services [64]. Orchestration and choreography could be utilized by using Business Process Execution Language for Web Services (BPEL4WS) [65].
Dalal et al. [27] consider aspects of process improvements with business process reengineering [66] and technology advancements. Having business processes variability [67] considered, Roseman et al. [42] explore business process flexibility and context awareness. Cognini et al. [68] elaborate business process flexibility in the context of software systems perspective, while Jarzabek and Hitz [61] consider business processes evolution impact to component-based software development. Changes in business processes are particularly frequent in the business rules domain, so relating the evolving business rules to software design to keep the software useful has been addressed in [69].
Contemporary solutions in relating business processes to software functions are directed towards moving from Business Process Models to Process-oriented software systems [70] and from Process Modeling to Workflow Automation Infrastructure [71]. BPMN models are not considered as semantically rich enough, so Semantic Object Model (SOM) modeling is proposed to be used to present workflow for automation [72]. Recent research relates BPM with the developed software, source code [73] or executable solutions (example of service-based software [74]).

3.2. Software Semantic Coupling

Cohesion and coupling are two structural characteristics of a software solution that could be related to different software elements. Coupling could be determined at feature level [75], where each software feature implementation usually includes multiple classes, but mostly it is related to classes, organized in modules in object-oriented programming [76]. Ideally, there should be strong internal connections (cohesion) and weak external dependency (coupling) between classes in the same module—the opposite would lead to difficulties in maintenance [76].
Structural and semantic (text-based) aspects of coupling have been examined, and measurement approach and metrics were proposed in [76]. Bavota et al. [77] define several categories of coupling: structural, dynamic, semantic, and logical coupling among classes, where semantic coupling is detected as being part of source code vocabulary. Fregnan et al. [78] conducted systematic literature review where most frequently used categories of software coupling are extracted as: (a) structural coupling (relations in source code with code static inspection if called methods, inheritance and accessed variables); (b) dynamic coupling (determining relations between classes and methods in run-time); (c) semantic coupling (relations in source code based on code lexicon); (d) logical coupling (determined from entities that frequently changed together).
Some other terms related to coupling detection and measurements were proposed, such as from Poshyvanyk and Marcus [79] and Revelle et al. [75]. Poshyvanyk and Marcus [79] propose the term conceptual coupling, which could be determined from semantic information in source code comments and identifiers. Revelle et al. [75] propose feature coupling and appropriate metrics based on both structural (source code dependencies) and unstructured/semantics (comments, documentation, identifiers) parts of software.
Semantic coupling among classes in object-oriented software is usually based on extraction of words from classes, where classes are treated as documents and all non-keywords (identifiers, i.e., names of classes, methods, attributes, and comments) are considered to be placed in the software corpus (set of words for semantic processing) [80]. To process semantic coupling measurements, words are taken from software zones [76]: Java Doc documenting results, comments, member variables (attributes and properties) and (methods) signature zone. Semantic coupling (lexical similarity) between pairs of classes in object-oriented software was determined in a proposed algorithm for determining Semantic Coupling Matrix, based on extraction, tokenization (replacing words with tokens) and normalization of obtained results. Gethers and Poshyvanyk [81] propose an approach of treating similar words in a source code from different classes (treated as documents) as they belong to particular topic (set of concepts). They propose an approach for the utilization of Relational Topics Models in conceptual coupling measurements.
Coupling and cohesion in object-oriented systems has been addressed from measurement aspect and definition of appropriate metrics [82]. Metrics for combined structural and semantic coupling in object-oriented software has been proposed by Alenezi and Magel [83]. Conceptual coupling and cohesion were examined empirically by Újházi et al. [84], with prediction of possible errors in classes of large software systems. Not only classes, but also web services can be evaluated from the aspect of semantic relationships and coupling and this was examined in [85], based on utilization of Latent Semantic Index (LSI)—a well-known technique for measurement of semantic relationship between text-based documents.

3.3. Software Functional Patterns

Riehle and Züllighoven [86] define the concept of a pattern as an abstract form that keeps repeated in specific contexts—it consists of distinguishable components and their relations; it is used to create, identify or compare instances of this pattern. In [86], authors relate the term pattern to models and different variations in software development—conceptual patterns, design patterns and programming patterns. Usually, Unified Modeling Language (UML) is used to present software patterns [87]. Costa Seco et al. [88] propose rich template language OSTRICH that was designed to simplify creation of reusable software components. In [88], authors propose software template composition mechanism, based on templates nesting that promotes code reuse.
Software patterns are commonly related to design and organization of classes in object-oriented programming, and they are utilized as conventional guidelines during typical object-oriented software development [89]. Al-Obeidallah et al. [90] conducted a survey, in aim to systematize design pattern detection approaches and tools.
Software structural design patterns [91] could be automatically detected and measured, by mapping object-oriented code to the essential representation by using abstract object language (AOL), based on UML class diagram. This detection of software patterns (also named design recovery [92]) could be useful in code understanding, design-to-code traceability and quality assessment. Nguyen et al. [93] propose implementing graph-based mining of multiple object usage patterns, which could be useful to assist developers in programming, detecting usage anomalies and code smells. Software design patterns are extensible and used in software frameworks [94]. Very often, utilization of frameworks is hard due to lack of proper documentation, but sample-based extraction of concept-implementation templates (that use framework parts in implementation) was proposed in [95], as a means to speed up using existing classes from framework.
The use of business process models reached the maturity level, so they are analyzed from the aspect of business process models repositories and patterns [96]. Barros [97,98] propose encapsulating business knowledge and logic in high level business objects, which could be reused in different software projects, by inheritance, adding specific features and configuration. This way, based on business process patterns, Barros proposes creating business process frameworks that will enable reusable components to develop complex software solutions. Smirnov et al. [96] proposes the concept of action patterns as subset of activities within business processes that often appear together and could be assigned to business objects as software implementation. Action patterns could be related to different business domains.
Röder [99] proposes specifying usability features (commonly used software functions) as patterns and templates, to be collected in a catalog of use-case based specifications. These specifications are extended with additional explanation in which situations and how these software features can be integrated in larger systems. Software functional patterns are used to support development of different types of software (communication software [100]), particular software development approaches (parallel computing [101]) or software modules (security [102], user interface [103]). Software functional patterns are also used in creating software product lines, to preserve behavior of existing software products [104,105].

3.4. Agile Software Development Planning and Automation

Agile software development, in the context of iterative/incremental approach, induces the need for continuous planning [106], delivery and integration (CD/CI) activities [107]. Suomalainen et al. [106] emphasize that main elements of continuous planning in agile and lean development are organizational, strategic and business planning. Particularly for software development, integration of product data management (PDM), software configuration management (SCM), and customer relationship management (CRM) play an important role, especially for ERP software development [108].
There are several important aspects of software delivery planning, in relation to broader categories of software development planning, i.e., software project management—development scheduling [109,110], requirements elicitation and refinement [3], organizational support [107,111] and risk analysis in evolutionary requirements engineering and software delivery [112]. To enable continuous software delivery, the development process should be appropriately selected [113], the software architecture should be adjusted [114,115] and domain experts integrated in the software delivery pipeline [116]. Communication and coordination of client and vendor representatives [117] influence software development performance [110]. Neely and Stolt [113] emphasized the impact of the appropriate selection of software development process model (such as Scrum, Kanban, etc.) to the continuous delivery performance and described experiences in shifting from Scrum-based sprints to a continuous delivery approach.
The quality aspect of software delivery has been addressed in [118], with particular emphasis on using artificial intelligence tools to predict and improve software reliability and product quality. One of very important aspects that influence software delivery quality is related to organizational maturity, which is often assessed according to Capability Maturity Model (CMM) and Goal Question Metrics (GQM) approach, which enables setting of appropriate Key Process Metrics [119]. Different software metrics could be defined and appropriate data obtained from the agile software development process (such as from log files, to monitor or predict the process outcome, i.e., product quality [120].
Experiences from continuous software delivery practice have been presented with a case study of a large financial organization [115], where automation support to frequent requirements changes brings product releases with early discovery of errors, reduced cycle time, better adoption of coding standards and guidelines, but also better management of technical debts. Ska and Janani [107] conducted a comprehensive overview of continuous delivery and integration in the context of frequent changes in software development, with emphasis on automation of software development, version control and release processes, within the DevOps practice [121]. Steffens at al. [122] contribute with the proposed enhanced automated system for continuous software delivery support, improving flexibility and maintainability.

3.5. Agile Software Release Planning and Prioritization

Software release management approaches, methods and tools have evolved [123] from ad hoc to incremental, agile and continuous DevOps-based methods. Software release management is closely related to software requirements engineering (elicitation and prioritization) [7] as well as task/work items prioritization.
The software requirements elicitation and prioritization [124] are relevant activities that impact overall software quality [125]. Requirements could be obtained at the beginning of the software project [122], or periodically during the software project [126]; Sadiq and Shahid [124] analyze and evaluate different software requirements elicitation methods such as methods based on JAD (Joint Application Development), AHP (Analytical Hierarchy Process) and ontology framework.
Methods for prioritization of software requirements are related to dynamically conducted decisions regarding selection of requirements that should be considered to be addressed in the next release [126]. Asghar et al. [125] presented a short overview of existing techniques in software requirements prioritization: Case-based ranking (combining stakeholders’ preferences and machine learning results), Hierarchical Cumulative Voting (HCV) and Fuzzy Expert System, TOPSIS, Cost of Delay, Simple Additive Weighting or Weigers’ prioritization, etc. Software requirements could have diversity technology constraints, mutual dependency and conflicts, so Greer and Ruhe [126] propose a method, based on genetic algorithm utilization, to enable optimization in requirements management for release planning.
Prioritization of software requirements attracted special attention in agile software development. Racheva et al. [127] presented existing approaches in agile projects: round-the-group prioritization, multi-voting system, MoSCoW, pair-wise analysis, weighted criteria analysis, analytic hierarchy process AHP, dot voting, binary search tree, ranking based on product definition, planning game, quality functional deployment, Wieger’s matrix approach, mathematical programming techniques for release planning. Racheva et al. [127] also proposed a conceptual model for dynamic reprioritization of requirements, with key phases: (1) adding business value to items in features list, having knowledge and experience and work breakdown structure factors considered, (2) prioritization process having factors: project constraints, size measurement and effort estimation considered. Alkandari and Al-Shammeri [7] propose an integration of existing methods and requirement prioritization factors, aiming to support requirements evaluation in different aspects and models of agile software development process. The authors provided a categorization of existing methods: ordinal scale, ratio scale (AHP—Analytical Hierarchy Process AHP, absolute scale (Weigner’s method, VOP). They propose the following phases: (1) adding business value to requirements in the project backlog, (2) making prioritized project backlog based on requirements prioritization process and finally, (3) creating sprint backlog for each sprint. In these phases, they propose business value estimation (based on cost estimation, external change, importance), requirements prioritization (based on size/effect estimation), risk estimation (based on volatility, learning experience) and iteration planning requirements estimations (based on dependencies and project/iteration constraints).
Software requirements prioritization in industrial practice gained significant research focus, particularly regarding methods and criteria. Bakalova et al. [128] compared requirements prioritization methods from literature and industrial practice and proposed a conceptual model for agile prioritization process, where requirements value is estimated based on criteria and further prioritized in the project backlog. Daneva et al. [129] analyze agile requirements prioritization in large-scale outsourced system projects and draw conclusions that most used software requirements prioritization criteria are related to their dependencies, volatility, risk, effort and technical debt. Jarzębowicz and Sitko [130] presented results from an industrial survey about agile requirements prioritization in practice. According to [130], key aspects of requirements that were considered in prioritization are as follows: business value for customer, complexity and difficulty, interdependencies, stability and other, while most used prioritization techniques are as follows: MoSCoW, Numerical scale, Kano model, Timeboxing and budgeting and others. Borhan et al. [131] conducted an industrial survey with similar results—key criteria for software requirements prioritization were as follows: business value to customer, and complexity, while prioritization methods used in industrial environment are as follows: cost-value ranking, MoSCoW, Cumulative voting, Kano model and others.
Task prioritization in software development has been addressed in the work of Bugayenko et al. [132] with the systematic review analysis. The findings show that bugs-related and issues-related tasks, as well as “pull-request” tasks, gain more priority in software development, compared to other tasks. In Scrum-based agile projects, tasks are organized as work items of a product backlog [133,134]. Work items continually change [13] by adding/removing and order rearrangements, as the team obtains new and more precise requirements. Items from the top of the product backlog are selected to be processed [133]. Work items in a Product Backlog are prioritized according to different criteria. Bugayenko et al. [135] proposed an iterative approach based on the whole backlog with all items, to utilize Particle Swarm optimization to determine an optimization model for tasks prioritization and priority prediction in the backlog. Silva et al. [136] conducted a systematic review related to research in product backlog ordering approaches—the main results indicate the most important factors that are included in the work items prioritization: effort (measured with use case points and COSMIC function points), dependency (between user stories, between business processes and user stories with BuPUS method [6], precedence relationships, exclusion, etc.), business value (weights obtained from client) and risk. Automation in prioritizing tasks in software development could be beneficial [135], especially in the evaluation of work items based on complex calculations, collaboration and communication [126], as well as priority prediction [135].

3.6. Workflow Patterns and Software Development Work Items List Patterns

Workflow patterns are defined by Van Der Aalst et al. [33] as context-related business process workflow structures, proposed to represent certain business scenarios, which support business requirements elicitation by using workflow modeling languages or automation with workflow management systems. Van Der Aalst et al. [33] represent workflow patterns of different complexity and categorize them as basic control flow patterns (sequence, parallel split, synchronization, exclusive choice, simple merge), advanced branching and synchronization patterns (multi-choice, synchronizing merge, multi-merge, discriminator), structural patterns (arbitrary cycles, implicit termination), patterns involving multiple instances, state-based patterns (deferred choice, interleaved parallel routing, milestone), cancellation patterns (cancel activity, cancel case). Van Der Aalst et al. [33] also compared workflow management systems regarding support to previously presented control flow-based workflow patterns. Russell et al. [11] propose workflow resource patterns, considering resources as a human or non-human entity capable of performing work. These patterns are related to approaches to work items associated with specific resources for execution, and they are categorized as creation patterns (direct allocation, role-based allocation, deferred allocation, authorization, separation of duties, case handling, history-based allocation, capability-based allocation, organizational allocation, automatic execution), push patterns (distribution by offer, distribution by allocation, random allocation, round robin, shortest queue, early/late distribution), pull patterns (resource-initiated execution, system-determined work queue content, resource-determined work queue content), detour patterns, delegation, escalation, deallocation, suspension/resumption, skip, redo), auto-start patterns, visibility patterns, multiple resource patterns (simultaneous execution).
Work items in processes have been analyzed from the aspect of performance. Yingbo et al. [137] applied data mining to improve work parallelism detection, based on event logs, which can be used in workflow schedulers. Awad et al. [138] used process logs to detect and reorganize multi tasks for the same resource, based on two typical human work patterns—queuing and stacking. Ko et al. [139] propose a method to extract contract change reasons and altered work items by using natural language processing.
Speed and communication are particularly addressed in having work items handled in globally distributed software development, with a special focus on factors affecting delays [140]. Salaou et al. [141] consider software developer conversations/discussions during agile software development as a source to derive work patterns that indicate the reasons for delay of the project. Treude and Storey [142] propose tagging as a technique to categorize and organize work items—they enable finding tasks, articulation of work and information exchange in team-based software development. Mukherjee and Garg [143] addressed work items in collaborative software development, particularly regarding their update notifications. This is particularly important for software development professionals, since they are often engaged in multiple software projects. Using a machine learning-based approach is proposed in [143] to predict notifications from users that send work item updates and the needed action from the recipient.
A software development workflow model and project planning can be derived from the history of work items in past projects. Mockus [144] proposed a web-based prediction tool that enables project managers to select relevant past projects and adjust prediction of workflow items based on parameters (type of project, staffing, schedule) that represent the ongoing project. Perez-Rosero et al. [145] addressed software maintenance tasks, linking commits related to bug inducing and fixing into a single work item. Lämmel et al. [146] propose a work item prediction approach based on mining software development repositories, process mining and machine learning.
Work items lists were considered from the perspective of sorting (organizing) [147] or reordering [148]. Pichler and Edre [147] focused on strategies related to the organization (sorting) of work items into work lists assigned to different actors, aiming to improve key performance indicators regarding business process execution. The recommendation system is developed to compute suggestions on which work item should be selected in the next execution, and this system is based on structural, organizational, empirical and current workload information. Pflug and Rinderle-Ma [148] analyze how the reordering of work items in different general workflow patterns (not particularly related to software development) influence temporal performance and other performance parameters.

4. Materials and Methods

4.1. The Proposed Method

This research contributes with the method that enables, at the same time, business-oriented software functional design and enterprise-aware Disciplined Agile Delivery planning.
Overall input and output to the proposed method is presented in Figure 3. Input to the proposed method, BPriS, consists of the business process model (BPM), project scope (PS) definition, project implementation technology selection (PI), technology-dependent software functional patterns (SFP) and technology-dependent work items list patterns (WILP). The output is the work items list (WIL), having work items based on prioritized software functions. This type of method output is named Disciplined Agile Functional Ordered Work Items List (DA-FOWIL).
The essential idea of the proposed method is to map each primitive business process into set of software functions (according to a selected software functional pattern) and each software function is to be implemented by the set of work items (according to the selected work item list pattern). This way, the relationship between business processes to work items in the development of software that supports these business processes could be specified numerically as 1: M (many). The essential elements and results of the proposed BPriS method are presented in Figure 4. From this figure, it is obvious that the BPriS method proposes that for each (1) primitive business process from the business process model, there could be many (M) software functions to support it, and each software function could be implemented with many (M) work items.
The proposed BPriS method is performed with phases as presented in Figure 5. Figure 5 chronologically presents activities as steps to be followed in order to conduct the method. Each method step requires some input and produces output. These data are presented as being stored in data stores. Data stores have stereotypes to highlight the category—project (specific data related to particular project), pattern (abstract schema to be applied upon any project data) and method result (BPriS method artifact that contains results of the method application).
Application of the BPriS method is conducted by following the steps in phases:
  • Phase 1—Obtaining an ordered list of primitive business processes from a business process model based on a project scope. Fageha and Aibinu [149] highlighted that the proper scope boundaries should be set with stakeholders’ participation in the definition of future product elements.
  • Phase 2—Assigning each primitive business process to the set of semantically coupled software functions based on a selected software functional pattern;
  • Phase 3—Categorization and relating assigned software functions between business processes in the mapping table;
  • Phase 4—Creating and ordering of a work items list based on an ordered software functions list and selected work items list pattern.
Activities within BPriS method phases will be described in the following text.

4.2. Obtaining Ordered List of Primitive Business Processes from Business Process Model Based on Project Scope

To obtain the appropriate primitive business processes ordered list, several activities should be conducted:
  • Initial categorization of enterprise business processes could be performed at the global level, according to Rajarathinam et al. [32] as management process, operational process and the supportive process. Figure 6 presents an abstract business process model with categorization of business processes according to [32], with addition of having both “core business” term proposed in this manuscript as synonym to “operational” business processes. This way, categorization from [32] was enhanced and visualized at Figure 6.
2.
Business processes segmentation, according to the project scope—some business process models are widely set to enable broader process context understanding. Usually, not all business processes will be automated, i.e., supported by software functions within the project scope. In such cases, there should be business processes segmentation conducted, where primitive business processes that are out of project scope should be eliminated from further processing in this method. (Figure 7).
3.
Selection of primitive processes within the project scope and their chronological ordering—extracted primitive business processes from previous phase should be ordered in a list, following a chronological order at the business process model, which follows the order of these processes in real organization.
Abstract example: according to Figure 7 (Business process model segmentation according to the project scope), the ordered list of primitive business processes is as follows:
  • Process_1_1
  • Process_2_1
  • Process_2_2
  • Process_2_3
  • Process_2_4

4.3. Assigning Each Primitive Business Process to the Set of Semantically Coupled Software Functions Based on the Selected Software Functional Pattern

To create set of software functions assigned to primitive business processes, activities should be conducted:
  • Selection of a software functional pattern, according to previously chosen technology for software implementation in the project. Software functional patterns consist of sets of abstract software functions mutually related for their functional purposes. This close relation between software functions enables their semantic coupling. Figure 8 presents an example of a software functional pattern, illustrated with an abstract UML use case diagram [150].
  • Each primitive process from the list created in a previous phase is categorized as “input”, “processing” or “output” dominant.
Abstract example: according to previously presented abstract business process model in Figure 7, Process_1_1 and Process_3_1 could be categorized as “input”, Process_2_1, Process_2_2, Process_2_3 as “processing” and Process_2_4 as “output”.
3.
According to the classification (“input”, “output”, “processing”), items from the software functional pattern are attached to this primitive business process, to represent the software support. This way, the first type of semantic coupling between software functions is applied—mutual close interaction of software functions from the software functional pattern is transferred to the set of software functions that support each primitive business process.
Abstract example: for the abstract example of the business process model from Figure 7 and software functional pattern from Figure 8, Process_1_1 and Process_3_1 will have assigned “Data input” and other closely related software functions (upload, print record), Process_2_4 to set of data presentation software functions, while the others are assigned to “Data processing” and “additional print report” software functions.
Figure 8. UML use case diagram of an example of abstract software functional pattern.
Figure 8. UML use case diagram of an example of abstract software functional pattern.
Applsci 15 05091 g008

4.4. Categorization and Relating Assigned Software Functions Between Business Processes in the Mapping Table

Each primitive business process and the corresponding set of assigned software functions are placed in the mapping table (Table 1). One primitive business process is placed in one row in that table with all assigned software functions that support that business process.
Within placing primitive business processes and assigned set of software functions, there are two activities conducted:
  • Categorization of software functions in one row—derived software functions belonging to one primitive business process-assigned set are organized in three categories: “precondition” (enables “first priority”), “first priority” (“need to have”), “second priority” (“nice to have”). In Figure 8, the “extend” stereotype represents the relationship between first priority functions (that are directly accessible by the user/actor at UML diagram) and “second” priority functions that extend the basic functionality. This categorization of first/second/precondition software functions represents the relationship with the business process supported by these software functions, not the implementation order.
  • Relation between software functions from neighboring rows—primitive business process-assigned sets of software functions are symmetrically related: “precondition” software functions from the next row are related to “first priority“ software functions from previous row in the mapping table. This is the second type of semantic coupling—between software functions of neighbor business processes’ supporting software functions.
In the case of multiple separate software projects, each project could have a separate mapping table. In the case of multiple related software projects (within a broad scope of program development in the context of project management), this mapping table could be extended with an additional column (first column on the left) that is related to the name of the project. This way, business processes in these project scopes and assigned software functions for these multiple software projects could be integrated, and their dependency could be monitored and managed.

4.5. Creating and Ordering of Work Items List Based on Ordered Software Functions List and Selected Work Items List Pattern

To create DA-FOWIL, there are some activities that should be conducted.
  • Ordering of derived software functions should be conducted in three levels;
  • Selection of work items list pattern, according to the selected implementation technology for the project;
  • Applying the selected work items list pattern to implement each software function from the ordered software functions list.

4.5.1. Ordering of Derived Software Functions

Ordering of derived software functions is presented with Table 2 and Figure 9.
The three levels of software functions ordering, according to the BPriS method, are explained with details:
(I)
Global business processes level—according to categorization from [32], this method proposes that first priority should have business processes as the core business scope, the second priority being supporting processes and the third priority being managerial processes. Therefore, software functions derived from these groups of business processes should be arranged with this ordering.
(II)
Business process model level—part of business process model that is included in the project scope is ordered chronologically, so the first business process (top-most in visual presentation) is considered as first in the business process list. Sometimes, some processes are performed simultaneously. A possible approach to simultaneous business processes that are in the project scope with the same significance is to order them according to additional heuristic criteria (for example, leftmost is placed first).
(III)
Set of software functions mapped to a single primitive business process level—in the mapping table each primitive business process is assigned to a set of software functions, organized in three levels of priority. In the context of implementation ordering, “precondition” software functions should be implemented first, then “first priority” functions and finally “second priority” functions.
To visualize the proposed ordering of enterprise-aware software functions, Figure 9 presents the essence of the approach.
Figure 9. Abstract example of software functions ordering with BPriS method.
Figure 9. Abstract example of software functions ordering with BPriS method.
Applsci 15 05091 g009

4.5.2. Selection of Work Items List Pattern and Assignment to Software Functions

Regarding final activities in DA-FOWIL creation, the BPriS method proposes:
  • Information system that supports enterprise business processes is based on integration of software functions, where each could be implemented with different software architectures and technologies (programming techniques, approaches and languages) [16].
  • Each work item in the WILP is related to the creation of a particular component from the selected software architecture. Table 3 presents basic components of the most commonly utilized software architectures, which could be used for WILP creation.
3.
Work items ordering in WILP follows the bottom-up principle in implementation of a software function: (1) data sources, (2) data access layer, (3) service layer, (4) business logic layer, (5) presentation layer.
4.
Each software function implementation is assigned to multiple ordered work items according to the selected WILP. The proposed structure of table that enables creating DA-FOWIL is presented at Table 4.

5. Case Study Results

5.1. Case Study Context

To present feasibility of the proposed BPriS method, a case study is presented in this section. The context of the case study is the development of accounting software that is related to billing records in a private general hospital “Sveti Jovan” (“St. John”) in Zrenjanin, Serbia [151]. This software solution was presented in [152], as a result of two recent software projects. The first project (Project 1) resulted in the billing software to support basic types of medical services expenses billing, and the second project (Project 2) enhanced previously developed software with the monthly reporting functions.
The key elements of user interface of this software solution, with the final version that is currently in use in this hospital, are presented in Figure 10 (data input form) and Figure 11 (form with data processing and print report software functions). For better understanding, these figures are screenshots from the English version of the original software (having Serbian labels that are in use in the hospital), which was presented in [152].

5.2. Results of BPriS Method Utilization with Holistic Approach

Particular software development, explained in Section 5.1., will be used to demonstrate the BPriS method’s applicability, with results that follow all methods’ phases and activities. In this case study, the BPriS method has been applied in all four phases, and in this subsection the holistic approach has been utilized to present results from the two mutually related software projects within joint artifacts. To apply the holistic approach for better understanding of the BPriS method, this subsection section provides results of BPriS method utilization as if the final version of software (as presented in Figure 10 and Figure 11) was developed within a single project. Section 5.2. presents details about particular project results and puts these results in the context of the BPriS method.
Phase 1 is related to “Obtaining ordered list of primitive business processes from business process model based on project scope”. Figure 12 presents a general business process model with the selected processes for the project scope—financial processes (billing) and quality management processes regarding financial reports. According to the BPriS method and [32], Figure 12 presents the proposed representation of all hospital business processes categorized to core business, supporting processes and management processes. Core hospital business processes are ambulance examinations, diagnostics, hospitalization and medical interventions and data from all of them have been collected in the medical services records data store. Supporting activities in a hospital are related to obtaining and maintaining all resources (human, material and financial). The most important management processes include those related to legislation management, standardization and quality management. Project scope of both projects includes software support to medical services billing activities (with bills records) within finance area and quality management with monthly billing reports support (with financial reports records). Therefore, the white area in Figure 12 shows extraction of particular processes as primitive processes that will be processed in phase 2: financial area-billing and quality management and reporting in the financial domain.
Phase 2 “Assigning each primitive business process to the set of semantically coupled software functions based on a selected software functional pattern” and Phase 3 “Categorization and relating assigned software functions between business processes in the mapping table” result in creating a mapping table with primitive business processes assigned to software functions that support them (Table 5). Phase 2 includes activities of assigning each primitive business process to the set of software functions based on the selected software functional pattern. Phase 3 deals with utilization of the mapping table, aiming to perform categorization and relating software functions between business processes. Business processes extracted from phase 1 were included in the mapping table presented in Table 5. The software functional pattern that was utilized in this phase for this case study was used according to software functions from Figure 8. Primitive business processes are placed in the first column of the mapping table. The first business process is related to billing, and the essential type of primitive business process is the “Input” type. Data are obtained and recorded, so the first priority software function is related to billing data input. An additional software function to support this business process is the Bill print function, and it is placed in the second priority software function. Precondition software functions to billing data input are data input functions that enable data entry to coding tables, required for the billing data input as supporting data, such as type of financial document for the bill, type of payment, banks with accounts to be used for payment, patients’ data and patients’ employment companies (that will pay for medical bills). For the second business process, related to quality management and financial reporting regarding bills, the essential type of business process is the “Processing” type; therefore, first priority software function is related to calculations in monthly billing reports processing. Second priority function is related to the computed report print, while the precondition for the monthly billing reporting is to have appropriate data obtained for the calculation, which is to have billing data input. This way, the chronologically “previous” business process is placed in the mapping table in previous row and “next” business process is placed in the next row in the mapping table. The semantic coupling between software functions that support these software functions is obvious in this example—first priority software function of previous row is precondition in next row. By placing business processes and the assignment of appropriate software functions, phase 2 ends. By relating software functions assigned to each primitive business process, phase 3 ends. The results of phase 2 and phase 3 are presented in Table 5.
Phase 4 is related to creating and ordering the work items list based on ordered the software functions list and selected work items list pattern. Table 6. presents the created DA-FOWIL (consisting of work items and their order of application) based on software functions from Table 5. and the selected multi-layered software architecture components as a basis for work items list creation.
Table 6 presents results of phase 4 and consists of columns related to primitive business processes (PBP), software functions (SF), order of work items application (OR) and work item (WI). In this case study, multi-layered architecture is selected as a basis for work items list pattern from initial examples of work items patterns derived from most commonly used software architectures presented at Table 3. In this multi-layered WILP, there are four layers and in the BPriS methodology it is proposed that these layers should be developed with a bottom-up approach. Therefore, DataLayer with CRUD operations should be developed first, then service layer, business logic layer and finally presentation layer. At the level of set of software functions that support each business process, first priority in implementation, i.e., work items list is assigned to precondition software functions, then the “first priority” software functions that directly support the business process and finally the “second priority” software functions should be implemented. In this particular example, for the first business process (Finance—“Billing”), the order or software functions development should be (1) coding tables software functions development (example for coding table “types of documents” and others), (2) billing data input, (3) Bill print. The same principle is used with the second business process in this example, except that the precondition software function was already listed to be implemented, so only the “first priority” software function of report calculation and “second priority” software function of report print were included in Table 6 with appropriate DA-FOWIL items.

5.3. Results of BPriS Method Utilization with Incremental Approach—Two Related Projects

This subsection presents usability of the BPriS method for the two related software projects. Figure 13 presents a business process model with separate annotation of project scope for two projects. The project 1 scope is to develop billing software in a hospital, while the project 2 scope is to develop financial reporting software regarding billing in the hospital.
From Figure 13 it is obvious that there is clear relationship between results of these two projects—project 2 depends on results of project 1. This dependency is also presented in Table 7. This table is an extended version of mapping table presented in Table 6. The extension is related to the first column regarding the project name.
Table 8 presents DA-FOWIL for project 1 and project 2, based on mapping (Table 7) and selected multi-layered software architecture and work items list pattern.
The final structure of the software developed within both projects is presented with UML use case diagram (Figure 14) and component diagram (Figure 15).
Figure 14 presents UML use case diagram with software functions organized as follows:
  • Coding tables input functions for data regarding hospitals, banks, patients, payment types, patients’ employers). These data are needed for billing input and the billing input depends on them, as annotated with stereotype “use”.
  • “Billing input” with the “extend” dependency with “Bill print”. The “Bill print” function is an additional function that could be started after the billing input function is finished.
  • “Billing recapitulation” is a processing software function that uses “Billing input” results and, therefore, it depends on this function as annotated with “use” stereotype. “Monthly billing report print” is an additional function that could be used after “Billing recapitulation” finishes; therefore, it is annotated as the “extend” dependency.
Coding tables input and billing input are software functions developed with project 1, while billing recapitulation was developed within project 2. Therefore, software functions (presented as use cases in Figure 14) have stereotypes according to the project where their development was included.
Figure 15 presents a component diagram of the developed software, with four layers and additional files. The software is developed by using Microsoft Visual Basic 6.0 (SP 5). The developed application uses Microsoft Access database version 1997 (“SvJovan.mdb”) and Crystal Report files (“*.rpt”) created with Seagate Software’s tool Crystal Reports for Visual Basic 4.6.1.0. Data Layer communicates with database with CRUD operations, Service Layer is a layer between backend and frontend, Presentation Layer contains presentation logic and user interface and could start rpt files regarding simple billing print (BillSpecification.rpt, Credit.rpt, Invoice.rpt). More complex reports are related to billing periodical summary calculations (recapitulation). For better clarity of presentation in Figure 15, these summary reports are simply named Monthly billing report.rpt, but (in the implementation there are multiple rpt files for different kinds of reports (as can be seen in Figure 11). Figure 15 also presents dependency between layers. It could be observed that the Business logic layer only reads data for calculating and reporting. Each layer has a stereotype with the project that implemented that component of the developed billing and reporting software.

6. Discussion

6.1. Contribution Compared to Existing Solutions

Key previous research results are compared to the contribution of this manuscript in Table 9.
Table 9 briefly presents key related work and comparison to BPriS method contribution. Limitations of previous research results compared to the contribution in this manuscript are explained for each aspect:
  • Business process mapping to software design—existing approaches do not address mapping between business process model primitive processes to software functions and do not enable multiple functional designs related to diversity of possible solutions within the same or different technologies. The BPriS method enables comparison and integration of different functional design solutions.
  • Software semantic coupling—in previous research, coupling is related to structural and behavioral dependencies between classes in object-oriented programming, while semantics is related to texts in source code (identifiers). These approaches do not consider software functionality as a basis for semantic relationships. The BPriS method proposes semantic relationship between (1) software functions that support the same business process; (2) relationships between software functions of neighbor business processes.
  • Software functional patterns—are recognized as needed in the software industry, to be abstracted as commonly used in software, particularly to support different types of software. The BPriS method is based on a similar approach using software functional patterns, and selection of software functional pattern is based on selection of technology for software project implementation. The BPriS method provides flexibility of software functional patterns selection and integration within the broader scope of software development for information systems.
  • Agile software development planning and automation—research puts a focus on an environment of continuous planning, delivery and integration, with inclusion of domain experts and clients. The BPriS method goes further and makes an emphasis not only on requirements and domain experts’ knowledge (which could be informal, incomplete and ambiguous) but on a firmer basis—business process models, software functional patterns and work items patterns.
  • Agile software release planning and prioritization—previous research works emphasize user requirements as a basis for software development planning, where work items and tasks are prioritized based on requirements evaluation and task evaluation for effort, dependency, business value and risks. The BPriS method proposes prioritization on (1) business process model level, (2) set of derived software functions level (first priority—directly support the business process need as input/output or processing software function, second priority—additional functions, precondition—enable data for first priority functions) (3) work items list pattern level (bottom up approach to develop software components).
  • Workflow patterns—previous research results propose workflow patterns to enable workflow management systems automation, where particular subprocesses sets are extracted as action patterns to be supported by software components. The BPriS method uses categorization of enterprise business processes according to [32]. The BPriS method proposes the order of software development prioritization with this order: core, supporting and management business processes. Other workflow patterns could also be integrated with the BPriS method.
  • Software development work items list patterns—previous research propose automated extraction of workflow items for software development from previous projects, their sorting, ordering, etc. Previous works did not mention the term “work items list pattern”, so in this manuscript this term was introduced. The BPriS method proposes using work items list patterns (created previously as an abstract model—manually or automated) to obtain ordered work items list for software development.

6.2. Feasibility and Validity of the BPriS Method

The feasibility of the proposed BPriS method has been demonstrated with a simple case study. Starting with the business process model, by applying software functional pattern and technology dependent ordered work items list pattern, this method enables both initial software functional design and implementation planning for enterprise-aware Disciplined Agile Delivery. Of course, in this case study, the work item list pattern is not presented with high granularity, but only with a general annotation to tasks related to the development of particular elements of software related to the selected software architecture. More precise work items could be specified, but in industrial practice, very often that is not needed with professionals who are skilled at knowing which subtasks to perform regarding particular software modules and technologies.
The validity of the BPris method could be evaluated with experiments that have a sample of students’ software projects, as well professional software projects from software companies. The BPriS method and relevant artifacts are proposed as a generally set method with framework. Therefore, better granularity of patterns (software functional pattern and work items list pattern) could be accomplished with automated detection and collection of software functional patterns and work items patterns, during applications development in software companies. Benefits of BPriS method utilization could be measured with significant metrics that are related to the development process performance and software product quality. However, there are also other benefits that could not be easily measured, such as support to design alternatives considerations, etc. Therefore, it is not easy to establish experimental setup and conduct a complete experiment to prove all of the BPriS method’s benefits when compared to other approaches. Particularly, the BPriS method contributes to an array of areas, which also makes it harder to conduct a comprehensive experiment with all contribution aspects included.

6.3. Usability, Limitations and Future Development of the BPriS Method

The proposed BPriS method could be utilized in different contexts:
  • The case study in this manuscript demonstrated applicability to a small number of business processes, but the same procedure could be performed with any business process model complexity. In dealing with complex business process models, automation of BPriS method utilization could be very beneficial.
  • The BPriS method proposes business process categorization according to [32], but it could be applied with any workflow pattern.
  • Software architectures and development technologies change over time. The mapping table could be used to discuss different implementation alternatives (within the same or with different technologies) for the same software functions and for the support to the same primitive business processes.
  • Information system solutions sometimes are integrated from software components created by using different technologies and architectures. Mapping table could be used to enable integration of diversity of software implementation solutions designs.
  • Better insight into business processes and requirements are usually obtained dynamically during a project. Business processes change over time, due to changes in legislation or business strategy enforced by the market. Mapping table enables flexibility in software design support to different business processes. It is also a useful tool to record and monitor changes in business processes and software design support.
  • Mapping table enables integration of results of software design from different software projects that are related in the broader scope of project management in the program management (long term development with multiple projects).
  • Mapping table and DA-FOWIL enable organization of software development with multiple teams working on the same software solution. In software companies, teams are organized according to their specialties for particular software architecture modules—front end (presentation layer), back end (business logic layer), data layer, services layer etc…Mapping table and DA-FOWIL enables integrated and filtered (by particular work items list types—according to software architecture elements) presentation of software functions and work items.
  • Limitations of the presented BPriS method could be related to:
  • Business process model is created outside of BPriS method utilization. It could be created with diversity of workflow patterns. It is expected that the business process model is complete, correct and not ambiguous.
  • Granulation of the software functional pattern and work items pattern—the proposed BPriS method was presented as a general framework with examples of software functional patterns and work items list patterns (based on software architecttures). More precise items could be derived from software development practice and available development technologies. In this manuscript, it was not necessary to present work items list patterns and the case study results with better granularity (more details about particular activities in creating elements of this solution), since software development professionals know what to do (what are the subtasks) when a particular task (work item) is presented with general level of details. For example, when the task is to make a data layer with CRUD operations for a “Types of documents” data table, it is obvious that there should be classes that have methods supporting each CRUD operation (Create, Read, Update, Delete) in collaboration with the database.
  • Software functional pattern and work items list pattern depend on implementation technology that is available to software development team (according to technology availability and complexity, software team knowledge, experience and available resources for technology implementation).
  • Diversity of software development projects—the BPriS method has been presented with utilization in development of new software product, but these are not the only types of software projects, such as enhancement of functional and non-functional aspects, i.e., different types of software maintenance projects, etc. However, the case study presented in this manuscript also presents the possible utilization of the method with project that focus on functional enhancements.
  • Complexity of data structures and related software development subtasks granularity—currently, the BPriS method did not address data structures from business process models, but only business processes in software functions design. Having complex data structures included in the BPriS method could enhance granularity in derived work items list and better project planning.
Future improvements for the BPriS method could be in different aspects, to resolve limitations and improve usability. Some of the BPriS method improvement directions could be as follows:
  • Development of software patterns and work items patterns that are related to other types of software features and activities.
  • Development of more precise software functional patterns and work items list patterns, according to different technologies. Technology dependent software functional patterns and work items list patterns are more refined in real word software projects. They have more precise granulation, which depends on particular technologies, programming languages, databases and tools.
  • Data stores (resources) with data records from business process models should be addressed for their structure, to obtain data substructures, which can be a basis to derive software functions to support coding tables.
  • “Master—detail” or other more complex data relationships should be considered in software development activities, since not all complex types of software could require the same number and complexity of activities in implementation.
  • Technology-dependent software functional patterns and work items list patterns could be obtained during software development. They can be collected by automated monitoring of different software projects to enable future software support.

7. Conclusions

Our paper contributes with a method to align business processes to software functions, with their semantic coupling and prioritization, to have enterprise-awareness included in the creation of disciplined agile project backlog, i.e., work items list. Utilization of this method includes both software functions design and delivery planning with prioritization of software functions and work items, according to the selected technology for implementation.
Future research could be directed towards different application areas. Since the information system of an enterprise usually includes a diversity of software modules, this method could also be applied to present design alternatives. In dynamic environment, where business processes repeatedly change, utilization of the proposed method could be beneficial in aim to gain the continual alignment of business process needs to software functions. Since software solutions support business processes, this method could also be used to examine if the existing software solution contributes to dynamic environment of software support to evolving business goals and to provide a strategic development roadmap to enterprise-aware software development and project planning.

Author Contributions

Conceptualization, L.K.; methodology, L.K.; validation, Z.K.; formal analysis, L.K.; investigation, L.K.; resources, L.K.; data curation, L.K.; writing—original draft preparation, L.K.; writing—review and editing, L.K.; visualization, L.K.; supervision, Z.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research represents results of two projects that were supported and financed by General hospital “Sveti Jovan” Zrenjanin, Serbia: (1) Software for specification of medical services expenses, contract 677 (01-1684) in year 2022; (2) Improvement of billing software for monthly recapitulation reporting, contract 366 (01-984) in the year 2024.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data for this research are presented in the manuscript and do not have any external sources.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Association for Project Management. Agile Project Management. Available online: https://www.apm.org.uk/resources/find-a-resource/agile-project-management/ (accessed on 23 June 2024).
  2. Bisikirskiene, L.; Ceponiene, L.; Jurgelaitis, M.; Ablonskis, L.; Grigonyte, E. Compiling Requirements from Models for Early Phase Scope Estimation in Agile Software Development Projects. Appl. Sci. 2023, 13, 12353. [Google Scholar] [CrossRef]
  3. Kula, E.; Greuter, E.; Van Deursen, A.; Gousios, G. Factors affecting on-time delivery in large-scale agile software development. IEEE Trans. Softw. Eng. 2021, 48, 3573–3592. [Google Scholar] [CrossRef]
  4. Fitzgerald, B.; Stol, K.J. Continuous software engineering: A Roadmap and Agenda. J. Syst. Softw. 2017, 123, 176–189. [Google Scholar] [CrossRef]
  5. Aleryani, A.Y. Analyzing Data Flow: A Comparison between Data Flow Diagrams (DFD) and User Case Diagrams (UCD) in Information Systems Development. Eur. Mod. Stud. J. 2024, 8, 313–320. [Google Scholar] [CrossRef]
  6. Trkman, M.; Mendling, J.; Krisper, M. Using business process models to better understand the dependencies among user stories. Inf. Softw. Technol. 2016, 71, 58–76. [Google Scholar] [CrossRef]
  7. Alkandari, M.A.; Al-Shammeri, A. Enhancing the Process of Requirements Prioritization in Agile Software Development-A Proposed Model. J. Softw. 2017, 12, 439–453. [Google Scholar] [CrossRef]
  8. Ambler, S.W.; Lines, M. Disciplined Agile Delivery, A Practitioner’s Guide to Agile Software Delivery in the Enterprise; Pearson Education: London, UK, 2012. [Google Scholar]
  9. Project Management Institute. Definition of Disciplined Agile. Available online: https://www.pmi.org/disciplined-agile/introduction-to-disciplined-agile (accessed on 23 June 2024).
  10. Project Management Institute. Scrum-Based Disciplined Agile Lifecycle. Available online: https://www.pmi.org/-/media/pmi/microsites/disciplined-agile/posters/life-cycle-posters-11x17_agile.pdf (accessed on 23 June 2024).
  11. Russell, N.; Ter Hofstede, A.H.; Edmond, D.; Van der Aalst, W.M. Workflow Data Patterns: Identification, Representation and Tool Support. In Proceedings of the 24th International Conference on Conceptual Modeling, Klagenfurt, Austria, 24–28 October 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 353–368. [Google Scholar]
  12. Agile Alliance. Definition of Scrum. Available online: https://www.agilealliance.org/glossary/scrum/ (accessed on 23 June 2024).
  13. Agile Alliance. Definition of Backlog. Available online: https://www.agilealliance.org/glossary/backlog/ (accessed on 23 June 2024).
  14. Project Management Institute. Comparing Agile/Lean Backlog Management Strategies. Available online: https://www.pmi.org/disciplined-agile/agile/backlogmanagement (accessed on 21 November 2024).
  15. Tsadimas, A.; Nikolaidou, M.; Anagnostopoulos, D. Evaluating Software Architecture in a Model-based Approach for Enterprise Information System Design. In Proceedings of the SHARK ’10, Cape Town, South Africa, 2–8 May 2010. [Google Scholar]
  16. Hummes, O.; Momm, C.; Hickl, S. Towards quality-aware development and evolution of enterprise information systems. In Proceedings of the ACM Symposium on Applied Computing SAC ’10, Sierre, Switzerland, 22–26 March 2021. [Google Scholar] [CrossRef]
  17. Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems, 5th ed.; Pearson International Edition: London, UK, 2007. [Google Scholar]
  18. Rahimi, F.; Møller, C.; Hvam, L. Business process management and IT management: The Missing Integration. Int. J. Inf. Manag. 2016, 36, 142–154. [Google Scholar] [CrossRef]
  19. Simonsson, M.; Johnson, P.; Ekstedt, M. The effect of IT governance maturity on IT governance performance. Inf. Syst. Manag. 2010, 27, 10–24. [Google Scholar] [CrossRef]
  20. Baier, T.; Mendling, J. Bridging abstraction layers in process mining: Event to Activity Mapping. In Proceedings of the International Workshop on Business Process Modeling, Development and Support, Valencia, Spain, 17–18 June 2013; pp. 109–123. [Google Scholar]
  21. Mauri, P. Understanding the Relationships between Organizations and Information Technologies. The Role of Mapping. In Proceedings of the 4th International Workshop on Socio-Technical Perspective in IS development (STPIS’18) co-located with 30th International Conference on Advanced Information Systems Engineering (CAiSE 2018), Tallinn, Estonia, 12 June 2018; pp. 13–23. [Google Scholar]
  22. Saldanha, T.J.; Lee, D.; Mithas, S. Aligning information technology and business: The Differential Effects of Alignment During Investment Planning, Delivery, and Change. Inf. Syst. Res. 2020, 31, 1260–1281. [Google Scholar] [CrossRef]
  23. Dietz, J.L.G.; Albani, A. Basic notions regarding business processes and supporting information systems. Requir. Eng. 2005, 10, 175–183. [Google Scholar] [CrossRef]
  24. van der Aalst, W.M.P. Business process management: A Comprehensive Survey. Int. Sch. Res. Not. 2013, 2013, 507984. [Google Scholar] [CrossRef]
  25. Fischer, M.; Imgrund, F.; Janiesch, C.; Winkelmann, A. Strategy archetypes for digital transformation: Defining Meta Objectives Using Business Process Management. Inf. Manag. 2020, 57, 103262. [Google Scholar] [CrossRef]
  26. Aguilar-Saven, R.S. Business process modelling: Review and Framework. Int. J. Prod. Econ. 2004, 90, 129–149. [Google Scholar] [CrossRef]
  27. Dalal, N.P.; Kamath, M.; Kolarik, W.J.; Sivaraman, E. Toward an Integrated Framework for Modeling Enterprise Processes. Commun. ACM 2004, 47, 83–87. [Google Scholar] [CrossRef]
  28. Okrent, M.D.; Vokurka, R.J. Process mapping in successful ERP implementations. Ind. Manag. Data Syst. 2004, 104, 637–643. [Google Scholar] [CrossRef]
  29. Biazzo, S. Process mapping techniques and organizational analysis, lessons from socio-technical system theory. Bus. Process Manag. J. 2002, 8, 42–52. [Google Scholar] [CrossRef]
  30. Al-Fedaghi, S.; Mohamad, Y. Business Process Mapping: A Case Study. In Proceedings of the IEEE/ACS 16th International Conference on Computer Systems and Applications (AICCSA), Abu Dhabi, United Arab Emirates, 3–7 November 2019; pp. 1–8. [Google Scholar]
  31. Arcentales-Carrion, R.N.; Morles, E.C.; Sucozhanay, D.; Duran, R.; Siguenza-Guzman, L. Process mapping and modeling: A Theoretical Tool Analysis. Test Eng. Manag. 2020, 83, 25914–25925. [Google Scholar]
  32. Rajarathinam, V.; Chellappa, S.; Nagarajan, A. Conceptual framework for the mapping of management process with information technology in a business process. Sci. World J. 2015, 2015, 983832. [Google Scholar] [CrossRef]
  33. Van Der Aalst, W.M.P.; Ter Hofstede, A.H.M.; Kiepuszewski, B.; Barros, A.P. Workflow patterns. Distrib. Parallel Databases 2003, 14, 5–51. [Google Scholar] [CrossRef]
  34. Yourdon, E.; Constantine, L.L. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design; Prentice Hall: Englewood Cliffs, NJ, USA, 1979. [Google Scholar]
  35. DeMarco, T. Structured Analysis and System Specification; Prentice Hall: Englewood Cliffs, NJ, USA, 1979. [Google Scholar]
  36. Gane, C.; Sarson, T. Structured Systems Analysis: Tools and Techniques; McDonnell Douglas Systems Integration Company: St. Louis, MI, USA, 1977. [Google Scholar]
  37. Object Management Group. Business Process Model and Notation (BPMN) Version 2.0.2. Available online: https://www.omg.org/spec/BPMN/2.0.2/PDF (accessed on 18 April 2025).
  38. Zlatkin, S.; Kaschek, R. Mapping Business Process Models from Petri Nets into Event-Driven Process Chains. Program. Probl. 2006, 2006, 560–568. [Google Scholar]
  39. Vergidis, K.; Tiwari, A.; Majeed, B. Business process analysis and optimization: Beyond Reengineering. IEEE Trans. Syst. Man Cybern. Part C (Appl. Rev.) 2007, 38, 69–82. [Google Scholar] [CrossRef]
  40. Dijkman, R.; Dumas, M.; Van Dongen, B.; Käärik, R.; Mendling, J. Similarity of business process models: Metrics and Evaluation. Inf. Syst. 2011, 36, 498–516. [Google Scholar] [CrossRef]
  41. Habba, M.; Fredj, M.; Benabdellah Chaouni, S. Alignment between business requirement, business process, and software system: A Systematic Literature Review. J. Eng. 2019, 2019, 6918105. [Google Scholar] [CrossRef]
  42. Rosemann, M.; Recker, J.; Flender, C. Contextualisation of business processes. Int. J. Bus. Process Integr. Manag. 2008, 3, 47–60. [Google Scholar] [CrossRef]
  43. Jung, M.-Y.; Hak, S.K.; Myung, H.J.; Kyung, H.T.; Hyun, S.C.; Jin, H.S. Mapping from BPMN-Formed Business Processes to XPDL Business Processes. In Proceedings of the Fourth International Conference on Electronic Business ICEB2004, Beijing, China, 5–9 December 2004; pp. 422–427. [Google Scholar]
  44. Karakostas, B.; Zorgios, Y.; Alevizos, C.C. Automatic derivation of BPEL4WS from IDEF0 process models. Softw. Syst. Model. 2006, 5, 208–218. [Google Scholar] [CrossRef]
  45. España, S.; Ruiz, M.; Pastor, Ó.; González, A. Systematic derivation of state machines from communication-oriented business process models. In Proceedings of the IEEE Fifth International Conference on Research Challenges in Information Science, Gosier, Guadeloupe, France, 19–21 May 2011; pp. 1–12. [Google Scholar]
  46. Weidlich, M.; Decker, G.; Großkopf, A.; Weske, M. BPEL to BPMN: The Myth of a Straight-Forward Mapping. In On the Move to Meaningful Internet Systems: OTM 2008, Proceedings of the OTM Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008, Monterrey, Mexico, 9–14 November 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 265–282. [Google Scholar] [CrossRef]
  47. Cruz, E.F.; Machado, R.J.; Santos, M.Y. Deriving a data model from a set of interrelated business process models. In Proceedings of the International Conference on Enterprise Information Systems, Barcelona, Spain, 27–30 April 2015; pp. 49–59. [Google Scholar]
  48. González, A.; España, S.; Ruiz, M.; Pastor, Ó. Systematic derivation of class diagrams from communication-oriented business process models. In Proceedings of the International Workshop on Business Process Modeling, Development and Support, London, UK, 20–21 June 2011; pp. 246–260. [Google Scholar]
  49. Dietz, J.L.G. Deriving Use Cases from Business Process Models. In Proceedings of the 22nd International Conference on Conceptual Modeling —ER 2003, Chicago, IL, USA, 13–16 October 2003; Song, I.Y., Liddle, S.W., Ling, T.W., Scheuermann, P., Eds.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2003; Volume 2813. [Google Scholar] [CrossRef]
  50. Han, L.; Yang, J.; Zhao, W.; Sheng, Q. User interface derivation for business processes. IEEE Trans. Knowl. Data Eng. 2019, 32, 560–573. [Google Scholar] [CrossRef]
  51. Yongchareon, S.; Liu, C.; Zhao, X.; Yu, J.; Ngamakeur, K.; Xu, J. Deriving user interface flow models for artifact-centric business processes. Comput. Ind. 2018, 96, 66–85. [Google Scholar] [CrossRef]
  52. Penadés, M.C.; Canós, J.H.; Díaz, J.S. Automatic Derivation of Workflow Specifications from Organizational Structures and Use Cases. In Proceedings of the Workshop on Requirements EngineeringWER, 2001, Buenos Aires, Argentina, 22–23 November 2001; pp. 166–180. [Google Scholar]
  53. Aysolmaz, B.; Demirörs, O. Deriving user requirements from business process models for automation: A Case Study. In Proceedings of the IEEE 1st International Workshop on the Interrelations Between Requirements Engineering and Business Process Management REBPM, Karlskrona, Sweden, 25 August 2014; pp. 19–28. [Google Scholar]
  54. Frankova, G.; Seguran, M.; Gilcher, F.; Trabelsi, S.; Doerflinger, J.; Aiello, M. Deriving business processes with service level agreements from early requirements. J. Syst. Softw. 2011, 84, 1351–1363. [Google Scholar] [CrossRef]
  55. Nikaj, A.; Weske, M.; Mendling, J. Semi-automatic derivation of restful choreographies from business process choreographies. Softw. Syst. Model. 2019, 18, 1195–1208. [Google Scholar] [CrossRef]
  56. Leopold, H.; Pittke, F.; Mendling, J. Automatic service derivation from business process model repositories via semantic technology. J. Syst. Softw. 2015, 108, 134–147. [Google Scholar] [CrossRef]
  57. Yousef, R.; Odeh, M.; Coward, D.; Sharieh, A. A Semantically Enriched Framework to Derive Software Service Oriented Models from Business Process Architectures. Int. J. Inf. Stud. 2009, 1, 231–241. [Google Scholar]
  58. Nadarajan, G.; Chen-Burger, Y.H. Translating a typical business process modelling language to a Web Services Ontology through lightweight mapping. IET Softw. 2007, 1, 1–17. [Google Scholar] [CrossRef]
  59. Khan, Z.; Odeh, M. Business process modelling: Coarse to Fine Grain Mapping Using Metamodels. In Proceedings of the IASTED International Conference on Software Engineering, Innsbruck, Austria, 12–14 February 2008; pp. 304–309. [Google Scholar]
  60. Riekkinen, A. Deriving software architecture from activity analysis. In Proceedings of the First International Workshop on Activity Theory Based Practical Methods for IT-Design ATIT 2004, Copenhagen, Denmark, 2–3 September 2004; pp. 157–168. [Google Scholar]
  61. Jarzabek, S.; Hitz, M. Business-oriented component-based software development and evolution. In Proceedings of the IEEE Ninth International Workshop on Database and Expert Systems Applications, Vienna, Austria, 26–28 August 1998; pp. 784–788. [Google Scholar]
  62. Arsanjani, A.; Alpigini, J. Using grammar-oriented object design to seamlessly map business models to component-based software architectures. In Proceedings of the International Association of Science and Technology for Development, Costa Mesa, CA, USA, 18–21 January 2001. [Google Scholar]
  63. Levi, K.; Arsanjani, A. A Goal-driven Approach to Enterprise component identification and specification. Commun. ACM 2002, 45, 45–52. [Google Scholar] [CrossRef]
  64. Papazoglou, M.P.; Traverso, P.; Dustdar, S.; Leymann, F. Service-oriented computing: State of the Art and Research Challenges. Computer 2007, 40, 38–45. [Google Scholar] [CrossRef]
  65. Gardner, T. UML Modeling of Automated Business Processes with mapping to BPEL4WS. In Proceedings of the First European Workshop on Object Orientation and Web Services, Darmstadt, Germany, 21–25 July 2003; pp. 35–43. [Google Scholar]
  66. Afnan, E.; Sukoco, I.; Muhyi, H.A. A Systematic Mapping Study of Business Process Reengineering. Eur. J. Bus. Manag. Res. 2022, 7, 214–220. [Google Scholar] [CrossRef]
  67. Valenca, G.; Alves, C.; Alves, V.; Niu, N. A systematic mapping study on business process variability. Int. J. Comput. Sci. Inf. Technol. 2013, 5, 1. [Google Scholar] [CrossRef]
  68. Cognini, R.; Corradini, F.; Gnesi, S.; Polini, A.; Re, B. Business process flexibility-a systematic literature review with a software systems perspective. Inf. Syst. Front. 2018, 20, 343–371. [Google Scholar] [CrossRef]
  69. Wan-Kadir, W.M.N.; Loucopoulos, P. Relating evolving business rules to software design. J. Syst. Archit. 2004, 50, 367–382. [Google Scholar] [CrossRef]
  70. Ouyang, C.; Dumas Menjivar, M.; Van Der Aalst, W.; Ter Hofstede, A.; Mendling, J. From business process models to process-oriented software systems. ACM Trans. Softw. Eng. Methodol. 2009, 19, 21–37. [Google Scholar] [CrossRef]
  71. Georgakopoulos, D.; Hornick, M.; Sheth, A. An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure. Distrib. Parallel Databases J. 1995, 3, 119–153. [Google Scholar] [CrossRef]
  72. Pütz, C.; Sinz, E.J. Model-driven derivation of BPMN workflow schemata from SOM business process models. Enterp. Model. Inf. Syst. Archit. 2010, 5, 57–72. [Google Scholar]
  73. Vega-Marquez, O.L.; Duarte, H.; Collazos, V. Mapping Study on Traceability Between BPMN Models and Source Code. Int. J. Adv. Sci. Eng. Inf. Technol. 2022, 12, 218. [Google Scholar] [CrossRef]
  74. Weber, I.; Haller, J.; Mulle, J.A. Automated derivation of executable business processes from choreographies in virtual organisations. Int. J. Bus. Process Integr. Manag. 2008, 3, 85–95. [Google Scholar] [CrossRef]
  75. Revelle, M.; Gethers, M.; Poshyvanyk, D. Using structural and textual information to capture feature coupling in object-oriented software. Empir. Softw. Eng. 2011, 16, 773–811. [Google Scholar] [CrossRef]
  76. Singh, R.; Kumar, A. Role of Structural and Semantic Relations in Determining Coupling among Software Elements. Int. J. Perform. Eng. 2019, 15, 1279. [Google Scholar] [CrossRef]
  77. Bavota, G.; Dit, B.; Oliveto, R.; Di Penta, M.; Poshyvanyk, D.; De Lucia, A. An empirical study on the developers’ perception of software coupling. In Proceedings of the IEEE 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA, 18–26 May 2013; pp. 692–701. [Google Scholar]
  78. Fregnan, E.; Baum, T.; Palomba, F.; Bacchelli, A. A survey on software coupling relations and tools. Inf. Softw. Technol. 2019, 107, 159–178. [Google Scholar] [CrossRef]
  79. Poshyvanyk, D.; Marcus, A. The conceptual coupling metrics for object-oriented systems. In Proceedings of the 22nd IEEE International Conference on Software Maintenance, Philadelphia, PA, USA, 24–27 September 2006; pp. 469–478. [Google Scholar]
  80. Ajienka, N.; Capiluppi, A. Semantic coupling between classes: Corpora or identifiers? In Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Ciudad Real, Spain, 8–9 September 2016; pp. 1–6. [Google Scholar]
  81. Gethers, M.; Poshyvanyk, D. Using relational topic models to capture coupling among classes in object-oriented software systems. In Proceedings of the 2010 IEEE International Conference on Software Maintenance, Timisoara, Romania, 12–18 September 2010; pp. 1–10. [Google Scholar]
  82. Hitz, M.; Montazeri, B. Measuring Coupling and Cohesion in Object-Oriented Systems. In Proceedings of the International Symposium on Applied Corporate Computing, Nashville, TN, USA, 26–28 February 1995; pp. 25–27. [Google Scholar]
  83. Alenezi, M.; Magel, K. Empirical Evaluation of a New Coupling Metric: Combining Structural and Semantic Coupling. Int. J. Comput. Appl. 2014, 36, 34–44. [Google Scholar] [CrossRef]
  84. Újházi, B.; Ferenc, R.; Poshyvanyk, D.; Gyimóthy, T. New conceptual coupling and cohesion metrics for object-oriented systems. In Proceedings of the 10th IEEE Working Conference on Source Code Analysis and Manipulation, Timisoara, Romania, 12–13 September 2010; pp. 33–42. [Google Scholar]
  85. Kazemi, A.; Azizkandi, A.N.; Rostampour, A.; Haghighi, H.; Jamshidi, P.; Shams, F. Measuring the conceptual coupling of services using latent semantic indexing. In Proceedings of the IEEE International Conference on Services Computing, Washington, DC, USA, 4–9 July 2011; pp. 504–511. [Google Scholar]
  86. Riehle, D.; Züllighoven, H. Understanding and using patterns in software development. Tapos 1996, 2, 3–13. [Google Scholar] [CrossRef]
  87. France, R.B.; Kim, D.K.; Ghosh, S.; Song, E. A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 2004, 30, 193–206. [Google Scholar] [CrossRef]
  88. Costa Seco, J.; Lourenço, H.; Parreira, J.; Ferreira, C. Going beyond templates: Composition and Evolution in Nested OSTRICH. Softw. Syst. Model. 2024, 1–26. [Google Scholar] [CrossRef]
  89. Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional: Saddle River, NJ, USA, 1994. [Google Scholar]
  90. Al-Obeidallah, M.G.; Petridis, M.; Kapetanakis, S. A survey on design pattern detection approaches. Int. J. Softw. Eng. (IJSE) 2016, 7, 41–59. [Google Scholar]
  91. Antoniol, G.; Fiutem, R.; Cristoforetti, L. Using metrics to identify design patterns in object-oriented software. In Proceedings of the IEEE Fifth International Software Metrics Symposium. Metrics, Bethesda, MD, USA, 20–21 November 1998; pp. 23–34. [Google Scholar]
  92. Antoniol, G.; Casazza, G.; Di Penta, M.; Fiutem, R. Object-oriented design patterns recovery. J. Syst. Softw. 2001, 59, 181–196. [Google Scholar] [CrossRef]
  93. Nguyen, T.T.; Nguyen, H.A.; Pham, N.H.; Al-Kofahi, J.M.; Nguyen, T.N. Graph-based mining of multiple object usage patterns. In Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT symposium on the Foundations of Software Engineering, Amsterdam, The Netherlands, 24–28 August 2009; pp. 383–392. [Google Scholar]
  94. Tsai, W.T.; Tu, Y.; Shao, W.; Ebner, E. Testing extensible design patterns in object-oriented frameworks through scenario templates. In Proceedings of the IEEE Twenty-Third Annual International Computer Software and Applications Conference, Phoenix, AZ, USA, 29 October 1999; pp. 166–171. [Google Scholar]
  95. Heydarnoori, A.; Czarnecki, K.; Binder, W.; Bartolomei, T.T. Two studies of framework-usage templates extracted from dynamic traces. IEEE Trans. Softw. Eng. 2011, 38, 1464–1487. [Google Scholar] [CrossRef]
  96. Smirnov, S.; Weidlich, M.; Mendling, J.; Weske, M. Action patterns in business process model repositories. Comput. Ind. 2012, 63, 98–111. [Google Scholar] [CrossRef]
  97. Barros, O.; Varas, S. Frameworks derived from business process patterns. Department of Industrial Engineering at the University of Chile. Available online: https://www.dii.uchile.cl/~ceges/publicaciones/ceges56.pdf (accessed on 12 March 2025).
  98. Barros, O. Business process patterns and frameworks: Reusing Knowledge in Process Innovation. Bus. Process Manag. J. 2007, 13, 47–69. [Google Scholar] [CrossRef]
  99. Röder, H. Specifying usability features with patterns and templates. In Proceedings of the IEEE First International Workshop on Usability and Accessibility Focused Requirements Engineering (UsARE), Zurich, Switzerland, 4 June 2012; pp. 6–11. [Google Scholar]
  100. Schmidt, D.C. Using Design Patterns to Develop Reusable Object-Oriented Communication Software. Commun. ACM 1995, 38, 65–74. [Google Scholar] [CrossRef]
  101. Huda, Z.U.; Jannesari, A.; Wolf, F. Using template matching to infer parallel design patterns. ACM Trans. Archit. Code Optim. (TACO) 2015, 11, 1–21. [Google Scholar] [CrossRef]
  102. Yoshizawa, M.; Washizaki, H.; Fukazawa, Y.; Okubo, T.; Kaiya, H.; Yoshioka, N. Implementation support of security design patterns using test templates. Information 2016, 7, 34. [Google Scholar] [CrossRef]
  103. Tsai, M.J.; Chen, D.J. Generating user interface for mobile phone devices using template-based approach and generic software framework. J. Inf. Sci. Eng. 2007, 23, 1189–1211. [Google Scholar]
  104. Neves, L.; Borba, P.; Alves, V.; Turnes, L.; Teixeira, L.; Sena, D.; Kulesza, U. Safe evolution templates for software product lines. J. Syst. Softw. 2015, 106, 42–58. [Google Scholar] [CrossRef]
  105. Ríos, J.L.; Machado-Píriz, F. A Case Study to Evaluate Templates & Metadata for Developing Application Families. In Advances and Innovations in Systems, Computing Sciences and Software Engineering; Elleithy, K., Ed.; Springer: Dordrecht, The Netherlands, 2007; pp. 241–246. [Google Scholar] [CrossRef]
  106. Suomalainen, T.; Kuusela, R.; Tihinen, M. Continuous planning: An Important Aspect of Agile and Lean Development. Int. J. Agil. Syst. Manag. 2015, 8, 132–162. [Google Scholar] [CrossRef]
  107. Ska, Y.; Janani, P. A study and analysis of continuous delivery, continuous integration in software development environment. Int. J. Emerg. Technol. Innov. Res. 2019, 6, 96–107. [Google Scholar]
  108. Jansen, S.; Ballintijn, G.; Brinkkemper, S.; van Nieuwland, A. Integrated development and maintenance for the release, delivery, deployment, and customization of product software: A Case Study in Mass-Market ERP Software. J. Softw. Maint. Evol. Res. Pract. 2006, 18, 133–151. [Google Scholar] [CrossRef]
  109. Sheijani, O.S.; Izadi, A. Time optimization during software implementation for timely delivery using meta-heuristic algorithms. Int. J. Mach. Learn. Comput. 2019, 9, 581–585. [Google Scholar] [CrossRef]
  110. Liu, X.; Yang, Y.; Chen, J.; Wang, Q.; Li, M. Achieving on-time delivery: A Two-Stage Probabilistic Scheduling Strategy for Software Projects. In Trustworthy Software Development Processes, Proceedings of the International Conference on Software Process, ICSP 2009, Vancouver, BC, Canada, 16–17 May 2009; Springer: Berlin/Heidelberg, Germany; pp. 317–329.
  111. Kuyumdzhiev, I. A model for timely delivery of it solutions for Bulgarian universities. In Proceedings of the International multidisciplinary scientific geoconference SGEM, Albena, Bulgaria, 18–24 August 2020; pp. 3–10. [Google Scholar]
  112. Greer, D.; Bustard, D.W. Towards an evolutionary software delivery strategy based on soft systems and risk analysis. In Proceedings of the IEEE Symposium and Workshop on Engineering of Computer-Based Systems, Friedrichshafen, Germany, 11–15 March 1996; pp. 126–133. [Google Scholar]
  113. Neely, S.; Stolt, S. Continuous delivery? easy! just change everything (well, maybe it is not that easy). In Proceedings of the IEEE Agile Conference, Nashville, TN, USA, 5–9 August 2013; pp. 121–128. [Google Scholar]
  114. Shahin, M.; Zahedi, M.; Babar, M.A.; Zhu, L. An empirical study of architecting for continuous delivery and deployment. Empir. Softw. Eng. 2019, 24, 1061–1108. [Google Scholar] [CrossRef]
  115. Vassallo, C.; Zampetti, F.; Romano, D.; Beller, M.; Panichella, A.; Di Penta, M.; Zaidman, A. Continuous Delivery Practices in a Large Financial Organization. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME), Raleigh, NC, USA, 2–7 October 2016; pp. 519–528. [Google Scholar] [CrossRef]
  116. Nehls, H.; Ratiu, D. Towards Continuous Delivery for Domain Experts: Using MDE to Integrate Non-Programmers into a Software Delivery Pipeline. In Proceedings of the ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), Munich, Germany, 15–20 September 2019; pp. 598–604. [Google Scholar]
  117. Gopal, A.; Espinosa, J.A.; Gosain, S.; Darcy, D.P. Coordination and performance in global software service delivery: The Vendor’s Perspective. IEEE Trans. Eng. Manag. 2011, 58, 772–785. [Google Scholar] [CrossRef]
  118. Pachouly, J.; Ahirrao, S.; Kotecha, K. A bibliometric survey on the reliable software delivery using predictive analysis. Libr. Philos. Pract. 2020, 2020, 1–27. [Google Scholar]
  119. Mansour, O.H.; Raslan, A.; Ramadan, N. A Proposed Approach for Measuring Maturity Level of Software Delivery. J. Softw. Eng. Appl. 2024, 17, 228–245. [Google Scholar] [CrossRef]
  120. Huijgens, H.; Lamping, R.; Stevens, D.; Rothengatter, H.; Gousios, G.; Romano, D. Strong agile metrics: Mining Log Data to Determine Predictive Power of Software Metrics for Continuous Delivery Teams. In Proceedings of the 11th Joint Meeting on Foundations of Software Engineering, Paderborn, Germany, 4–8 September 2017; pp. 866–871. [Google Scholar]
  121. Bolscher, R.; Daneva, M. Designing software architecture to support continuous delivery and DevOps: A Systematic Literature Review. In Proceedings of the 14th International Conference on Software Technologies, ICSOFT 2019, Prague, Czech Republic, 26–28 July 2019; pp. 27–39. [Google Scholar]
  122. Steffens, A.; Lichter, H.; Döring, J.S. Designing a next-generation continuous software delivery system: Concepts and architecture. In Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, Gothenburg, Sweden, 29 May 2018; pp. 1–7. [Google Scholar]
  123. Mohamed, S.I. Software release management evolution-comparative analysis across agile and DevOps continuous delivery. Int. J. Adv. Eng. Res. Sci. 2016, 3, 236745. [Google Scholar]
  124. Sadiq, M.; Shahid, M. Elicitation and prioritization of software requirements. Int. J. Recent Trends Eng. 2009, 2, 138. [Google Scholar]
  125. Asghar, A.R.; Bhatti, S.N.; Tabassum, A.; Sultan, Z.; Abbas, R. Role of requirements elicitation & prioritization to optimize quality in scrum agile development. Int. J. Adv. Comput. Sci. Appl. 2016, 7. [Google Scholar] [CrossRef]
  126. Greer, D.; Ruhe, G. Software Release Planning: An Evolutionary and Iterative Approach. Inf. Softw. Technol. 2004, 46, 243–253. [Google Scholar] [CrossRef]
  127. Racheva, Z.; Daneva, M.; Buglione, L. Supporting the dynamic reprioritization of requirements in agile development of software products. In Proceedings of the IEEE Second International Workshop on Software Product Management, Barcelona, Spain, 9 September 2008; pp. 49–58. [Google Scholar]
  128. Bakalova, Z.; Daneva, M.; Herrmann, A.; Wieringa, R. Agile requirements prioritization: What happens in practice and what is described in literature. In Proceedings of the 17th International Working Conference on Requirements Engineering: Foundation for Software Quality, REFSQ 2011, Essen, Germany, 28–30 March 2011; pp. 181–195. [Google Scholar]
  129. Daneva, M.; Van Der Veen, E.; Amrit, C.; Ghaisas, S.; Sikkel, K.; Kumar, R.; Ajmeri, N.; Ramteerthkar, U.; Wieringa, R. Agile requirements prioritization in large-scale outsourced system projects: An empirical study. J. Syst. Softw. 2013, 86, 1333–1353. [Google Scholar] [CrossRef]
  130. Jarzębowicz, A.; Sitko, N. Agile requirements prioritization in practice: Results of an industrial survey. Procedia Comput. Sci. 2020, 176, 3446–3455. [Google Scholar] [CrossRef]
  131. Borhan, N.H.; Zulzalil, H.; Hassan, S.A.; Ali, M. Requirements prioritization in agile projects: From Experts’ Perspectives. J. Theor. Appl. Inf. Technol. 2022, 100, 5710–5723. [Google Scholar]
  132. Bugayenko, Y.; Bakare, A.; Cheverda, A.; Farina, M.; Kruglov, A.; Plaksin, Y.; Pedrycz, W.; Succi, G. Prioritizing tasks in software development: A systematic literature review. PloS ONE 2023, 18, e0283838. [Google Scholar] [CrossRef] [PubMed]
  133. Sedano, T.; Ralph, P.; Péraire, C. The product backlog. In Proceedings of the IEEE/ACM 41st International Conference on Software Engineering (ICSE), Montreal, QC, Canada, 25–31 May 2019; pp. 200–211. [Google Scholar]
  134. Model, K.; Herzwurm, G. Software-Supported Product Backlog Prioritization in Scrum Software Development Projects. In Proceedings of the ICSOB Companion (PhD Retreat, Posters and Industry Track) of the 13th International Conference on Software Business, Bolzano, Italy, 8–11 November 2022. [Google Scholar]
  135. Bugayenko, Y.; Farina, M.; Kruglov, A.; Pedrycz, W.; Plaksin, Y.; Succi, G. Automatically Prioritizing Tasks in Software Development. IEEE Access 2023, 11, 90322–90334. [Google Scholar] [CrossRef]
  136. Silva, A.; Silva, A.; Araújo, T.; Barbosa, R.; Ramos, F.B.A.; Costa, A.A.M.; Perkusich, M.; Dilorenzo, E. Ordering the Product Backlog in Agile Software Development Projects: A Systematic Literature Review. In Proceedings of the SEKE, Pittsburgh, PA, USA, 5–7 July 2017; pp. 74–80. [Google Scholar]
  137. Yingbo, L.; Li, Z.; Jianmin, W. Mining workflow event log to facilitate parallel work item sharing among human resources. Int. J. Comput. Integr. Manuf. 2011, 24, 864–877. [Google Scholar] [CrossRef]
  138. Awad, A.; Zaki, N.M.; Di Francescomarino, C. Analyzing and repairing overlapping work items in process logs. Inf. Softw. Technol. 2016, 80, 110–123. [Google Scholar] [CrossRef]
  139. Ko, T.; Jeong, H.D.; Lee, G. Natural language processing–driven model to extract contract change reasons and altered work items for advanced retrieval of change orders. J. Constr. Eng. Manag. 2021, 147, 04021147. [Google Scholar] [CrossRef]
  140. Herbsleb, J.D.; Mockus, A. An empirical study of speed and communication in globally distributed software development. IEEE Trans. Softw. Eng. 2003, 29, 481–494. [Google Scholar] [CrossRef]
  141. Salaou, A.D.; Damian, D.; Lassenius, C.; Voda, D.; Gançarski, P. Archetypes of delay: An Analysis of Online Developer Conversations on Delayed Work Items in IBM Jazz. Inf. Softw. Technol. 2021, 129, 106435. [Google Scholar] [CrossRef]
  142. Treude, C.; Storey, M.A. Work item tagging: Communicating concerns in collaborative software development. IEEE Trans. Softw. Eng. 2010, 38, 19–34. [Google Scholar] [CrossRef]
  143. Mukherjee, D.; Garg, M. Which work-item updates need your response? In Proceedings of the IEEE 10th Working Conference on Mining Software Repositories (MSR), San Francisco, CA, USA, 18–19 May 2013; pp. 12–21. [Google Scholar]
  144. Mockus, A. Analogy based prediction of work item flow in software projects: A Case Study. In Proceedings of the IEEE International Symposium on Empirical Software Engineering ISESE 2003, Rome, Italy, 30 September 2003; pp. 110–119. [Google Scholar]
  145. Perez-Rosero, S.; Dyer, R.; Flint, S.W.; McIntosh, S.; Srisa-an, W. WIA-SZZ: Work Item Aware SZZ. Empir. Softw. Eng. 2025, 30, 1–23. [Google Scholar] [CrossRef]
  146. Lämmel, R.; Kerber, A.; Praza, L. Understanding What Software Engineers Are Working on: The Work-Item Prediction Challenge. In Proceedings of the 28th International Conference on Program Comprehension, Seoul, Republic of Korea, 13–15 July 2020; pp. 416–424. [Google Scholar]
  147. Pichler, H.; Edre, J. Towards look-ahead strategies for work item selection. In Proceedings of the IEEE Jordan International Joint Conference on Electrical Engineering and Information Technology (JEEIT), Amman, Jordan, 9–11 April 2019; pp. 752–757. [Google Scholar]
  148. Pflug, J.; Rinderle-Ma, S. Analyzing the effects of reordering work list items for selected control flow patterns. In Proceedings of the IEEE 19th International Enterprise Distributed Object Computing Workshop, Adelaide, SA, Australia, 21–25 September 2015; pp. 14–23. [Google Scholar]
  149. Fageha, M.K.; Aibinu, A.A. Managing project scope definition to improve stakeholders’ participation and enhance project outcome. Procedia-Soc. Behav. Sci. 2013, 74, 154–164. [Google Scholar] [CrossRef]
  150. Object Management Group. OMG Unified Modeling Language (OMG UML). Available online: https://www.omg.org/spec/UML/2.5/PDF (accessed on 18 April 2025).
  151. Official Web Portal of Private General Hospital “Sveti Jovan”, Zrenjanin, Serbia. Available online: https://www.sveti-jovan.com/ (accessed on 23 March 2025).
  152. Kazi, L.; Kazi, Z.; Radulović, B.; Ljubojev, N.; Davidov, M.; Prljić, V.; Nenin, N.; Kohajm, T. Data Migration Within Extending Software Functionality: An Accounting Software Case Study. In Proceedings of the Engineering Management and Competitiveness (EMC 2024), Zrenjanin, Serbia, 21–22 June 2024; pp. 256–262. [Google Scholar]
Figure 1. Simplified business process model of DA Scrum lifecycle.
Figure 1. Simplified business process model of DA Scrum lifecycle.
Applsci 15 05091 g001
Figure 2. (a) Abstract Data Flow Diagram with the context diagram and the first level of decomposition; (b) Abstract business process diagram (similar to BPMN).
Figure 2. (a) Abstract Data Flow Diagram with the context diagram and the first level of decomposition; (b) Abstract business process diagram (similar to BPMN).
Applsci 15 05091 g002
Figure 3. The general concept of the proposed BPriS method.
Figure 3. The general concept of the proposed BPriS method.
Applsci 15 05091 g003
Figure 4. The essential elements and results of the proposed BPriS method.
Figure 4. The essential elements and results of the proposed BPriS method.
Applsci 15 05091 g004
Figure 5. Activity diagram of the proposed BPriS method.
Figure 5. Activity diagram of the proposed BPriS method.
Applsci 15 05091 g005
Figure 6. Example of an abstract business process model with categorization of business processes in an enterprise.
Figure 6. Example of an abstract business process model with categorization of business processes in an enterprise.
Applsci 15 05091 g006
Figure 7. Example of abstract business process model segmentation according to a project scope.
Figure 7. Example of abstract business process model segmentation according to a project scope.
Applsci 15 05091 g007
Figure 10. Data input form for billing within the developed accounting software.
Figure 10. Data input form for billing within the developed accounting software.
Applsci 15 05091 g010
Figure 11. Monthly billing recapitulation report—report type selection, data processing and print preview form in the developed accounting software.
Figure 11. Monthly billing recapitulation report—report type selection, data processing and print preview form in the developed accounting software.
Applsci 15 05091 g011
Figure 12. Business process model with processes in project scope for the case study project.
Figure 12. Business process model with processes in project scope for the case study project.
Applsci 15 05091 g012
Figure 13. Business process model with processes in two related software projects with each project’s scope visual boundaries.
Figure 13. Business process model with processes in two related software projects with each project’s scope visual boundaries.
Applsci 15 05091 g013
Figure 14. UML use case diagram with software functions of the developed billing and reporting software.
Figure 14. UML use case diagram with software functions of the developed billing and reporting software.
Applsci 15 05091 g014
Figure 15. Component diagram of the developed billing and reporting software.
Figure 15. Component diagram of the developed billing and reporting software.
Applsci 15 05091 g015
Table 1. Mapping table between primitive business processes and supporting software functions with examples of abstract software functions from software functional pattern presented at Figure 9.
Table 1. Mapping table between primitive business processes and supporting software functions with examples of abstract software functions from software functional pattern presented at Figure 9.
PBPPBP TypeFirst Priority SFSecond Priority SFPrecondition SF
Primitive business process 1InputData inputPrint recordData input of basic (coding tables) data
Data input from previous business process model first priority SF
Primitive business process 2OutputTabular data presentationTabular presentation options
Record list options
Single record options
Data input from previous business process model first priority SF
Primitive business process 3ProcessingData processingPrint report
Tabular data presentation
Data input from previous business process model first priority SF
PBP—primitive business process; SF—software function.
Table 2. Ordering of software functions implementations by levels, according to BPriS method.
Table 2. Ordering of software functions implementations by levels, according to BPriS method.
(I)
Global Business Processes Level
(II)
Business Process Model Level
(III)
Set of Software Functions Mapped to a Single Primitive Process Level
  • Core business processes
  • Chronological (top down)
  • “Precondition” software functions
2.
Supporting business processes
2.
Heuristics: Left—right ordering for simultaneous processes
2.
“First priority” software functions
3.
Managerial business processes
3.
”Second priority” software functions
Table 3. Most commonly used software architectures as examples of WILP.
Table 3. Most commonly used software architectures as examples of WILP.
Multi-Layered WILPMVC, MVVM WILPMicroservices WILP
(1) Data Layer (CRUD)(1) Model(1) Data access (CRUD)
(2) Service Layer(2) Controller(2) Micro service logic
(3) Business logic Layer(3) View(3) Micro services integration
(4) Presentation layer(4) View Model
CRUD—Create, Read, Update, Delete operations, MVC—Model View Controller, MVVM—Model View ViewModel, WILP—Work Items List Pattern.
Table 4. Table for creating DA-FOWIL as a result of BPriS method.
Table 4. Table for creating DA-FOWIL as a result of BPriS method.
DA-FOWIL
PBPSFORWI
<PBP data><SF data><OR data><WI data>
PBP—primitive business process, SF—software function derived from primitive business process, OR—Order of work item implementation WI—work items for software function implementation, based on selected WILP.
Table 5. Mapping table as a result of BPriS method in the case study project.
Table 5. Mapping table as a result of BPriS method in the case study project.
PBPPBP TypeFirst Priority SFSecond Priority SFPrecondition SF
Finance (Billing)InputBilling data inputBill printCoding tables data input: types of documents, type of payment, banks, patients, patient’s employment companies
Data input from previous business process: medical records—out of scope
Quality management and reporting (in financial domain)ProcessingMonthly billing report processingMonthly billing report printBilling data input
Table 6. Table with DA-FOWIL as a result of BPriS method in the case study project.
Table 6. Table with DA-FOWIL as a result of BPriS method in the case study project.
DA-FOWIL
PBPSFORWI
Finance (Billing)Example of
coding table:
types of documents data input
1(1) Data Layer (CRUD) types of documents
2(2) Service Layer types of documents
3(3) Business logic Layer types of documents
4(4) Presentation layer types of documents
The rest of coding tables data input5–20For each: “type of payment, banks, patients, patient’s employment companies” × 4 = 16
Billing data input21(1) Data Layer (CRUD) Billing data
22(2) Service Layer Billing data
23(3) Business logic Layer Billing data
24(4) Presentation layer Billing data
Bill print25(1) Data Layer (CRUD) Billing data
26(2) Service Layer Billing data
27(3) Business logic Layer Billing data
28(4) Presentation layer Billing data
Quality management and reporting (in financial domainMonthly billing report processing29(1) Data Layer (CRUD) Monthly billing report
30(2) Service Layer Monthly billing report
31(3) Business logic Layer Monthly billing report
32(4) Presentation layer Monthly billing report
Monthly billing report print33(1) Data Layer (CRUD) Monthly billing report
34(2) Service Layer Monthly billing report
35(3) Business logic Layer Monthly billing report
36(4) Presentation layer Monthly billing report
PBP—primitive business process, SF—software function, OR—Order of implementation, WI—work items.
Table 7. Extended mapping table for the two related projects as a result of the BPriS method in the case study.
Table 7. Extended mapping table for the two related projects as a result of the BPriS method in the case study.
ProjectPBPPBP TypeFirst Priority SFSecond Priority SFPrecondition SF
Project 1Finance (Billing)InputBilling data inputBill printCoding tables data input: types of documents, type of payment, banks, patients, patient’s employment companies
Data input from previous business process: medical records—out of scope
Project 2Quality management and reporting (in financial domain)ProcessingMonthly billing report processingMonthly billing report printBilling data input
Table 8. Extended table with DA-FOWIL as a result of the BPriS method in the case study for two software projects.
Table 8. Extended table with DA-FOWIL as a result of the BPriS method in the case study for two software projects.
DA-FOWIL
PROJECTPBPSFORWI
Project 1Finance (Billing)Example of
coding table:
types of documents data input
1(1) Data Layer (CRUD) types of documents
2(2) Service Layer types of documents
3(3) Business logic Layer types of documents
4(4) Presentation layer types of documents
The rest of coding tables data input5–20For each: “type of payment, banks, patients, patient’s employment companies” × 4 = 16
Billing data input21(1) Data Layer (CRUD) Billing data
22(2) Service Layer Billing data
23(3) Business logic Layer Billing data
24(4) Presentation layer Billing data
Bill print25(1) Data Layer (CRUD) Billing data
26(2) Service Layer Billing data
27(3) Business logic Layer Billing data
28(4) Presentation layer Billing data
Project 2Quality management and reporting (in financial domainMonthly billing report processing29(1) Data Layer (CRUD) Monthly billing report
30(2) Service Layer Monthly billing report
31(3) Business logic Layer Monthly billing report
32(4) Presentation layer Monthly billing report
Monthly billing report print33(1) Data Layer (CRUD) Monthly billing report
34(2) Service Layer Monthly billing report
35(3) Business logic Layer Monthly billing report
36(4) Presentation layer Monthly billing report
Table 9. Short comparison of key previous research results to the BPriS method and artifacts.
Table 9. Short comparison of key previous research results to the BPriS method and artifacts.
ASPECTRef.
Contribution/Limitation
BPriS Method and Artifacts
Business process mapping to software designBusiness process model mapping to use cases [49], software components [27,55,60,61,62,63,64] or solutions [73,74]Mapping of primitive business process from business process model to sets of software functions—each primitive business process is assigned to prioritized set of software functions to support that business process
Mapping table enables multiple designs for software support and their comparison
Software semantic couplingStructural coupling of classes in object-oriented programming [77]
Semantics extracted from identifiers (names) in code [79,80]
Semantic coupling of software functions: (1) within support to the same primitive process; (2) between chronologically neighbor processes
Software functional patternsConceptual, design and programming patterns [86], structural patterns [91] of classes in object-oriented programming [89]
Software usability patterns [99] as commonly used software functions
Functional patterns for software product lines [104,105]
Software functional patterns to support development of different types (regarding implementation technology) of software [100,101,102,103]
Software functional patterns as typical functions for some type of software, supported by a particular technology (similar approach to [100,101,102,103]
Agile software development planning and automationSoftware development process model, agile continuous planning [106], delivery and integration [107]
Domain experts [116] and clients [117] to be included in the process
Automation and DevOps practice [121,122]
Development planning based on business process model, software functional patterns and work items list patterns
Table for mapping primitive business processes to prioritized sets of software functions
Work items list patterns based on software architectures
Agile software release planning and prioritizationRequirements-based prioritization of work items list [125]
Agile projects prioritization of software requirements [127]
Task prioritization [132]—bug fixes gain more priority
Task priority prediction [135]
Product backlog ordering approaches [136] based on criteria: effort, dependency, business value, risks
Work items list prioritized according to business processes classification and segmentation, software functional patterns and prioritization in the mapping table, work items list patterns and software architecture-based prioritization with bottom-up approach
Workflow patternsPatterns in organization of processes [33], useful for workflow management systems
Action patterns in business process models that appear together and could be assigned to objects in software implementation [96]
BPriS method do not propose workflow patterns, since it is out of scope of this method (BPM is an input to BPriS method), workflow pattern from [32] is used for business process level of prioritization—(1) core, (2) supporting, (3) management
Software development work items list patternsExtraction of software development workflow items from past projects and prediction of new workflow items [144]
Sorting and reordering of work items and impact to performance [147,148]
BPriS method propose derivation of work items list items from business process model, software functional patterns and workflow items list pattern based on the selected technology
Prioritization of work items list is based on: (1) business processes categorization and software development prioritization according to business process categories, (2) prioritization of software functions assigned to each process (first priority, second priority, preconditions), (3) bottom-up approach to software architecture elements that are included in the work items list pattern.
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.

Share and Cite

MDPI and ACS Style

Kazi, L.; Kazi, Z. BPriS: Disciplined Agile Delivery Planning Method Based on Work Items List Pattern Applied to Prioritized Semantically Coupled Software Functions Derived from Business Process Model and Software Functional Pattern. Appl. Sci. 2025, 15, 5091. https://doi.org/10.3390/app15095091

AMA Style

Kazi L, Kazi Z. BPriS: Disciplined Agile Delivery Planning Method Based on Work Items List Pattern Applied to Prioritized Semantically Coupled Software Functions Derived from Business Process Model and Software Functional Pattern. Applied Sciences. 2025; 15(9):5091. https://doi.org/10.3390/app15095091

Chicago/Turabian Style

Kazi, Ljubica, and Zoltan Kazi. 2025. "BPriS: Disciplined Agile Delivery Planning Method Based on Work Items List Pattern Applied to Prioritized Semantically Coupled Software Functions Derived from Business Process Model and Software Functional Pattern" Applied Sciences 15, no. 9: 5091. https://doi.org/10.3390/app15095091

APA Style

Kazi, L., & Kazi, Z. (2025). BPriS: Disciplined Agile Delivery Planning Method Based on Work Items List Pattern Applied to Prioritized Semantically Coupled Software Functions Derived from Business Process Model and Software Functional Pattern. Applied Sciences, 15(9), 5091. https://doi.org/10.3390/app15095091

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop