A Survey of DevOps Concepts and Challenges <s> INTRODUCTION <s> Context: Making best use of the growing number of empirical studies in Software Engineering, for making decisions and formulating research questions, requires the ability to construct an objective summary of available research evidence. Adopting a systematic approach to assessing and aggregating the outcomes from a set of empirical studies is also particularly important in Software Engineering, given that such studies may employ very different experimental forms and be undertaken in very different experimental contexts.Objectives: To provide an introduction to the role, form and processes involved in performing Systematic Literature Reviews. After the tutorial, participants should be able to read and use such reviews, and have gained the knowledge needed to conduct systematic reviews of their own.Method: We will use a blend of information presentation (including some experiences of the problems that can arise in the Software Engineering domain), and also of interactive working, using review material prepared in advance. <s> BIB001 </s> A Survey of DevOps Concepts and Challenges <s> INTRODUCTION <s> D uring its 40-year history, grounded theory has served as a major method for conducting emergent qualitative research. What is an emergent method? I start with a working definition of an emergent method as inductive, indeterminate, and open-ended. An emergent method begins with the empirical world and builds an inductive understanding of it as events unfold and knowledge accrues. Social scientists who use emergent methods can study research problems that arise in the empirical world and can pursue unanticipated directions of inquiry in this world. Emergent methods are particularly well suited for studying uncharted, contingent, or dynamic phenomena. These methods also allow for new properties of the studied phenomenon to appear that, in turn, shape new conditions and consequences to be studied. By adopting emergent methods, researchers can account for processes discovered in the empirical world and direct their methodological strategies accordingly. How does grounded theory fit the definition of an emergent method? In which ways does the grounded theory method advance the development of emergent methods? Grounded theory is predicated on an emergent logic. This method starts with a systematic, inductive approach to collecting and analyzing data to develop theoretical analyses. The method also includes checking emergent categories that emerge from successive levels of analysis through hypothetical and deductive reasoning. Grounded theory offers systematic analytic strategies that combine explicitness and flexibility. Fundamental tenets of the grounded theory method include: (1) minimizing preconceived ideas about the research problem and the data, (2) using simultaneous data collection and analysis to inform each other, (3) remaining open to varied explanations and/ or understandings of the data, and (4) focusing data analysis to construct middle-range theories. Rather than viewing only the product of inquiry—the completed grounded the- <s> BIB002 </s> A Survey of DevOps Concepts and Challenges <s> INTRODUCTION <s> Internet companies such as Facebook operate in a "perpetual development" mindset. This means that the website continues to undergo development with no predefined final objective, and that new developments are deployed so that users can enjoy them as soon as they're ready. To support this, Facebook uses both technical approaches such as peer review and extensive automated testing, and a culture of personal responsibility. <s> BIB003 </s> A Survey of DevOps Concepts and Challenges <s> INTRODUCTION <s> Delivering software fast, reliable, and predictable is essential for software development organizations. Yet, they often struggle to implement proper approaches and practices like release engineering and DevOps. One reason is the lack of consistent definitions for both of these terms, making it difficult to grasp the meaning and adding further confusion. To the best of our knowledge, there are no uniform definitions for both terms, and thus, many inadequate or even wrong interpretations exist. Consequently, these terms are often confused, misinterpreted, or used as synonyms. In this paper, we propose definitions for release engineering and DevOps to tell both apart. <s> BIB004 </s> A Survey of DevOps Concepts and Challenges <s> INTRODUCTION <s> Continuous delivery (CD) has emerged as an auspicious alternative to traditional release engineering, promising to provide the capability to release valuable software continuously to customers. Paddy Power has been implementing CD for the past two years. This article explains why Paddy Power decided to adopt CD, describes the resulting CD capability, and reports the huge benefits and challenges involved. These experiences can provide fellow practitioners with insights for their adoption of CD, and the identified challenges can provide researchers valuable input for developing their research agendas. <s> BIB005 </s> A Survey of DevOps Concepts and Challenges <s> INTRODUCTION <s> The DevOps phenomenon is gaining popularity through its ability to support continuous value delivery and ready accommodation of change. However, given the relative immaturity and general confusion about DevOps, a common view of expectations from a DevOps role is lacking. Through investigation of online job advertisements, combined with interviews, we identified key Knowledge Areas, Skills and Capabilities for a DevOps role and their relative importance in New Zealand's job market. Our analysis also revealed the global dimensions and the emerging nature of the DevOps role in GSE projects. This research adds a small advanced economy (New Zealand) perspective to the literature on DevOps job advertisements and should be of value to employers, job seekers, researchers as well educators and policy makers. <s> BIB006
Even though the DevOps movement has been discussed for nearly a decade, it lacks a widely accepted definition. By consolidating the most cited definitions of DevOps, we crafted our definition, similar to the one proposed by Dyck et al. BIB004 , which we adopt throughout this paper: DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability. Desiring to improve their delivery process  , enterprises are widely adopting DevOps BIB005 BIB003  . Although in discordance with most of the academic definitions, the software industry also uses the word "DevOps" to describe a well-paid job title BIB006  . Becoming a DevOps engineer is an attractive opportunity for software professionals. DevOps is also an important phenomenon studied by software engineering researchers and already a mandatory topic in software engineering courses. The recent growth of the DevOps community prompted a rapid increase in publications, imposing a barrier to a thorough analysis of every published work on the matter. We adopted a qualitative procedure to limit the number of analyzed studies and the information extracted from them. We established a search and selection protocol, inspired by the procedures of systematic literature reviews BIB001 , and set analysis procedures based on Grounded Theory strategies BIB002 . Our primary outcome is the construction of a conceptual framework, composed of a set of conceptual maps that describe the main concepts of DevOps and how they relate to each other (Section 5). In this section, we detail our search and selection protocol, as well as our procedures to build our conceptual maps. This sequence is outlined in Figure 1 .