Abstract
With recent and rapid advances in areas such as online games, embedded systems and Internet of Things, the traditional notion of what constitutes a system, as well as how a system is typically developed, is fundamentally changing. Instead of systems that are specified upfront, and for which there are pre-defined purposes and tasks, we are increasingly experiencing a situation in which interconnectivity and emergent configurations of systems allow dynamic system capabilities that evolve and adjust over time. Regarded as the new digital business paradigm, these types of systems offer fundamentally new ways for software development companies in their service- and value creation. At the same time, they present challenges in these organizations. In this paper, and based on multiple case study research in three different domains, we identify emergent system characteristics that pose new challenges on software development. We present a model that outlines the transition from traditional development towards ‘Human/System Synergistic Development’ (HuSySD), in which software development is a joint effort between software development teams and intelligent systems.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
- Online games
- Embedded systems
- Internet of Things
- Self-learning systems
- Self-actuation
- Decentralized control
- ‘Human/System Synergistic Development’
1 Introduction
With recent advances in software technology, we are experiencing a fundamental shift in how people interact with software-intense systems and what is expected from these systems. In different domains, new types of systems are emerging with characteristics that make them very different from the systems we are used to and that software development organizations have traditionally developed. As one example, and as highlighted in a trend forecast published by Gartner [1], Internet of Things systems offer fundamentally new opportunities for value creation, and are rapidly permeating our everyday lives. These systems incorporate a number of functions such as e.g. sensing, actuation and control, and they use advanced data collection and analysis mechanisms to initiate actions and to make decisions in a predictive or adaptive manner [2, 3]. As a result, these systems foster new user behaviors and allow new forms of user interaction, they enable new service- and value creation and they allow innovative business models and opportunities. However, while these new types of systems offer a wide range of opportunities, they also pose significant challenges to the organizations developing these. Instead of being systems that are specified upfront, and for which there are pre-defined purposes and tasks, these systems are interconnected systems in which emergent configurations allow for dynamic system capabilities that evolve and adjust over time, and in which advanced data collection and analysis mechanisms allow continuous and automated optimization of system functionality. For most software development companies, these characteristics make the systems we see emerge very different from the systems that they have traditionally developed.
In this paper, and based on multiple case study research in three different domains, we identify emergent system characteristics that pose new challenges on software development. We present a model that outlines the transition that software development companies experience when moving from traditional development towards what we term ‘Human/System Synergistic Development’ (HuSySD). In this development approach, software development is no longer only a human effort conducted by software development teams, but instead a joint effort in which human development teams and autonomous intelligent systems share effort and responsibility in development of continuously evolving systems.
2 Background
Due to rapid advances in technology, new types of systems are emerging with characteristics and capabilities that we didn’t experience up until now. With physical objects becoming connected to the Internet, data revealing users’ behaviors being collected and shared, and systems with computational power beyond what we can imagine and abilities to learn, adjust and take action [4, 5], the potential of future software systems and services is stunning. As a consequence, the ways in which software systems are developed, and the ways in which development organizations and teams traditionally work, are being disrupted. At the same time as these new types of systems allow tremendous opportunities, they pose great challenges on current software development practices. Below, we discuss some of the characteristics that distinguish these systems from other systems, and that pose new challenges on current software development practices.
First, today’s systems are becoming increasingly powerful with advanced data collection and analysis mechanisms. They collect data continuously, they efficiently process vast amounts of data, and they response to queries during run-time [6, 7]. For instance, and as a well-established practice in the web and software-as-a-service industry, companies increasingly adopt A/B testing techniques [8] as a way to continuously learn from the data they collect, and to have this data inform experiments with different aspects of their systems. Also, and with increasingly intelligent systems, there is the potential to have the systems experiment with different behaviors and learn from these experiments to more rapidly adjust according to e.g. user preferences. With rapid developments in the areas of embedded intelligence and adaptive systems [5, 9], we will have systems that can experiment within boundaries set by development teams, and perform automated and frequent validation of functionality in relation to requests from these teams [10].
Second, as a means to accelerate the development of new innovative services, systems are becoming increasingly interconnected [11–13]. Interconnectivity implies having a multitude of heterogeneous systems dynamically discover one another, and seamlessly interconnect at runtime. Typically, this is achieved by having mediators [14], mediating adapters [15], or converters [16] perform the necessary coordination and translation that allow applications to interoperate despite the heterogeneity of their data models and interaction protocols. Given the huge heterogeneity and dynamism characterizing these systems, automated solutions are used to achieve interoperability timely and with the needed level of flexibility [17]. As a result, interconnected systems can increasingly learn from each other and start to autonomously adapt, adjust and predict actions [18, 19] based on the collective knowledge generated in the network.
Third, the concept of systems that adapt and improve over time has been a topic of interest in the artificial intelligence and machine learning communities for a long time. The basic premise is a software system that learns to reconfigure or adapt itself to new or changing inputs [3, 9], and that take decisions based on continuous data collection. In contrast to traditional systems, an adaptive system with embedded intelligence is the one initiating action [9]. As a result, systems with adaptive characteristics require less user interaction the more they learn about the user.
3 Research Methodology
3.1 Case Companies
The research presented in this paper builds on close collaboration with software development companies in the online gaming, the embedded systems and the Internet of Things domain. In Table 1, we describe the case companies that were involved in our study, the domain in which they operate and the systems they produce.
3.2 Case Study Design
The research reported in this paper is based on longitudinal multi case study research [20] in fourteen companies in three different domains: online games, embedded systems and Internet of Things. Our research is based on close collaboration and frequent meetings with these companies over a period of more than five years. In each company, we conducted interview studies, group interviews workshops, observations and validation sessions with people representing the software development teams, the release organization, project and product management and sales and marketing. In this paper, we present a summary of our learnings from the different domains, with a special focus on how new types of systems, and emergent system characteristics, pose fundamentally new challenges on software development.
4 Findings
Online Games.
During the last two years, we have engaged with three companies in the online gaming domain. In these companies, data is systematically collected from products in the field, and there are defined metrics that serve different stakeholders and teams in the organization. The companies run continuous experiments with customers and they collect data revealing system performance and operation. There are specialized data analytics teams that serve the organizations by processing requests, creating reports, defining data dashboards and by automating analysis. Typically, management and development teams have identified a set of key metrics that provide insights into how the organization is delivering value to its customers, and there is a close collaboration between management, the development teams and the data analytics team. However, the companies collect far more data than what they use, and they struggle with identifying key indicators that effectively drive the overall business goals.
Embedded Systems.
We have studied six companies in the embedded systems domain for the last five years. In all companies, huge amounts of data are collected to help assess product performance and operation. Primarily, this data works as the basis for troubleshooting and support activities, and as input for understanding any misbehavior or deviation in the system. However, although there are significant advances in data collection and use, there is no systematic analysis and use of the data. Often, ad hoc practices emerge in relation to individual or team needs or based on specific requests from a customer. Analysis is not fully automated and some of the companies report on tedious work for individuals when shifting through large sets of data to answer a query.
Internet of Things.
We studied five companies developing Internet of Things systems during the last two years. These companies experience an explosion in the amounts of data that is generated from their systems, and they are in the midst of trying to understand how to make effective use of this data in relation to systems that interconnect and interact with other systems in larger networks. The processing of the data needs to become much quicker as the company feels that innovative value propositions and interesting business cases might otherwise be lost.
In Table 2, we summarize the challenges we identify in the case companies.
To summarize our empirical findings, we see that the companies we studied are experiencing major shifts in the types of systems they develop. To manage this transition, there is the need for companies to move beyond current software development practices and adopt new ways-of-working that support development of continuously evolving systems.
5 Towards ‘Human/System Synergistic Development’
Based on the case, we see the first beginning of a number of emerging system characteristics. These are: (1) self-learning systems, (2) self-actuation systems, and (3) decentralized control. First, self-learning systems refer to adaptive systems whose operation algorithm improves based on trial and error. Second, self-actuation systems refer to systems that actively initiate actions based on input from the environment in which they operate [9]. Finally, decentralized control refers to systems in which each master in the network has all data. This supports local decision-making and allows for rapid actions to be taken in the network. A key challenge that all companies experience, is how to transition towards new development approaches that cater for the emergent system characteristics they experience. In a number of studies, the transition from traditional development towards agile development has been outlined [22], as well as the move beyond agile development practices [6]. Recently, and due to increasingly intelligent systems [10], we are experiencing a shift towards intelligent systems that experiment and adjust their responses and behaviors. To reflect this synergy between development teams and systems, we coin the term ‘Human/System Synergistic Development’ (HuSySD) to denote a development approach where the development team provides functionality to the system in the field, and set boundaries within which the system itself can run automatic experiments (Fig. 1).
In the development approach we describe above, development teams do hypothesis testing while smart systems do automated experimentation and adjust according to the results from these. In Fig. 2, we outline the ‘Human/System Synergistic Development’ (HuSySD) model with regards to the human and system loops, as well as the steps that can be deployed to confirm system behaviors.
6 Conclusion
In this paper, we identify emergent system characteristics that pose new challenges on software development. We identify these challenges and we present a new development approach in which software development is a joint effort between software development teams and smart systems.
References
Levy, H.: What’s new in Gartner’s Hype cycle for emerging technologies (2015). http://www.gartner.com/smarterwithgartner/whats-new-in-gartners-hype-cycle-for-emerging-technologies-2015/
Gubbi, J., Buyya, R., Marusic, S., Palaniswami, M.: Internet of Things (IoT): a vision, architectural elements, and future directions. Future Gener. Comput. Syst. 29, 1645–1660 (2013)
Kinsner, W.: Challenges in the design of adaptive, intelligent and cognitive systems. In: Proceedings of the 6th IEEE International Conference on Cognitive Informatics, 6–8 August, Lake Tahoo, CA, pp. 13–25 (2007)
Kranz, M., Holleis, P., Schmidt, A.: Embedded interaction: interacting with the Internet of Things. IEEE Internet Comput. 14, 46–53 (2010)
Chong, C.Y., Kumar, S.P.: Sensor networks: evolution, opportunities, and challenges. Proc. IEEE 91(8), 1247–1256 (2003)
Olsson, H.H., Bosch, J.: From opinions to data-driven software R&D: a multi-case study on how to close the ‘Open Loop’ problem. In: Proceeding of the 40th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 27–29 August, Verona, Italy (2014)
Deng, A., Xu, Y., Kohavi, R., Walker, T.: Improving the sensitivity of online controlled experiments by utilising pre-experiment data. In: Proceedings of the 6th ACM International Conference on Web Search and Data Mining (WSDM 2013), 4–8 February, Rome, Italy (2013)
Kohavi, R., Longbotham, R., Walker, T.: Online experiments: practical lessons. IEEE Comput. 43(9), 82–85 (2010)
Peters, G.: Six necessary qualities of self-learning systems: a short brainstorming. In: Proceedings of the International Conference of Neural Computation Theory and Applications, pp. 358–364 (2015)
Bosch, J., Olsson, H.H.: Submitted. data-driven continuous evolution of smart systems. Submitted to an International Workshop on Software Engineering
Evans, D.: The Internet of Things: how the next evolution of the internet is changing everything. CISCO White Pap. 1, 14 (2011)
Leminen, S., Westerlund, M., Nyström, A.-G.: Living Labs as open-innovation networks. Technol. Innov. Manag. Rev. 2 (2012)
Miorandi, D., Sicari, S., De Pellegrini, F., Chlamtac, I.: Internet of things: Vi-sion, applications and research challenges. Ad Hoc Netw. 10, 1497–1516 (2012)
Wiederhold, G.: Mediators in the architecture of future information systems. IEEE Comput. 25(3), 38–49 (1992)
Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. Prog. Lang. Syst. 19(2), 292–333 (1997)
Calvert, K.L., Lam, S.S.: Formal methods for protocol conversion. IEEE J. Sel. Areas Commun. 8(1), 127–142 (1990)
Di Marco, A., Inverardi, P., Spalazzese, R.: Synthesizing self-adaptive connectors meeting functional and performance concerns. In: Software Engineering for Adaptive and Self-Managing (SEAMS) (2013)
Rowland, C., Goodman, E., Charlier, M., Light, A., Lui, A.: Designing Connect-ed Products: UX for the Consumer Internet of Things. O’Reilly Media, Inc., Sebastopol (2015)
Liu, Y., Zhou, G.: Key technologies and applications of Internet of Things. In: 2012 Fifth International Conference on Intelligent Computation Technology and Automation (ICICTA), pp. 197–200 (2012)
Yin, R.K.: Case Study Research: Design and Methods. Sage Publications, Los Angeles (2009)
Tieben, R., Bekker, T., Schouten, B.: Curiosity and interaction: making people curious through interactive systems. In: Proceedings of the 25th BCS Conference on Human-Computer Interaction, pp. 361–370. British Computer Society, Swinton (2011)
Olsson, H.H., Alahyari, H., Bosch, J.: Climbing the “Stairway to heaven”: a multiple-case study exploring barriers in the transition from agile development towards continuous deployment of software. In: Proceedings of the 38th Euromicro Conference on Software Engineering and Advanced Applications, 5–7 September, Cesme, Izmir, Turkey (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Olsson, H.H., Bosch, J. (2016). Towards ‘Human/System Synergistic Development’: How Emergent System Characteristics Change Software Development. In: Maglyas, A., Lamprecht, AL. (eds) Software Business. ICSOB 2016. Lecture Notes in Business Information Processing, vol 240. Springer, Cham. https://doi.org/10.1007/978-3-319-40515-5_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-40515-5_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-40514-8
Online ISBN: 978-3-319-40515-5
eBook Packages: Business and ManagementBusiness and Management (R0)