Textual user stories capture interactions of users with the system as high-level requirements. However, user stories are typically rather short and backlogs can include many stories. This makes it hard to (a) maintain user stories and backlogs, (b) fully understand the scope of a software project without a detailed analysis of the backlog, and (c) analyse how user stories impact design decisions during sprint planning and implementation. This paper proposes a technique to automatically transform textual user stories into visual use case scenarios in the form of robustness diagrams (a semi-formal scenario-based visualisation of workflows). In addition to creating diagrams for individual stories, the technique allows combining diagrams of multiple stories into one diagram to visualise workflows within sets of stories (e.g., a backlog). Moreover, the technique supports “viewpoint-based” diagrams, i.e., diagrams that show relationships between actors, domain entities and user interfaces starting from a diagram element (e.g., an actor) selected by the analyst. The technique utilises natural language processing and rule-based transformations. We evaluated the technique with more than 1,400 user stories from 22 backlogs and show that (a) the technique generates syntactically valid robustness diagrams, and (b) the quality of automatically generated robustness diagrams compares to the quality of diagrams created by human experts, but depends on the quality of the textual user stories.
{"title":"Generating Use Case Scenarios from User Stories","authors":"Fabian Gilson, M. Galster, François Georis","doi":"10.1145/3379177.3388895","DOIUrl":"https://doi.org/10.1145/3379177.3388895","url":null,"abstract":"Textual user stories capture interactions of users with the system as high-level requirements. However, user stories are typically rather short and backlogs can include many stories. This makes it hard to (a) maintain user stories and backlogs, (b) fully understand the scope of a software project without a detailed analysis of the backlog, and (c) analyse how user stories impact design decisions during sprint planning and implementation. This paper proposes a technique to automatically transform textual user stories into visual use case scenarios in the form of robustness diagrams (a semi-formal scenario-based visualisation of workflows). In addition to creating diagrams for individual stories, the technique allows combining diagrams of multiple stories into one diagram to visualise workflows within sets of stories (e.g., a backlog). Moreover, the technique supports “viewpoint-based” diagrams, i.e., diagrams that show relationships between actors, domain entities and user interfaces starting from a diagram element (e.g., an actor) selected by the analyst. The technique utilises natural language processing and rule-based transformations. We evaluated the technique with more than 1,400 user stories from 22 backlogs and show that (a) the technique generates syntactically valid robustness diagrams, and (b) the quality of automatically generated robustness diagrams compares to the quality of diagrams created by human experts, but depends on the quality of the textual user stories.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127185063","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. Klünder, Dzejlana Karajic, Paolo Tell, Oliver Karras, C. Münkel, Jürgen Münch, Stephen G. MacDonell, R. Hebig, M. Kuhrmann
Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. Every project is unique and, thus, many context factors have to be considered. Recent research took some initial steps towards statistically constructing hybrid development methods, yet, paid little attention to the peculiarities of context factors influencing method and practice selection. In this paper, we utilize exploratory factor analysis and logistic regression analysis to learn such context factors and to identify methods that are correlated with these factors. Our analysis is based on 829 data points from the HELENA dataset. We provide five base clusters of methods consisting of up to 10 methods that lay the foundation for devising hybrid development methods. The analysis of the five clusters using trained models reveals only a few context factors, e.g., project/product size and target application domain, that seem to significantly influence the selection of methods. An extended descriptive analysis of these practices in the context of the identified method clusters also suggests a consolidation of the relevant practice sets used in specific project contexts.
{"title":"Determining Context Factors for Hybrid Development Methods with Trained Models","authors":"J. Klünder, Dzejlana Karajic, Paolo Tell, Oliver Karras, C. Münkel, Jürgen Münch, Stephen G. MacDonell, R. Hebig, M. Kuhrmann","doi":"10.1145/3379177.3388898","DOIUrl":"https://doi.org/10.1145/3379177.3388898","url":null,"abstract":"Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. Every project is unique and, thus, many context factors have to be considered. Recent research took some initial steps towards statistically constructing hybrid development methods, yet, paid little attention to the peculiarities of context factors influencing method and practice selection. In this paper, we utilize exploratory factor analysis and logistic regression analysis to learn such context factors and to identify methods that are correlated with these factors. Our analysis is based on 829 data points from the HELENA dataset. We provide five base clusters of methods consisting of up to 10 methods that lay the foundation for devising hybrid development methods. The analysis of the five clusters using trained models reveals only a few context factors, e.g., project/product size and target application domain, that seem to significantly influence the selection of methods. An extended descriptive analysis of these practices in the context of the identified method clusters also suggests a consolidation of the relevant practice sets used in specific project contexts.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"156 12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128732851","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Agile methods were proposed to address the problems of traditional or plan-based software development, e.g., late customer feedback or resistance to change. However, unlike plan-based methods, they are not designed for long-term planning or to cope with large projects. Software companies want the ability of a fast reaction to changes but also the ability of long-term planning. To profit from the strength of both approaches, software companies often use a combination of agile and plan-based methods, called hybrid development approaches. These approaches depend on the respective context of each company. Therefore, the companies have to properly arrange and connect the phases, activities, roles, and artifacts from plan-based and agile approaches individually in their hybrid development approach. This is considered as the organization of hybrid development approaches. However, the organization of hybrid approaches is often difficult for the companies. Until now, research considers only the chosen development methods without the organization of hybrid development approaches. With my work, I want to strengthen the understanding of how hybrid approaches are organized and get a detailed picture of the challenges when organizing hybrid approaches. Based on my findings, I want to develop measures to support practitioners while organizing their development approach.
{"title":"Towards Improving the Organization of Hybrid Development Approaches","authors":"Nils Prenner","doi":"10.1145/3379177.3390304","DOIUrl":"https://doi.org/10.1145/3379177.3390304","url":null,"abstract":"Agile methods were proposed to address the problems of traditional or plan-based software development, e.g., late customer feedback or resistance to change. However, unlike plan-based methods, they are not designed for long-term planning or to cope with large projects. Software companies want the ability of a fast reaction to changes but also the ability of long-term planning. To profit from the strength of both approaches, software companies often use a combination of agile and plan-based methods, called hybrid development approaches. These approaches depend on the respective context of each company. Therefore, the companies have to properly arrange and connect the phases, activities, roles, and artifacts from plan-based and agile approaches individually in their hybrid development approach. This is considered as the organization of hybrid development approaches. However, the organization of hybrid approaches is often difficult for the companies. Until now, research considers only the chosen development methods without the organization of hybrid development approaches. With my work, I want to strengthen the understanding of how hybrid approaches are organized and get a detailed picture of the challenges when organizing hybrid approaches. Based on my findings, I want to develop measures to support practitioners while organizing their development approach.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124658340","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Padmalata V. Nistala, Asha Rajbhoj, V. Kulkarni, K. Nori
Software quality has become the lever of differentiation in today’s competitive marketplace. Quality at speed is the customer demand and automation is the biggest bottleneck holding the evolution of quality function. Increased levels of automation and intelligence in software engineering are the emerging trends across the IT field. As systems and software processes guide the life cycle activities and are the vehicles for building quality, it is necessary to look at the process infrastructure for the extent of process automation support provided and the digital enablement. This paper maps out the existing process infrastructure support in industry practice and proposes a roadmap for digital re-imagination of software and systems processes. Harmonizing the quality engineering themes with digital technologies, we propose a framework for building an intelligent software process infrastructure, iSPIN that can help in digital re-imagination of software and systems lifecycle processes. The framework has been implemented using digital technologies and has been piloted with one of the industry business unit for reimagination of “proposal process”. The proposed iSPIN framework will help in unprecedented automation and quality engineering at each process step and paves the way towards realizing the dictums of “Quality at Speed” and “Digital transformation of Software Process”.
{"title":"Digital Re-imagination of Software and Systems Processes for Quality Engineering: iSPIN Approach","authors":"Padmalata V. Nistala, Asha Rajbhoj, V. Kulkarni, K. Nori","doi":"10.1145/3379177.3388894","DOIUrl":"https://doi.org/10.1145/3379177.3388894","url":null,"abstract":"Software quality has become the lever of differentiation in today’s competitive marketplace. Quality at speed is the customer demand and automation is the biggest bottleneck holding the evolution of quality function. Increased levels of automation and intelligence in software engineering are the emerging trends across the IT field. As systems and software processes guide the life cycle activities and are the vehicles for building quality, it is necessary to look at the process infrastructure for the extent of process automation support provided and the digital enablement. This paper maps out the existing process infrastructure support in industry practice and proposes a roadmap for digital re-imagination of software and systems processes. Harmonizing the quality engineering themes with digital technologies, we propose a framework for building an intelligent software process infrastructure, iSPIN that can help in digital re-imagination of software and systems lifecycle processes. The framework has been implemented using digital technologies and has been piloted with one of the industry business unit for reimagination of “proposal process”. The proposed iSPIN framework will help in unprecedented automation and quality engineering at each process step and paves the way towards realizing the dictums of “Quality at Speed” and “Digital transformation of Software Process”.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"332 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115976983","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Integrating machine learning components in software systems is a task more and more companies are confronted with. However, there is not much knowledge today on how the software development process needs to change, when such components are integrated into a software system. We performed an interview study with 16 participants, focusing on emerging and changing task. The results uncover a set of 25 tasks associated to different software development phases, such as requirements engineering or deployment. We are just starting to understand the implications of using machine-learning components on the software development process. This study allows some first insights into how widespread the required process changes are.
{"title":"Emerging and Changing Tasks in the Development Process for Machine Learning Systems","authors":"Hanyan Liu, Samuel Eksmo, Johan Risberg, R. Hebig","doi":"10.1145/3379177.3388905","DOIUrl":"https://doi.org/10.1145/3379177.3388905","url":null,"abstract":"Integrating machine learning components in software systems is a task more and more companies are confronted with. However, there is not much knowledge today on how the software development process needs to change, when such components are integrated into a software system. We performed an interview study with 16 participants, focusing on emerging and changing task. The results uncover a set of 25 tasks associated to different software development phases, such as requirements engineering or deployment. We are just starting to understand the implications of using machine-learning components on the software development process. This study allows some first insights into how widespread the required process changes are.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125518570","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Human, social, organizational, and technical aspects are intertwined with each other in software teams during the software development process. Practices that teams actually adopt often deviate from those of the used frameworks, such as Scrum. However, currently there is little empirical insight explaining typical deviations, including their reasons and consequences. In this paper we use observations to investigate selected activities of the software development process in two companies that use Scrum. We study identified deviations to understand their reasons and consequences, using a survey and interviews. We identify 13 deviations and we categorize reasons based on type. The deviations’ consequences are investigated in terms of their impact. Most deviations can be found in multiple teams. Reasons are doubts of the teams, organizational structures and complexity of the work. Consequences of deviations affect product development and team work.
{"title":"Why do Software Teams Deviate from Scrum? Reasons and Implications","authors":"M. Mortada, Hamdy Michael Ayas, R. Hebig","doi":"10.1145/3379177.3388899","DOIUrl":"https://doi.org/10.1145/3379177.3388899","url":null,"abstract":"Human, social, organizational, and technical aspects are intertwined with each other in software teams during the software development process. Practices that teams actually adopt often deviate from those of the used frameworks, such as Scrum. However, currently there is little empirical insight explaining typical deviations, including their reasons and consequences. In this paper we use observations to investigate selected activities of the software development process in two companies that use Scrum. We study identified deviations to understand their reasons and consequences, using a survey and interviews. We identify 13 deviations and we categorize reasons based on type. The deviations’ consequences are investigated in terms of their impact. Most deviations can be found in multiple teams. Reasons are doubts of the teams, organizational structures and complexity of the work. Consequences of deviations affect product development and team work.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"176 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123259897","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Context: Following on other scientific disciplines, such as health sciences, the use of grey literature (GL) is becoming widespread in Software Engineering (SE) research. Whilst the number of papers incorporating GL on SE is increasing, there is little empirically known about different aspects of the use of GL in SE research. In particular, there is a lack of excellent evaluation standard for the quality of GL.Aim: Our research is aimed at systematically reviewing the use of GL in SE, empirically exploring SE researchers’ views on GL and providing a guide for using GL in SE and for quality assessment of the GL to be included.Method: We used a mixed-methods approach for this research. We carried out a Systematic Literature Review (SLR) of the use of GL in SE. Then we surveyed the authors of the papers included in the SLR (as GL users) and the invited experts in the SE community on the use of GL in SE research.Results: We systematically selected and reviewed 102 SE secondary studies that incorporate GL in SE research, from which we identified two groups based on their reporting: 1) 76 reviews only claim their use of GL; 2) 26 reviews report the results by including GL. We also obtained 20 replies from the GL users and 24 replies from the invited SE experts.Conclusion: There is no common understanding of the meaning of GL in SE. Researchers define the scopes and the definitions of GL in a variety of ways. We found five main reasons of using GL in SE research. The findings have enabled us to propose a conceptual model for how GL works in SE research lifecycle. In the next work There is a need for research to develop guidelines for using GL in SE and for assessing quality of GL.
{"title":"How to Treat the Use of Grey Literature in Software Engineering","authors":"Xiaoxia Zhou","doi":"10.1145/3379177.3390305","DOIUrl":"https://doi.org/10.1145/3379177.3390305","url":null,"abstract":"Context: Following on other scientific disciplines, such as health sciences, the use of grey literature (GL) is becoming widespread in Software Engineering (SE) research. Whilst the number of papers incorporating GL on SE is increasing, there is little empirically known about different aspects of the use of GL in SE research. In particular, there is a lack of excellent evaluation standard for the quality of GL.Aim: Our research is aimed at systematically reviewing the use of GL in SE, empirically exploring SE researchers’ views on GL and providing a guide for using GL in SE and for quality assessment of the GL to be included.Method: We used a mixed-methods approach for this research. We carried out a Systematic Literature Review (SLR) of the use of GL in SE. Then we surveyed the authors of the papers included in the SLR (as GL users) and the invited experts in the SE community on the use of GL in SE research.Results: We systematically selected and reviewed 102 SE secondary studies that incorporate GL in SE research, from which we identified two groups based on their reporting: 1) 76 reviews only claim their use of GL; 2) 26 reviews report the results by including GL. We also obtained 20 replies from the GL users and 24 replies from the invited SE experts.Conclusion: There is no common understanding of the meaning of GL in SE. Researchers define the scopes and the definitions of GL in a variety of ways. We found five main reasons of using GL in SE research. The findings have enabled us to propose a conceptual model for how GL works in SE research lifecycle. In the next work There is a need for research to develop guidelines for using GL in SE and for assessing quality of GL.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131873065","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Continuous experimentation (CE) refers to a group of practices used by software companies to rapidly assess the usage, value and performance of deployed software using data collected from customers and the deployed system. Despite its increasing popularity in the development of web-facing applications, CE has not been discussed in the development process of business-to-business (B2B) mission-critical systems.We investigated in a case study the use of CE practices within several products, teams and areas inside Ericsson. By observing the CE practices of different teams, we were able to identify the key activities in four main areas and inductively derive an experimentation process, the HURRIER process, that addresses the deployment of experiments with customers in the B2B and with mission-critical systems. We illustrate this process with a case study in the development of a large mission-critical functionality in the Long Term Evolution (4G) product. In this case study, the HURRIER process is not only used to validate the value delivered by the solution but to increase the quality and the confidence from both the customers and the R&D organization in the deployed solution. Additionally, we discuss the challenges, opportunities and lessons learned from applying CE and the HURRIER process in B2B mission-critical systems.
{"title":"Experimentation for Business-to-Business Mission-Critical Systems: A Case Study","authors":"D. I. Mattos, Anas Dakkak, J. Bosch, H. H. Olsson","doi":"10.1145/3379177.3388902","DOIUrl":"https://doi.org/10.1145/3379177.3388902","url":null,"abstract":"Continuous experimentation (CE) refers to a group of practices used by software companies to rapidly assess the usage, value and performance of deployed software using data collected from customers and the deployed system. Despite its increasing popularity in the development of web-facing applications, CE has not been discussed in the development process of business-to-business (B2B) mission-critical systems.We investigated in a case study the use of CE practices within several products, teams and areas inside Ericsson. By observing the CE practices of different teams, we were able to identify the key activities in four main areas and inductively derive an experimentation process, the HURRIER process, that addresses the deployment of experiments with customers in the B2B and with mission-critical systems. We illustrate this process with a case study in the development of a large mission-critical functionality in the Long Term Evolution (4G) product. In this case study, the HURRIER process is not only used to validate the value delivered by the solution but to increase the quality and the confidence from both the customers and the R&D organization in the deployed solution. Additionally, we discuss the challenges, opportunities and lessons learned from applying CE and the HURRIER process in B2B mission-critical systems.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134633977","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Yue Li, He Zhang, Liming Dong, Bohan Liu, Jinyu Ma
Background: Software Process Simulation Modeling (SPSM) is of paramount importance to support quantitative management of software development process. Hybrid process simulation combines multiple simulation paradigms to reflect complex changes in realistic software processes, which brings inherent challenges to process management. Constructing a hybrid model requires more modeling expertise and experience than modeling by solo-paradigm. However, a few studies explicitly discuss the challenges they encountered as a topic, which may discourage practitioners.Objective: Our aim in this study is to present an industrial process modeling project as an exemplar to demonstrate and discuss the technical issues and challenges associated with hybrid process simulation in practice.Method: Based on the collaboration with a global software enterprise, we constructed a hybrid process simulation model that combines System Dynamics (SD) and Discrete Event Simulation (DES) to predict the project duration and release date for management.Results: Several challenges around hybrid process simulation of software development process are identified and discussed with the proposal of sets of solutions from different perspectives. The model is validated by comparing the simulation result with the actual enactment of the process in industry. In addition, the result confirms the rationality and efficacy of the suggested solutions to some extent.Conclusions: In the collaboration with the enterprise, five-step modeling procedure was adopted for constructing the hybrid process model. The experience reported about the detailed steps of hybrid modeling may offer reference value to the SPSM community.
{"title":"Constructing a Hybrid Software Process Simulation Model in Practice: An Exemplar from Industry","authors":"Yue Li, He Zhang, Liming Dong, Bohan Liu, Jinyu Ma","doi":"10.1145/3379177.3388906","DOIUrl":"https://doi.org/10.1145/3379177.3388906","url":null,"abstract":"Background: Software Process Simulation Modeling (SPSM) is of paramount importance to support quantitative management of software development process. Hybrid process simulation combines multiple simulation paradigms to reflect complex changes in realistic software processes, which brings inherent challenges to process management. Constructing a hybrid model requires more modeling expertise and experience than modeling by solo-paradigm. However, a few studies explicitly discuss the challenges they encountered as a topic, which may discourage practitioners.Objective: Our aim in this study is to present an industrial process modeling project as an exemplar to demonstrate and discuss the technical issues and challenges associated with hybrid process simulation in practice.Method: Based on the collaboration with a global software enterprise, we constructed a hybrid process simulation model that combines System Dynamics (SD) and Discrete Event Simulation (DES) to predict the project duration and release date for management.Results: Several challenges around hybrid process simulation of software development process are identified and discussed with the proposal of sets of solutions from different perspectives. The model is validated by comparing the simulation result with the actual enactment of the process in industry. In addition, the result confirms the rationality and efficacy of the suggested solutions to some extent.Conclusions: In the collaboration with the enterprise, five-step modeling procedure was adopted for constructing the hybrid process model. The experience reported about the detailed steps of hybrid modeling may offer reference value to the SPSM community.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122712128","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Microservice architecture has been recognized as an important enabler for continuous development of many cloud-based systems. Code generation has been tried in the tool chain of building microservices. However, most existing tools generally do not consider the risks from continuous development.We have been developing a toolkit which generates microservices from application domain models. Our approach aligns development process to this toolkit and coordinates domain modeling activity over project life cycles. In this paper, we describe its framework and corresponding development process which eliminates delays brought by the uncertainty of a project at a relatively early stage. Several minimum viable products have been built upon the proposed approach during the past years, including automated generation of code from domain decomposition. Our result shows 10% saving of effort and fewer issues. Effort saving increases to 30% under an extreme condition with high-rate personnel turnover. We also discuss our findings on running these projects and raise discussion and questions for future enhancement.
{"title":"Process Implications of Executable Domain Models for Microservices Development","authors":"Bo Wang, B. Boehm","doi":"10.1145/3379177.3388896","DOIUrl":"https://doi.org/10.1145/3379177.3388896","url":null,"abstract":"Microservice architecture has been recognized as an important enabler for continuous development of many cloud-based systems. Code generation has been tried in the tool chain of building microservices. However, most existing tools generally do not consider the risks from continuous development.We have been developing a toolkit which generates microservices from application domain models. Our approach aligns development process to this toolkit and coordinates domain modeling activity over project life cycles. In this paper, we describe its framework and corresponding development process which eliminates delays brought by the uncertainty of a project at a relatively early stage. Several minimum viable products have been built upon the proposed approach during the past years, including automated generation of code from domain decomposition. Our result shows 10% saving of effort and fewer issues. Effort saving increases to 30% under an extreme condition with high-rate personnel turnover. We also discuss our findings on running these projects and raise discussion and questions for future enhancement.","PeriodicalId":299473,"journal":{"name":"2020 IEEE/ACM International Conference on Software and System Processes (ICSSP)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132078062","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}