
Software Process Model (SPM) is an abstraction of the software development process over time to assist in managing the process. SPM has attracted significant attention from researchers and practitioners in the past decades. Due to the complexity of SPM, building a practical process model often requires collaboration between academia and industry. Unfortunately, there are few empirical studies on SPM conducted in collaboration with enterprises. In this paper, we report on the challenges and solutions encountered while modeling software processes based on our collaboration with a global enterprise. These experiences are valuable to both researchers and practitioners. We presented the modeling process in detail and collected all the interview records during collaboration. As a result of building an SPM in the enterprise, we identify seven challenges and discussed solutions for each of them. The fundamental issue with SPM remains the quality and availability of data, even within industry settings. To enhance the value and applicability of models, we propose a checklist for building simulation models. The checklist can be used by modelers and practitioners to verify details that are easily overlooked during the modeling process. Our experience report provides a practical reference with researchers and practitioners who are interested in modeling software process.
Several arguments support the proposition that corporations can be viewed as cognitive entities. But accepting that corporations perform cognitive functions raises questions about how we might describe and assess those functions. In this paper I propose that we can address such questions by viewing corporate cognition in terms of capabilities that are adapted from human cognition. To illustrate this idea, I use the concept of schemas, a human cognitive capability identified by Piaget, which I recast as a corporate cognitive capability. To develop this example, I review schemas as understood in psychology; use scenarios from corporate settings to motivate their relevance to corporations; and describe a hypothetical capability for corporate cognitive schemas using a template that addresses common concerns in enterprise capability modeling. This example gives support to the idea that cognitive capabilities are relevant on the corporate level. It shows that a corporate cognitive capabilities can be practically modeled like conventional business capabilities and that corporate cognitive capabilities can be related to business goals. This work points to a path for practical investigations and applications of a view of corporations as cognitive entities. It further opens a new domain for software process programming.
In microservice platforms with high number of users and heavy traffic, it is necessary to monitor the system, take quick action against errors and ensure the maintainability of the system. However, debugging on these platforms can take a long time. This difficulty arises from the need of understanding the behavior of microservices and detecting their interactions. In this study, which aims to increase the efficiency of DevOps engineers on the work/time unit, it was observed that providing microservice flows and interactions saves operations teams a significant amount of time during debugging. Accordingly, the study focused on microservice interactions and anomaly detection. Firstly, using the log patterns extracted from the microservice logs, different machine learning models were created to predict the previous and next microservices with which the current microservices interacted at a certain moment, and their performances were compared. Then, anomalous data were injected into the microservice logs, models were developed to detect these data and their performances were compared. In the experiments, unsupervised and supervised algorithms are used with 6 different datasets, and successful estimation results were obtained that can contribute positively to the debugging process.
Multi-modeling is an approach within the MDE realm that promotes the development of complex systems by decomposing them in sets of heterogeneous models. These models are defined using different modeling languages and constructed using diverse tools. They represent different but often interdependent views. However, the models of a system are far from being static. They change to accommodate new requirements, functionality improvements, bug fixes, and other evolution events. These changes represent a challenge w.r.t. consistency. This is especially true in security-critical scenarios. Indeed, security information is often integrated within the systems models so that security requirements are met following what is called "security-by-design". In such scenarios, the security concern of the systems models must remain consistent across changes so that security properties continue to hold. In order to tackle this problem, we propose a methodology to enhance the (multi)model-based design phase of a system development process. It comprises the creation of a security federation in which security dependencies between the different models are reified and equipped with security rules expressing security consistency requirements. Then, whenever a model is changed, the security rules are evaluated to monitor the consistency of security across the system models. We evaluate the capabilities of this methodology by a prototype implementation and its application to different use cases.
Many organizations implementing DevOps are adopting DORA metrics to measure their capabilities. Surveys are commonly used to gather the DORA metric data. The data are typically captured only in longer intervals, and on the team level, omitting important details on individual software systems. In this paper, we present a solution that enables completely automated measurement and calculation of the DORA metrics from DevOps tooling on individual microservices level, and in real-time.We evaluated the developed solution in an industrial case study consisting of 37 microservices over a four-week period. The evaluation demonstrated the ability for a completely automated DORA metrics calculation which provides much greater transparency for data-driven decision-making and optimizations on a more fine-granular level allowing teams to continually improve their software processes and outputs.