41 research outputs found

    An empirical taxonomy of DevOps in practice

    Get PDF
    DevOps is described as a software engineering culture and philosophy that utilises cross-functional teams to build, test and release software faster and more reliably through automation. Research shows that its adoption speeds up software delivery time, improve quality, security, and collaboration in software development. One controversial issue has been whether DevOps is an organisation-wide culture or a job description. As DevOps is an emerging concept, its definitions and best practices are still hazy, making its implementation in practice less informed and somewhat risky. The rising trend of DevOps adoption among software development practitioners therefore heightens the need for in-depth investigation into its implementation.This paper seeks to contribute to the above by critically examining DevOps implementation in practice through an exploratory case study, based on interviews with 11 industry practitioners across nine organisations. Transcripts of interviews were coded and analysed using a method informed by Grounded Theory. This study provides an empirical taxonomy of DevOps implementation, describing developers’ interaction with On-premises Ops, Outsourced Ops, DevOps teams, and DevOps bridge teams. We present a novel mapping of the approaches to on-premises and cloud-based deployments, and identified the facilitators of DevOps practices in the different modes. We further identified three distinct groups of activities in the fourth mode: provisioning and maintenance of physical systems, function virtualisation and creation of automated pipelines, and development, deployment and maintenance of applications, which may have given rise to the implementation of DevOps as bridge teams. Interviewees claimed these distinctions allowed developers to focus on delivering value for the business

    How to Organize DevOps’ Teams in Customer Firms? A Comparative Case Analysis

    Get PDF
    The issue of DevOps’ team structures has been seldom addressed in prior literature. Some scholars underlined certain teams' characteristics and proposed structure taxonomies. However, they hardly considered the effect of the firm's context on a structure choice, by only focusing on project-level influences in few studies. To cover this gap, we propose an organizational model for DevOps’ implementation within a consulting configuration. This setting is frequent in the current digital era and is particular as the partners differ in terms of digital maturity, cognition, and goals. We explored three cases in the public administration, telecommunications, and banking sectors. Data was collected through participant observation and semi-structured interviews and thematically analyzed with Nvivo. As results, we identify the key components of DevOps’ teams and highlight their synergies. We also contribute to academic literature and managerial practice by raising customer firms’ awareness on the contextual factors inducing variability on DevOps’ team structure

    Exploring the benefits of combining DevOps and agile

    Get PDF
    The combined adoption of Agile and DevOps enables organizations to cope with the increasing complexity of managing customer requirements and requests. It fosters the emergence of a more collaborative and Agile framework to replace the waterfall models applied to software development flow and the separation of development teams from operations. This study aims to explore the benefits of the combined adoption of both models. A qualitative methodology is adopted by including twelve case studies from international software engineering companies. Thematic analysis is employed in identifying the benefits of the combined adoption of both paradigms. The findings reveal the existence of twelve benefits, highlighting the automation of processes, improved communication between teams, and reduction in time to market through process integration and shorter software delivery cycles. Although they address different goals and challenges, the Agile and DevOps paradigms when properly combined and aligned can offer relevant benefits to organizations. The novelty of this study lies in the systematization of the benefits of the combined adoption of Agile and DevOps considering multiple perspectives of the software engineering business environment.info:eu-repo/semantics/publishedVersio

    SKI: A New Agile Framework that supports DevOps, Continuous Delivery, and Lean Hypothesis Testing

    Get PDF
    This paper explores the need for a new process framework that can effectively support DevOps and Continuous Delivery teams. It then defines a new framework, which adheres to the lean Kanban philosophy but augments Kanban by providing a structured iteration process. This new Structured Kanban Iteration (SKI) framework defines capability-based iterations (as opposed to Kanban-like no iterations or Scrum-like time-based sprints) as well as roles, meetings and artifacts. This structure enables a team to adopt a well-defined process that can be consistently used across groups and organizations. While many of SKI’s concepts are similar to those in found in Scrum, SKI’s capability-based iterations can support the demands of product development as well as operational support efforts, and hence, is well suited for DevOps and Continuous Delivery. SKI also supports lean hypothesis testing as well as more traditional software development teams where capability-based iterations are deemed more appropriate than time-based sprints

    Team management strategies for DevOps

    Get PDF
    In an increasingly digital market, and where the time to market is shorter and the quality and reliability more relevant, it is imperative that software development teams can organize themselves in order to provide a faster reaction to the market with more reliability. DevOps intends to eliminate the existence of silos (Development and Operations) and streamline the software production, declining waste and difficulties in its construction, increasing productivity and developing better products with a focus on client satisfaction. Nevertheless, the joining of teams around the same goal causes key managing challenges, namely the management of conflicts and information sharing between teams. The way that these challenges are managed can interfere with the successful implementation of DevOps philosophy. Though a Case Study, the research goal is to study the best team management strategies that help to reduce the appearance of conflicts and enhance information sharing in the context of DevOps implementation, increasing effectiveness in those teams. As a result, this research brings some strategies to facilitate the DevOps team management and reinforces the importance of managing conflicts, processes, tasks and information well.Num mercado cada vez mais digital e onde o tempo de mercado é cada vez mais curto, a qualidade e fiabilidade mais relevantes, é imperativo que as equipas de desenvolvimento de software consigam organizar-se de modo a proporcionar uma resposta rápida no mercado e cada vez mais fiável. A filosofia DevOps pretende terminar com a existência de silos (Desenvolvimento e Operações) e agilizar a produção de software, diminuindo desperdício e dificuldades na sua construção, aumentando a produtividade e desenvolver produtos melhores com foco na satisfação do cliente. Contudo, a junção de equipas em torno de um mesmo objetivo acarreta desafios cruciais para a gestão, nomeadamente a gestão de conflitos e da informação entre as equipas. A forma como estes desafios são geridos poderá interferir no sucesso da implementação de uma filosofia DevOps. Através de um Caso de Estudo, o objetivo desta pesquisa é o levantamento das melhores estratégias de gestão de equipas que ajudem a reduzir o surgimento de conflitos e potenciar a partilha de informação em contexto de implementação da filosofia DevOps, aumentando a eficácia destas equipas. Como resultado, esta pesquisa traz algumas estratégias que podem facilitar a gestão de equipas DevOps e reforça a importância de fazer uma boa gestão dos conflitos, tarefas, processos e da informação

    DevOps in practice : A multiple case study of five companies

    Get PDF
    Context: DevOps is considered important in the ability to frequently and reliably update a system in operational state. DevOps presumes cross-functional collaboration and automation between software development and operations. DevOps adoption and implementation in companies is non-trivial due to required changes in technical, organisational and cultural aspects. Objectives: This exploratory study presents detailed descriptions of how DevOps is implemented in practice. The context of our empirical investigation is web application and service development in small and medium sized companies. Method: A multiple-case study was conducted in five different development contexts with successful DevOps implementations since its benefits, such as quick releases and minimum deployment errors, were achieved. Data was mainly collected through interviews with 26 practitioners and observations made at the companies. Data was analysed by first coding each case individually using a set of predefined themes and thereafter perform a cross-case synthesis. Results: Our analysis yielded some of the following results: (I) software development team attaining ownership and responsibility to deploy software changes in production is crucial in DevOps. (ii) toolchain usage and support in deployment pipeline activities accelerates the delivery of software changes, bug fixes and handling of production incidents. (ii) the delivery speed to production is affected by context factors, such as manual approvals by the product owner (iii) steep learning curve for new skills is experienced by both software developers and operations staff, who also have to cope with working under pressure. Conclusion: Our findings contributes to the overall understanding of DevOps concept, practices and its perceived impacts, particularly in small and medium sized companies. We discuss two practical implications of the results.Peer reviewe

    DevOps and information technology service management: A problem management case study

    Get PDF
    The use of DevOps is a predominant attribute of businesses engaged in the development and maintenance of Information Technology systems. Although literature exploring DevOps practices has expanded, there is still much unexplored territory on its operational ramifications. This is particularly observed when considering their potential impact on ITSM frameworks such as ITIL, which governs Operations. This research aims to establish how DevOps principles and practices can be applied to Problem Management, a core Service Management process. Specifically, it explores which DevOps practices may be used throughout the Problem lifecycle, as well as benefits which may result from them. An exploratory case study was carried out with the participation of Problem Managers operating in a DevOps environment. Three data collection methods were applied: Semi structured interviews, in which participants described their experience and insight in relation to DevOps and Problem Management; documental analysis and observation, where processes and workflows were examined; and a focus group exercise in which study outcomes were discussed and systematized. This research indicates that DevOps practices have varying degrees of significance for a Problem Management process. Practices associated with continuous planning and collaboration are prone to having greater significance in a Problem lifecycle, with the potential of enabling benefits such as quicker Problem identification, higher quality Root Cause Analysis, and improved resolution times. The novelty of insight gathered in this study benefits both academics, through its contribution to an expanding body of knowledge, and professionals, considering the practical and applicable nature of findings. Future work is also presented.A utilização de metodologias DevOps é hoje uma característica predominante de organizações envolvidas no desenvolvimento e manutenção de sistemas de Tecnologia e Informação. Apesar da crescente produção de literatura a examinar práticas DevOps, existe muito território por explorar referente às suas ramificações a nível operacional. Isto é particularmente notável quando se consideram potenciais interações com frameworks de ITSM como o ITIL, que governam Operações. Esta pesquisa tem como objetivo estabelecer quais princípios e práticas DevOps podem ser aplicadas na Gestão de Problemas, um processo central para a Gestão de Serviços. Especificamente, exploramos quais práticas DevOps podem ser utilizadas ao longo do ciclo de vida de um Problema, tal como que benefícios poderão resultar da sua aplicação. Um caso de estudo exploratório foi realizado com a participação de Gestores de Problemas a operar num ambiente DevOps. Três métodos de recolha de dados foram aplicados: Entrevistas semiestruturadas, onde participantes descreveram a sua experiência e conhecimento em relação a DevOps e Gestão de Problemas; análise documental e observação, onde processos operacionais foram examinados; e uma discussão em grupo onde resultados do estudo foram discutidos e sistematizados. Esta investigação indica que práticas DevOps tem variados níveis de significância para um processo de Gestão de Problemas. Práticas associadas ao planeamento contínuo e colaboração tendem a ter maior significância no ciclo de vida de um Problema, com potencial para gerar benefícios como a mais rápida identificação de Problemas, maior qualidade na análise de causa, e melhorias nos tempos de resolução. As conclusões apresentadas neste estudo trazem benefícios tanto para académicos, expandindo o corpo de conhecimento disponível sobre o tema, como para profissionais, considerando a sua natureza prática e aplicável. Direções para trabalho futuro são também apresentadas
    corecore