B. B. N. França, Rachel Vital Simões, Valeria Silva, G. Travassos
Continuous Planning (CP) is a management practice inspired in principles from the agile and lean software development. In this paper, we present in detail the case of a small Brazilian software company on moving from an agile background towards CP, due to a constant changing environment. Furthermore, we discuss the reported case in the light of the technical literature on CP. Although observing evidence on benefits and challenges, the CP adoption at all levels using a "big-bang" approach may be disastrous. Therefore, we advocate the need for more systematic studies on CP, despite the complexity of observing it into real case environments.
{"title":"Escaping from the Time Box towards Continuous Planning: An Industrial Experience","authors":"B. B. N. França, Rachel Vital Simões, Valeria Silva, G. Travassos","doi":"10.1109/RCoSE.2017.5","DOIUrl":"https://doi.org/10.1109/RCoSE.2017.5","url":null,"abstract":"Continuous Planning (CP) is a management practice inspired in principles from the agile and lean software development. In this paper, we present in detail the case of a small Brazilian software company on moving from an agile background towards CP, due to a constant changing environment. Furthermore, we discuss the reported case in the light of the technical literature on CP. Although observing evidence on benefits and challenges, the CP adoption at all levels using a \"big-bang\" approach may be disastrous. Therefore, we advocate the need for more systematic studies on CP, despite the complexity of observing it into real case environments.","PeriodicalId":394266,"journal":{"name":"2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129924020","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}
Kapil Singi, Vikrant S. Kaulgud, V. Sharma, Neville Dubash, Sanjay Podder
Software Testing is an essential aspect to ensure software quality, reliability and consistent user experience. Digital applications such as mobile app usually follow rapid software delivery which consists of various releases. It typically uses insights from the development data such as defects, test logs for test execution optimization. Once the application is released and deployed, there is rich availability of untapped heterogeneous data which can also be effectively utilized for the next release test execution optimization. The data from the release includes direct customer feedback, application monitoring data such as user behavioral traces, device usages, release logs. In this position paper, we discuss about the various data sources and the multiple insights which can be derived from them. We also propose a framework which uses Analytical Hierarchy Process to prioritize the tests based on these insights available from the release data. The framework also recommends the prioritized and missed device configurations for next release test planning.
{"title":"Test Optimization from Release Insights: An Analytical Hierarchy Approach","authors":"Kapil Singi, Vikrant S. Kaulgud, V. Sharma, Neville Dubash, Sanjay Podder","doi":"10.1109/RCoSE.2017.2","DOIUrl":"https://doi.org/10.1109/RCoSE.2017.2","url":null,"abstract":"Software Testing is an essential aspect to ensure software quality, reliability and consistent user experience. Digital applications such as mobile app usually follow rapid software delivery which consists of various releases. It typically uses insights from the development data such as defects, test logs for test execution optimization. Once the application is released and deployed, there is rich availability of untapped heterogeneous data which can also be effectively utilized for the next release test execution optimization. The data from the release includes direct customer feedback, application monitoring data such as user behavioral traces, device usages, release logs. In this position paper, we discuss about the various data sources and the multiple insights which can be derived from them. We also propose a framework which uses Analytical Hierarchy Process to prioritize the tests based on these insights available from the release data. The framework also recommends the prioritized and missed device configurations for next release test planning.","PeriodicalId":394266,"journal":{"name":"2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129376005","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}
The recent upsurge of Apps, APIs and Cloud platforms, combined with the perpetual need of shorter time to market, motivates the need for approaches for rapid software engineering to compose applications quickly. In this paper, we propose a portal based approach to intelligently assist in creating composite applications. We discuss the underlying concepts and the techniques proposed in our approach, and demonstrate its usage through a liquid application portal. Our approach aims to help automate the processing of visual requirements, intelligently identify reusable components based on the requirements, and help in designing the application on a visual canvas using these components. The approach results in a manifest that can serve as a blueprint to compose the application quickly on modern platforms. We show a use-case to walk-through all stages of our proposed approach and describe the proof-of-concept for the same.
{"title":"An Application Composition Approach for Rapid Software Engineering","authors":"P. Debnath, V. Sharma, Vikrant S. Kaulgud","doi":"10.1109/RCoSE.2017.3","DOIUrl":"https://doi.org/10.1109/RCoSE.2017.3","url":null,"abstract":"The recent upsurge of Apps, APIs and Cloud platforms, combined with the perpetual need of shorter time to market, motivates the need for approaches for rapid software engineering to compose applications quickly. In this paper, we propose a portal based approach to intelligently assist in creating composite applications. We discuss the underlying concepts and the techniques proposed in our approach, and demonstrate its usage through a liquid application portal. Our approach aims to help automate the processing of visual requirements, intelligently identify reusable components based on the requirements, and help in designing the application on a visual canvas using these components. The approach results in a manifest that can serve as a blueprint to compose the application quickly on modern platforms. We show a use-case to walk-through all stages of our proposed approach and describe the proof-of-concept for the same.","PeriodicalId":394266,"journal":{"name":"2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE)","volume":"279 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114273227","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}
Software engineers have to cope with uncertainties and changing requirements. Agile methods provide flexibility towards changes and the emergence of continuous delivery has made regular feedback loops possible. The abilities to maintain high code quality through reviews, to regularly release software, and to collect and prioritize user feedback, are necessary for continuous software engineering (CSE). However, there exists no software process metamodel that handles the continuous character of software engineering. In this paper, we describe an empirical process metamodel for continuous software engineering called CSEPM, which treats development activities as parallel running workflows and allows tailoring and customization. CSEPM includes static aspects that describe the relations between specific CSE concepts including reviews, releases, and feedback. It also describes the dynamic aspect of CSE, how development workflows are activated through change events. We show how CSEPM allows to instantiate linear, iterative, agile and continuous process models and how it enables tailoring and customization.
{"title":"CSEPM - A Continuous Software Engineering Process Metamodel","authors":"Stephan Krusche, B. Brügge","doi":"10.1109/RCoSE.2017.6","DOIUrl":"https://doi.org/10.1109/RCoSE.2017.6","url":null,"abstract":"Software engineers have to cope with uncertainties and changing requirements. Agile methods provide flexibility towards changes and the emergence of continuous delivery has made regular feedback loops possible. The abilities to maintain high code quality through reviews, to regularly release software, and to collect and prioritize user feedback, are necessary for continuous software engineering (CSE). However, there exists no software process metamodel that handles the continuous character of software engineering. In this paper, we describe an empirical process metamodel for continuous software engineering called CSEPM, which treats development activities as parallel running workflows and allows tailoring and customization. CSEPM includes static aspects that describe the relations between specific CSE concepts including reviews, releases, and feedback. It also describes the dynamic aspect of CSE, how development workflows are activated through change events. We show how CSEPM allows to instantiate linear, iterative, agile and continuous process models and how it enables tailoring and customization.","PeriodicalId":394266,"journal":{"name":"2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE)","volume":"2011 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114503211","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}
Lukas Alperowitz, Andrea Marie Weintraud, S. Kofler, B. Brügge
Developing for devices like smartphones, tablets or smartwatches is more than just "shipping code". Especially in mobile development there is a strong focus on user interface design and user experience. In order to explore the design space, development teams and designers need early feedback from users testing the designs. Continuous Delivery (CD) is a well-established technique for the delivery of software. In this paper we describe Continuous Prototyping which extends CD to cover the delivery of early artifacts like user interface mockups that usually do not benefit from an automated delivery process. Continuous Prototyping enables stakeholders to receive all artifacts through a unified delivery pipeline in fast cycles, from the first mockup to the finished product. We developed PROTOTYPER as a tool to demonstrate the technical feasibility of Continuous Prototyping. PROTOTYPER allows developers and designers to deliver mockups, mobile applications as will as a mixture of both using the same deployment pipeline. In a experiment with 42 developers we found that applying Continuous Prototyping not only reduces the cycle time for delivering mockups and receiving feedback but also facilitates the frequent delivery of mockups in early project stages.
{"title":"Continuous Prototyping","authors":"Lukas Alperowitz, Andrea Marie Weintraud, S. Kofler, B. Brügge","doi":"10.1109/RCoSE.2017.7","DOIUrl":"https://doi.org/10.1109/RCoSE.2017.7","url":null,"abstract":"Developing for devices like smartphones, tablets or smartwatches is more than just \"shipping code\". Especially in mobile development there is a strong focus on user interface design and user experience. In order to explore the design space, development teams and designers need early feedback from users testing the designs. Continuous Delivery (CD) is a well-established technique for the delivery of software. In this paper we describe Continuous Prototyping which extends CD to cover the delivery of early artifacts like user interface mockups that usually do not benefit from an automated delivery process. Continuous Prototyping enables stakeholders to receive all artifacts through a unified delivery pipeline in fast cycles, from the first mockup to the finished product. We developed PROTOTYPER as a tool to demonstrate the technical feasibility of Continuous Prototyping. PROTOTYPER allows developers and designers to deliver mockups, mobile applications as will as a mixture of both using the same deployment pipeline. In a experiment with 42 developers we found that applying Continuous Prototyping not only reduces the cycle time for delivering mockups and receiving feedback but also facilitates the frequent delivery of mockups in early project stages.","PeriodicalId":394266,"journal":{"name":"2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE)","volume":"134 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123223440","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}
Zeinab Farahmandpour, Steven Versteeg, Jun Han, Anand Kameswaran
Service virtualization is an approach that uses virtualizedenvironments to automatically test enterprise services inproduction-like conditions. Many techniques have been proposedto provide such a realistic environment for enterprise services. The Internet-of-Things (IoT) is an emerging field which connectsa diverse set of devices over different transport layers, usinga variety of protocols. Provisioning a virtual testbed of IoTdevices can accelerate IoT application development by enablingautomated testing without requiring a continuous connection tothe physical devices. One solution is to expand existing enterpriseservice virtualization to IoT environments. There are variousstructural differences between the two environments that shouldbe considered to implement appropriate service virtualizationfor IoT. This paper examines the structural differences betweenvarious IoT protocols and enterprise protocols and identifies keytechnical challenges that need to be addressed to implementservice virtualization in IoT environments.
{"title":"Service Virtualisation of Internet-of-Things Devices: Techniques and Challenges","authors":"Zeinab Farahmandpour, Steven Versteeg, Jun Han, Anand Kameswaran","doi":"10.1109/RCoSE.2017.4","DOIUrl":"https://doi.org/10.1109/RCoSE.2017.4","url":null,"abstract":"Service virtualization is an approach that uses virtualizedenvironments to automatically test enterprise services inproduction-like conditions. Many techniques have been proposedto provide such a realistic environment for enterprise services. The Internet-of-Things (IoT) is an emerging field which connectsa diverse set of devices over different transport layers, usinga variety of protocols. Provisioning a virtual testbed of IoTdevices can accelerate IoT application development by enablingautomated testing without requiring a continuous connection tothe physical devices. One solution is to expand existing enterpriseservice virtualization to IoT environments. There are variousstructural differences between the two environments that shouldbe considered to implement appropriate service virtualizationfor IoT. This paper examines the structural differences betweenvarious IoT protocols and enterprise protocols and identifies keytechnical challenges that need to be addressed to implementservice virtualization in IoT environments.","PeriodicalId":394266,"journal":{"name":"2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129303388","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}