15,302 research outputs found
DevOps in Practice -- A preliminary Analysis of two Multinational Companies
DevOps is a cultural movement that aims the collaboration of all the
stakeholders involved in the development, deployment and operation of soft-ware
to deliver a quality product or service in the shortest possible time. DevOps
is relatively recent, and companies have developed their DevOps prac-tices
largely from scratch. Our research aims to conduct an analysis on practic-ing
DevOps in +20 software-intensive companies to provide patterns of DevOps
practices and identify their benefits and barriers. This paper presents the
preliminary analysis of an exploratory case study based on the interviews to
relevant stakeholders of two (multinational) companies. The results show the
benefits (software delivery performance) and barriers that these companies are
dealing with, as well as DevOps team topology they approached during their
DevOps transformation. This study aims to help practitioners and researchers to
better understand DevOps transformations and the contexts where the practices
worked. This, hopefully, will contribute to strengthening the evidence
regarding DevOps and supporting practitioners in making better informed
decisions about the return of investment when adopting DevOps.Comment: 8 pages, 1 figure, 2 tables, conferenc
Recommended from our members
Designing a consulting services architecture model
textDuring my years of experience in the technology industry, it has become obvious that standard processes and methodologies within the engineering discipline are at a mature state. The realization though is that software engineering specifically lags behind. Most software engineering methodologies that I have studied focus on the mission of software development. It is this realization and the need for structure that led me to review existing methodologies used within my company's software services organization. The definition of what a successful software services methodology entails is rather limited. This report will provide a history of existing software engineering methodologies that I have studied, describe an initial services method that was being developed within my organization, develop a new model that addresses previous shortcomings and identify additional components required to further define a strong software services-oriented delivery methodology.Electrical and Computer Engineerin
Experimenting with Realism in Software Engineering Team Projects: An Experience Report
Over Several years, we observed that our students were sceptical of Software Engineering practices, because we did not convey the experience and demands of production quality software development. Assessment focused on features delivered, rather than imposing responsibility for longer term `technical debt'. Academics acting as 'uncertain' customers were rejected as malevolent and implausible. Student teams composed of novices lacked the benefits of leadership provided by more experienced engineers. To address these shortcomings, real customers were introduced, exposing students to real requirements uncertainty. Flipped classroom teaching was adopted, giving teams one day each week to work on their project in a redesigned laboratory. Software process and quality were emphasised in the course assessment, imposing technical debt. Finally, we introduced a leadership course for senior students, who acted as mentors to the project team students. This paper reports on the experience of these changes, from the perspective of different stakeholders
Challenges to Architecture Decision-Making in Agile Development Environments
Käesoleva magistritöö eesmärk on uurida väljakutseid, mis võivad esineda tarkvaraarhitektuuri kombineerimisel väleda tarkvaraarendusega ning selgitada välja põhjused, mis neid esile toovad. Kuigi antud teema on olnud juba päevakorras mõnda aega, siis jätkuvalt esineb vastuolusid väleda tarkvaraarenduse ja tarkvaraarhitektuuri sobitamisel nii teadlaste kui praktikute seas. Väleda tarkvaraarenduse ning arhitektuuri toetajaid võib leida sama palju kui mittetoetajaid, kes väidavad, et neid kahte kokku sobitada pole võimalik. Käesolevas magistritöös püstitatud uurimisküsimuste vastamisel on kasutatud kahte uurimismetoodikat: kirjanduse ülevaade ning juhtumiuuring. Kirjanduse ülevaade käsitleb varem avaldatud uurimistöid ning raskuseid, mida on antud valdkonnas senimaani täheldatud. Lisaks sellele on arutlusse võetud kirjanduses välja toodud soovitused, mida järgida arhitektuuri arendamisel väledas arenduskeskkonnas. Magistritöö teine osa käsitleb Eestis tegutsevas tarkvara idufirmas Stagnation Lab ja Siseministeeriumi IT osakonnas (SMIT) läbi viidud juhtumiuuringut. Stagnation Labis analüüsiti kahte projekti ning intervjueeriti mõlema projekti rollis olnud tarkvaraarhitekte, et uurida, milliseid raskusi kohati süsteemi ning eelkõige tarkvara arhitektuuri arenduse käigus. Samal eesmärgil intervjueeriti ka SMITi projekti eestvedanud tarkvaraarhitekti.The goal of this master thesis is to explore challenges of architecture decision-making in agile environments and trying to find out what causes issues regarding agile architecture - the latter being a set of values and practices supporting the effective evolution of the design and system architecture, concurrent with the implementation of new business functionality. Although the topic has been existent for some time, there are still tensions between software architecture and agility that are not well understood by agile practitioners and researchers alike. While there are many active promoters of agile architecture design, there can be found equally many non-believers who state that agility and architecture cannot work together. To find answers to the research questions stated in this thesis, two research methodologies have been used: a literature survey and a case study. The literature survey covers related work on agility in software architecture and the challenges that come with it. The survey includes difficulties that have been observed regarding the use of agile development methods when building the architecture. In addition, recommended practices are discussed for applying agile processes associated with sound architectural principles. The second part of the thesis is a case study within a software startup company, Stagnation Lab, and the SMIT (Ministry of the Interior IT and Development Centre). In Stagnation Lab, two projects were analyzed. The main architects behind the design of each project were interviewed to look deeper into potential challenges when applying agile practices in architecture development. Similarly, at SMIT, the main architect responsible for the design of a monitoring information system for the Rescue and Fire Department was interviewed
The Difficulty With Introducing Project Management Techniques in Digital Startups
Digital startups face complex issues when it comes to accurately using project management techniques because of the startup’s scarcity of resources and the governance of projects , such as having different stages of growth and development. Since project management is needed in almost all businesses, dealing with this problem is important to improve the growth of startups and their organizational issues. Because of the correlation between startups using traditional project management techniques and their problems with implementing project management, this traditional model might not be relevant for startups. Startups seem to require more flexible and quick solutions to project management, suggesting that agile methods might be the right way for most digital startups to use project management. By looking at how different startups in different stages of development deal with problems in implementing project management by use of a qualitative research study, this paper looks to back the statement that the way that startups function leads to issues with implementing project management. Looking at how different startups have dealt with these problems might suggest where and in which stage the problem lies, leading to the possible solution of project management difficulty in startups
Role clarity deficiencies can wreck agile teams
Background
One of the twelve agile principles is to build projects around motivated individuals and trust them to get the job done. Such agile teams must self-organize, but this involves conflict, making self-organization difficult. One area of difficulty is agreeing on everybody’s role.
Background
What dynamics arise in a self-organizing team from the negotiation of everybody’s role?
Method
We conceptualize observations from five agile teams (work observations, interviews) by Charmazian Grounded Theory Methodology.
Results
We define role as something transient and implicit, not fixed and named. The roles are characterized by the responsibilities and expectations of each team member. Every team member must understand and accept their own roles (Local role clarity) and everbody else’s roles (Team-wide role clarity). Role clarity allows a team to work smoothly and effectively and to develop its members’ skills fast. Lack of role clarity creates friction that not only hampers the day-to-day work, but also appears to lead to high employee turnover. Agile coaches are critical to create and maintain role clarity.
Conclusions
Agile teams should pay close attention to the levels of Local role clarity of each member and Team-wide role clarity overall, because role clarity deficits are highly detrimental
Implementing Agile practices in a large game development company
Abstract. Large game development companies working with complex projects need to find ways to work iteratively and adjust to changing requirements in order to succeed. To achieve this, many of them turn to Agile frameworks and practices. In this thesis, the purpose is to analyze how these large game development companies implement Agile working practices and what are the related benefits and challenges. The roles of human skills in the implementation process are also examined. This is done by conducting a single-case study of the Agile implementation process in a case company.
The findings of the study indicate that the Agile implementation process in the case company follows a general change process structure, which consists of seven core activities: recognition and start, diagnosis, planning, implementation and review, sustaining change, learning, and managing people issues. During the implementation process, the most significant challenges the case company faced were connected to implementing Agile ways of leading development, such as Product Ownership and Products Backlog. In addition, the relationship of human skills and Agile implementation appears to be cyclical; while well-developed human skills such as support, communication, and conflict solving skills make the implementation process easier, properly implemented Agile practices may also improve human skills.
This study contributes to Agile implementation research by expanding the knowledge of Agile implementation in large game development organizations and elaborating the connection between the implementation process and change management theory. The findings of the study can also help those implementing Agile in game companies to predict the structure of the process and anticipate the potential challenges of it.Tiivistelmä. Suurten ja monimutkaisten projektien parissa työskentelevien pelialan yritysten täytyy löytää tapoja työskennellä iteratiivisesti ja sopeutua muutoksiin menestyäkseen. Tästä syystä monet niistä kääntyvät ketterien menetelmien puoleen. Tässä diplomityössä tarkoitus on analysoida sitä, miten nämä yritykset ottavat käyttöön ketteriä menetelmiä ja mitä hyötyjä ja haasteita prosessiin liittyy. Myös inhimillisten taitojen rooleja käyttöönottoprosessissa tutkitaan. Tutkimuksessa perehdytään ketterien menetelmien käyttöönottoon kohdeyrityksessä yksittäistapaustutkimuksena.
Tutkimuksen tulokset osoittavat, että kohdeyrityksessä ketterien menetelmien käyttöönottoprosessi mukailee yleisen muutosprosessin rakennetta, joka koostuu seitsemästä toiminnosta: muutostarpeen tunnistamisesta ja prosessin aloittamisesta, diagnosoinnista, suunnittelusta, käyttöönotosta ja arvioinnista, muutoksen ylläpitämisestä, oppimisesta ja ihmisiin liittyvien asioiden johtamisesta. Keskeisimmät kohdeyrityksen käyttöönottoprosessin aikana kohtaamat haasteet liittyivät ketterien menetelmien mukaisten johtamistapojen käyttöönottoon kuten tuoteomistajuuteen ja tuotteen tehtävälistoihin. Inhimillisten taitojen ja ketterien menetelmien käyttöönoton suhde puolestaan vaikuttaa sykliseltä; samalla kun hyvät inhimilliset taidot kuten tuki-, kommunikaatio-, ja konfliktienselvittelytaidot tekevät käyttöönottoprosessista helpomman, voivat ketterät menetelmät puolestaan kehittää inhimillisiä taitoja.
Tämä tutkimus edistää ketterien menetelmien käyttöönottoon liittyvää tutkimusta kasvattamalla ymmärrystä menetelmien käyttöönotosta suurissa pelialan yrityksissä ja lisäämällä tietoa käyttöönottoprosessin ja muutoksenhallinnan teorian välisestä yhteydestä. Tutkimuksen tulokset voivat myös auttaa ketterien menetelmien käyttöönottoa pelialan yrityksissä johtavia henkilöitä ennakoimaan käyttöönottoprosessin kulkua ja siihen liittyviä haasteita
Data management and Data Pipelines: An empirical investigation in the embedded systems domain
Context: Companies are increasingly collecting data from all possible sources to extract insights that help in data-driven decision-making. Increased data volume, variety, and velocity and the impact of poor quality data on the development of data products are leading companies to look for an improved data management approach that can accelerate the development of high-quality data products. Further, AI is being applied in a growing number of fields, and thus it is evolving as a horizontal technology. Consequently, AI components are increasingly been integrated into embedded systems along with electronics and software. We refer to these systems as AI-enhanced embedded systems. Given the strong dependence of AI on data, this expansion also creates a new space for applying data management techniques. Objective: The overall goal of this thesis is to empirically identify the data management challenges encountered during the development and maintenance of AI-enhanced embedded systems, propose an improved data management approach and empirically validate the proposed approach.Method: To achieve the goal, we conducted this research in close collaboration with Software Center companies using a combination of different empirical research methods: case studies, literature reviews, and action research.Results and conclusions: This research provides five main results. First, it identifies key data management challenges specific to Deep Learning models developed at embedded system companies. Second, it examines the practices such as DataOps and data pipelines that help to address data management challenges. We observed that DataOps is the best data management practice that improves the data quality and reduces the time tdevelop data products. The data pipeline is the critical component of DataOps that manages the data life cycle activities. The study also provides the potential faults at each step of the data pipeline and the corresponding mitigation strategies. Finally, the data pipeline model is realized in a small piece of data pipeline and calculated the percentage of saved data dumps through the implementation.Future work: As future work, we plan to realize the conceptual data pipeline model so that companies can build customized robust data pipelines. We also plan to analyze the impact and value of data pipelines in cross-domain AI systems and data applications. We also plan to develop AI-based fault detection and mitigation system suitable for data pipelines
RAD Applied in the Context of Investment Banking
RAD as a methodology for implementing information systems has been used in a broad range of domains utilizing technology as an informational backbone but perhaps one of the main areas where this approach has been proven to be a natural fit has been in the investment banking (IB) industry, most notably when applied to trading systems. This paper introduces some of the main tenants of RAD development and focuses on a number of case studies where RAD has proven to be an extremely suitable method for implementing solutions required in the IB industry as well as explaining why RAD may be more successful than other classic de-velopment methods when applied to IB related solutions.RAD, Information Systems, Investment Banking, Trading Systems
- …