Font Size: a A A

Study On Software Teams For DevOps And Microservices

Posted on:2022-02-08Degree:MasterType:Thesis
Country:ChinaCandidate:H HuangFull Text:PDF
GTID:2518306725992879Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Dev Ops & microservices are acknowledged to be important paradigms to tackle rapid changes in software requirements and provide capabilities for rapid and reliable software development.Industry reports show that Dev Ops & microservices have been adopted together by some IT giant companies since their emergence.Dev Ops breaks down the barriers between departments through establishing emotional resonance and cross-stream collaboration between development and operations teams.Monolithic applications are decomposed into some micro services to achieve independent and rapid value delivery.The adoption and implementation of Dev Ops & microservices in software organizaitons have profoundly affected software teams,which could be considered as the basic units of software development.To solve the problems of communications associated with the social-technical attributes of software engineering,some companies have carried out a series of explorations and practices of small teams in software development while adopting and implementing Dev Ops & microservices.However,small team may have adverse effects on organizational structure and science & technology.Thus,the applicable conditions of small teams for Dev Ops and microservice need to be studied.By applying the mixed-methodology of qualitative and quantitative approaches,the ABC framework in software engineering research,and data collection technologies in empirical software engineering,this thesis reviewed the studies on software teams in the recent five years,which published at the three top journals&conferences in the field of empirical software engineering,futher proposes an Iterative Mixed-Method Model for studying Software Teams(IMMMS T).Using IMMMS T,this thesis carried out a three-phase research on software teams for Dev Ops & microservices in practices.Firstly,the case study(research phase I)used document analysis,group interviews,and questionnaires to collect the work styles and workflows of fireteam,one of the small-team practices,as well as the opinions of team members on fireteam.Fireteam was investigated from four aspects in practices: the types,key activities,benefits and remaining problems.Three continuous improvement suggestions from three aspects of architecture decoupling,self-organization,and practice guidance were proposed to improve fireteam.Moreover,by comprehensively considering the contexts of fireteam,this thesis proposed a Decision-Making Framework for Small Teams(DMFS T)with three levels(organizaiton,department and technology)and five consideration factors(product importance,product security sensitivity,department size,development process,architecture type).Secondly,the ethnographic study(research phase II)used participant observation and interview to distill the state-of-the-adoption and-implementation of Dev Ops µservices in the software teams from three companies.Research phase II distilled state-of-the-practice of Dev Ops & microservices in the daily work of software teams,discovered four major problems,i.e.,the incomplete implementation of Dev Ops among software teams,the abuse of microservices in software teams,stubborn organizational structure and weak correlation between Dev Ops & microservices in daily work.Furthermore,this thesis used Dev Sec Ops as an example to discuss the controversy of Dev Ops-related concepts.In addition,two challenges for practical innovation in industry were pointed out in the thesis.Using the observations of software teams from the three companiese,this thesis improved DMFS T,proposed an Improved DMFS T(Im DMFS T)with three levels and six considerations.This thesis evaluated Im DMFS T through expert surveys,which was based on analytic hierarchy process.The weight of organization level in Im DMFS T accounted for about 50%.Experts considered organizational characteristics and architecture types as the most important considerations,which play important roles in determining whether to use small teams in software development.
Keywords/Search Tags:Software team, Small team, DevOps, Microservices, Empirical software engineering
PDF Full Text Request
Related items