Full text
![]() |
PDF
- Users in campus UPM only
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) |
![]() |
Archive (ZIP) (Anexos)
- Users in campus UPM only
Download (709B) |
García Mugía, Marlon and Almaraz Arranz, Rubén (2018). Estudio de la cultura y práctica DevOps en la industria. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.
Title: | Estudio de la cultura y práctica DevOps en la industria |
---|---|
Author/s: |
|
Contributor/s: |
|
Item Type: | Final Project |
Degree: | Grado en Ingeniería del Software |
Date: | June 2018 |
Subjects: | |
Freetext Keywords: | Desarrollo ágil de software Ingeniería del software |
Faculty: | E.T.S.I. de Sistemas Informáticos (UPM) |
Department: | Sistemas Informáticos |
Creative Commons Licenses: | Recognition - No derivative works - Non commercial |
![]() |
PDF
- Users in campus UPM only
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) |
![]() |
Archive (ZIP) (Anexos)
- Users in campus UPM only
Download (709B) |
El mercado actual demanda tiempos más cortos en los desarrollos software desde que se concibe un producto hasta que es puesto en producción. Las compañías que pueden entregar software de forma más frecuente y temprana tienen mayor capacidad de competir en el mercado e innovar. Para lograr estos objetivos la ingeniería de software ha utilizado nuevas formas de trabajo como Lean Thinking o el Manifiesto Ágil. Los principios Lean como “quality at the source”, “just in time”, y “kaizen” y principios ágiles como satisfacer las necesidades del cliente rápidamente con despliegues continuos, o estar abierto al cambio son principios en los que se basan la mayoría de estos nuevos enfoques de desarrollo software. A pesar de las mejoras considerables en el desarrollo de software que estos nuevos enfoques han traído consigo, uno de los principales problemas que frenan la velocidad y agilidad es la existencia de una división de responsabilidades muy estricta entre departamentos de TI que se acaban convirtiendo en silos, que producen retrasos en la entrega de software y disminuye la calidad del mismo. Un ejemplo de esos silos es el existente entre los desarrolladores que crean aplicaciones y los equipos de operaciones que operan y despliegan esas aplicaciones en las infraestructuras que gestionan. En respuesta a este problema, DevOps se puede definir como un enfoque organizativo y cultural que se centra en la colaboración y la integración del desarrollo y la operación para producir productos y servicios de software de forma más rápida y con mayor calidad. Este enfoque requiere que el equipo de desarrollo trabaje estrecha y eficientemente con el equipo de operaciones basándose en principios y valores ágiles y Lean. Por tanto, DevOps desempeña un papel fundamental para las empresas cuyo negocio depende en gran medida de cuán eficiente es el desarrollo y la operación. Sin embargo, es un enfoque relativamente reciente y no se sabe a ciencia cierta cuáles son sus barreras y beneficios reales, así como buenas prácticas y los contextos en las que funcionan. DevOps no tiene metodologías y frameworks, como Scrum o Extreme Programming. Por este motivo resulta de interés investigar e identificar patrones de buenas prácticas que pueden ser utilizados comúnmente para adoptar DevOps en las compañías, y de esta forma tener una base sobre la que actuar, sabiendo bajo qué circunstancias funciona cada una de ellas. Este Proyecto Fin de Grado tiene como objetivo realizar un caso de estudio exploratorio para identificar patrones sobre la práctica DevOps en la industria, así como beneficios y barreras resultado de esta práctica. Para ello se han realizado 11 entrevistas a 15 personas implicadas en equipos DevOps (desde perfiles de desarrollo/operación, directores, y CEOs), en su mayoría con varios años de experiencia en el sector y con notable experiencia en el tema en cuestión. Estas entrevistas han proporcionado información sobre 12 compañías tanto nacionales e internacionales. La información recogida ha sido transcrita y sometida a un análisis principalmente cualitativo basado en la técnica del análisis temático, que consiste en la codificación de la información, la agrupación de los códigos en categorías y temas, creación de relaciones entre códigos e identificación de patrones para explorar cadenas de evidencias. Complementariamente la información ha sido codificada numéricamente para aplicar un análisis basado en la técnica de clustering, lo que permitirá identificar otra serie de patrones y relaciones, así como confirmar los obtenidos en el análisis anterior. Los resultados obtenidos hasta el momento permiten identificar qué prácticas DevOps relacionadas con la gestión de equipos, colaboración, o de automatización de procesos, reportan mejores resultados para las compañías, así como la relación entre unas determinadas prácticas y otras. El objetivo final es ayudar a los profesionales e investigadores a comprender mejor algunas prácticas DevOps, así como los contextos en los que estas prácticas funcionaron, apareciendo ciertos beneficios y/o incluso barreras. Esto contribuirá a fortalecer la evidencia con respecto a DevOps y apoyar a los profesionales a tomar decisiones mejor informadas sobre el retorno de la inversión de la adopción de DevOps.
Abstract:
Today’s digital landscape demands shorten development time from request to implementation that allows greater business innovation. Companies that can release software early and frequently have a higher capability to compete in the market. To achieve these goals, in the last few years, software engineering has shift to new development paradigms. Lean Thinking and the Agile manifesto were disruptive versus the traditional way of developing software. Lean principles, such as “quality at the source”, “just in time”, and “kaizen”, and agile principles such as “satisfy the customer through early and continuous delivery of valuable software” and “being open to change” are significant principles on which rely most subsequent software development methodologies and practices. Despite the considerable improvements in software development that these new approaches have brought, one of the main problems that slow down speed and agility is the existence of a very strict vision of responsibilities between IT departments that end up becoming silos that produce delays in the delivery of software and decreases the quality of it. An example of such silos is the one between the developers who create applications and the operations teams that operate and deploy those applications in the infrastructures they manage. In response to this problem, DevOps can be defined as an organizational and cultural approach that focuses on collaboration and the integration of development and operation to produce software products and services faster and with higher quality. This approach requires that the development team work closely and efficiently with the operations team based on agile and Lean principles and values. DevOps plays a fundamental role for software-intensive organizations whose business greatly depends on how efficient development and operation are. However, this approach is relatively recent, and thus little is known about good practices and the context where they work, as well as the real value and barriers associated with DevOps. DevOps does not have methodologies such as Scrum and Extreme Programing, and thus companies have developed their DevOps practices largely from scratch—by training employees on the fly. This is why it is interesting to research and identify general patterns of good DevOps practices that can be commonly used by companies when they adopt and put in practice this approach, understanding the context where these practices work. This final degree project aims to conduct an exploratory case study on practicing DevOps in various software development companies in order to provide patterns of DevOps practices and identify their benefits and barriers. The exploratory study consists of 11 interviews to 15 relevant stakeholders (from development and operation roles, to directors and CEOs) most of them with a wide experience in the field. These interviews have provided data from 12 different national and international companies. The information collected has been transcribed and subjected to a qualitative analysis based on the technique of thematic analysis, which consists of the codification of information, the grouping of codes into categories and themes, creation of relationships between codes and identification of patterns for explore chains of evidence. In addition, the information has been coded numerically to apply an analysis based on the clustering technique, which will allow identifying another series of patterns and relationships, as well as confirming those obtained in the previous analysis. The results obtained so far can identify which DevOps practices related to team management, collaboration, or process automation, report better results for companies, as well as the relationship between certain practices and others. The final objective is to help professionals and researchers to better understand some DevOps practices, as well as the contexts in which these practices worked, appearing certain benefits and / or barriers. This will help strengthen evidence regarding DevOps and support professionals to make better informed decisions about the return on investment of DevOps adoption.
Item ID: | 51449 |
---|---|
DC Identifier: | https://oa.upm.es/51449/ |
OAI Identifier: | oai:oa.upm.es:51449 |
Deposited by: | Biblioteca Universitaria Campus Sur |
Deposited on: | 09 Jul 2018 08:45 |
Last Modified: | 09 Dec 2022 12:38 |