Development Process for Teams with Low Expertise, High-Rotation and No- Architect: A Systematic Mapping Study

Paulina Valencia Franco Angelina Espinoza, Humberto Cervantes Maceda Electrical Engineering Department, Electrical Engineering Department, Universidad Autónoma Metropolitana Universidad Autónoma Metropolitana Iztapalapa, México Iztapalapa, México Email: paulatina63 –at- gmail.com Email: aespinoza, hcm -at- xanum.uam.mx

Abstract —To have a well-organized software team is Process) [1], TSP (Team Software Process) [2], PSP (Personal fundamental to achieve the business goals in a software Software Process) [3], XP () [4] or development project, such as: functionality and quality in the SCRUM [5]. planned times. However, the teams present a particular problematic that are common in both industrial and academic These methodologies, for their nature, are more or less settings, this paper focuses on three: a) Teams with members prepared to face the team features previously mentioned, but with low expertise on methodologies, b) Teams with high member the real big challenge is to combine these models, to get an rotations, or c) Teams lacking a software architect. One adapted process model for overcoming all the three previous approach to address this situation is to define a software features in development teams. Particularly, these kinds of development process, adapted from the adaptability teams are commonly found in academic environments where characteristics and benefits offered by several methodologies there are not resources to hire a technical leader, nor currently used, in order that the development team obtains the experienced staff, so that development teams are mainly expected results in terms of productivity, time and quality of the comprised of students who are in constant rotation. In the aim delivered product. Before this ambitious process model, we plan of defining this process model, the first thing to do is to to conduct a Systematic Mapping Study (SMS), with the aim of conduct a Systematic Mapping Study (SMS) [6], in order to collecting documented experience about similar situations in the systematically analyze what others have done in development international environment. This article presents statistics on the teams with these features. state of the art in this matter, as well as an analysis of more related documents to this problem. This article is divided into the following sections: Section 2 background. Section 3 presents the Systematic Mapping Study, Keywords— methodology, Systematic Section 4 shows the primary studies analysis. Section 5 mapping study. presents the discussion. Finally, Section 6, the conclusions.

I. INTRODUCTION II. BACKGROUND Having a well-organized development team to achieve the Systematic Mapping Study(SMS) functionality and quality in the time-frame that is compromised to the customer is one of the goals in all software projects [23], The systematic mapping study [6] is a widely used procedure however, each team presents particular features that prevent to identify, evaluate and interpret every relevant research of an this goal. One feature is concerning the low expertise in the area or research question. Petersen et al. [7], based on several methodologies, process models and technologies for Kitchenham, defines the SMS process for software development. That means juniors developers, who into five steps as shown in Table 1. only have the acquired knowledge during the undergraduate TABLE 1: SMS STEPS PROPOSED BY PETERSEN studies [12]. The teams very often are lacking a technical Stages Description leader or architect to overcome the low-expertise issue. 1. To define the Research questions are defined to provide an Another common issue in the development teams is the high research questions. overview of a research area and identify the rotation of its members. This situation directly affects the amount, type and to results available within. productivity and quality of the software product under 2. To search the The primary studies were identified by using development [1]. primary studies. search strings in scientific databases being These three particular issues can be seen as team “features” queried manually. 3. To select the articles Inclusion and exclusion criteria are used to filter instead of problems, since the current development teams in studies which are irrelevant to the research industry or academics face at least one of these issues during questions. the development projects. One approach to support a 4. To identify key Keywords and concepts reflecting contribution in development team with the features previously mentioned is by words in the abstract. the abstract are searched. adapting a suitable development process model. In this regard, When finishing identifying the keywords, the set the problem lies in adapting or “combining” the software of keywords of different articles are combined to understand the nature and contribution of development methodology from well-known reference models research. for development process, such as RUP (Rational Unified 5. To extract data and The selected works are analyzed by extracting criteria are defined as the rules to include the most relevant to map the studies. the relevant information for our research. studies to our research, or excluding the less relevant. Tables 4 and 5 shows the criteria. III. SYSTEMATIC MAPPING STUDY (SMS) TABLE 4: INCLUSION CRITERIA . ID Inclusion Criteria A. Defining the Research Questions IC1 This article proposes methodologies / processes used in the systems development for teams with low expertise of development The first stage of the process is to define the appropriate technologies and methodologies. research questions to delimit the range of the investigation, IC2 This article proposes methodologies / processes used in the systems Table 2 indicates the research questions. development for teams that lack a software architect. TABLE 2: RESEARCH QUESTIONS IC3 This article proposes methodologies / processes used in the systems ID Research Questions Goal development for teams with constant member rotations. RQ1 Are there software Identify the software IC4 The article mentions applicable indicators to methodologies / development methodologies for development methodologies processes. teams with low-expertise on used on teams with low IC5 The article proposes to integrate methodologies / processes for development technologies? expertise development software systems. technologies. RQ2 Are there software Identify software development TABLE 5: EXCLUSION CRITERIA . development methodologies for methodologies used with teams ID Exclusion Criteria teams lacking a software that do not have a software EC1 This article proposes methodologies / processes in systems architect? architect. development but not for teams with low expertise in development RQ3 Are there software Identify software development technologies and methodologies. development methodologies for methodologies used on teams EC2 This article proposes methodologies / processes in systems teams with constant member with high members rotations. development but not for teams lacking a software architect. rotations? EC3 This paper proposes methodologies / processes in systems RQ4 Are there indicators applicable Identify the indicators applied development but not for teams constantly rotating members. to methodologies and processes to the used methodologies and EC4 The article proposes to integrate methodologies / processes but not for: Teams with low expertise, processes in the approaches about software systems. Teams lacking a technical found EC5 The article mentions indicators but not applicable to the leader, Teams with high methodologies / processes. members rotations? EC6 Remove repeated articles RQ5 What proposals exist to Identify existing proposals that integrate heterogeneous integrate software development software development methodologies The inclusion and exclusion criteria usage is defined in Table methodologies? 6 as the selection criteria, in order to get a smaller set of papers to be analyzed. B. Searching the Primary Studies The search engines that were selected are the most TABLE 6: SELECTION CRITERIA ID Selection Criteria referenced nowadays: IEEE Xplore, ACM Digital Library, SC1 Apply inclusion and exclusion criteria on the article title Springer Link and Scopus. In these databases, the primary SC2 Apply inclusion and exclusion criteria on the abstract of the article. studies are to be selected. The next steps describe the execution SC3 Apply inclusion and exclusion criteria on the findings. results, according to Table 1, Step 2. SC4 Results in journals classified according to the ISI index. SC5 Results of new journals that are not in ISI, with a recognized • Defining the search strings and expressions. publisher. SC6 From the list obtained by applying the above criteria, inclusion and Firstly, the search strings are defined as follows: 1) to identify exclusion criteria about the article content should be applied. the terms that refer to the subject of the investigation, 2) to concatenate these terms to generate an appropriate string and 3) D. Data extraction and mapping process. to propose synonyms for each chain. Table 3 shows the search The properties are the key concepts we are looking for in the strings and the resulting search expressions. primary studies, to support the research questions answer. The TABLE 3: SEARCH STRINGS properties for the research questions are defined in Table 7, Research ID Search Strings. where third column shows the associates research question. Questions TABLE 7: PROPERTIES RQ1 SS1 Software development ID Properties RQ methodologies for emergent teams P1 Methodology Goals RQ-1 RQ2 SS2 Software architect role in P2 Benefits from the proposed methodology RQ-1 development teams P3 Strategy / methodology to mitigate the low expertise. RQ-1 RQ3 SS3 Software members in constant rotation. P4 Team types: knowledge level, number of members, RQ-1 RQ4 SS4 Indicators applicable to focused or distributed. methodologies P5 Strategy / Methodologies for teams lacking a software RQ-2 RQ5 SS5 Software proposals that architect. integrate methodologies P6 Strategy / methodology for teams with constant member RQ-3 rotations. C. Selecting the Primary Studies P7 Methodologies / processes indicators applied to teams RQ-4 After obtaining the papers from the search engines, a with low expertise, without a technical leader and teams refinement is done by selecting studies to be more focused on with high rotations. P8 Methodologies / processes integration proposal for RQ-5 our research objectives. To do so, inclusion and exclusion software systems. meets customer development, with needs. teams made up of Then, when the selection criteria are applied, a refined (and inexperienced more attached to our research) list of works is obtained. students. Finally, all the selected papers’ content are then read. The goal Dyba et Apply pair Test the pair Use pair al. [10] programming to programming programming, which in this step is to extract the relevant information for our different projects. efficiency in is a collaborative research goals, by using the properties defined in Table 7. different projects, in approach that makes order to know what working in pairs have is most better results than IV. SMS RESULTS recommended. individual work The result obtained by running the SMS is shown in Figure 1 Alkhatib Combine agile Use a development Use agile et al. [11] methodologies with methodology suited methodologies with shows the SMS results which indicate how the results were CMMI (Capability to the needs of the CMMI generating an tuned after each of the SMS process’ steps in Table 1. Figure Maturity Model software iterative, adaptive Integration) to development project. process. 1 on the left side indicates the steps performed during the generate an adaptive SMS execution; on the right side, the papers figures that are methodology. obtained in each step. Then, in step 2, 1741 related works Salo et al. Try XP agile Analyse the obtained Use Agile XP, [12] methodology across results when incorporating a series were obtained; in step 3, this amount was reduced to 580 projects applying XP in of workshops to related works. When applying step 4, only 213 were obtained, different strengthen the development projects knowledge of the and finally 128 papers were totally focused on the research to evaluate their team. objectives. efficiency. DosSanto Reduce development Perform software Using Scrum s et al. time using agile development in the methodology adding [13] methodologies, planned time, taking continuous without care of the quality integration and compromising the adaptation to change. quality of this product. Sison et Develop software Try the pair Use pair al. [14] systems with fewer programming programming, which defects, increasing method, which can is a style of productivity. be used by novice programming in developers as it takes which two little time learning. programmers work together on the same development. Maruping Develop software Try XP to improve Use XP, which is an et al. [15] systems using coding the quality of agile software standards to improve software development quality. development. methodology.

TABLE 9: PROPOSALS ADDRESSING THE HIGH ROTATION OF THE TEAM ’S MEMBERS . Work Goal Benefit Strategy Figure 1: SMS Execution Reduce transition Prove that the Use subversion to Izquierdo time between transition time keep track of versions et al. [16] developers. between developers and changes made RIMARY TUDIES NALYSIS decreases, allowing during development, V. P S A the development so when a new Based on the results obtained in the SMS and the paper found project to be member joins the delivered in the team it is easier and by contribution, the corresponding paper classification will be planned time. faster to acquire made, based on the contribution level to the research knowledge. objectives. Table 8 shows the papers that address the issues of Anh et al. Analyze the Verify that the Use the global [17] relationship between relationship between software development working with low-expertise team’s members. Table 9 shows the dispersion, the dispersion, methodology since it the papers classifications that address the high-rotation issue context, team context, team has become a modern coordination and coordination and paradigm for the of the team’s members. Table 10 shows the papers that state performance in performance greatly development and the importance of having an architect in the development global software influences the maintenance of projects. constant rotation of software intensive team. team members. systems. TABLE 8: PAPERS ADDRESSING THE LOW -EXPERTISE ISSUE IN THE TEAMS ’ TABLE 10: PAPERS ADDRESSING THE LACK /IMPORTANCE OF A TECHNICAL MEMBERS LEADER /ARCHITECT AS A TEAM ’S MEMBER . Work Goal Benefit Strategy Work Goal Benefit Strategy Help reduce the Turn software Use extreme Verify that the The software Include an architect Bergin et inherent cognitive development into a programming (XP), Blair et development team architect is who on the development complexity of comprehensive which is an agile al. [8] al. [18] has an official, who makes the decisions team using agile software environment for software development takes architectural regarding the methodologies, to development developers methodology. decisions. architecture, guiding make the team feel processes. the team during the guided and supported Gersten Perform software Try the methodology Use the methodology project, in order to during development. et al. [9] development using a proposed by the proposed by the realize it in the software authors through the authors for software planned time. methodology that software development. Faber et The architect takes Architects offer the The architect should interests of the investigation. These references were analyzed al. [19] architectural qualities of the play an important role to obtain the objectives, benefits and strategies proposed by decisions based on system and values to in agile development customer value and their customers, projects, because with each author in each of his works, in order to compare them and continuous communicate and them the guide ourselves to take the appropriate decisions in an communication with implement in close development time is the developer. cooperation with reduced thanks to the academic software development environment and propose a developers. proper decision- suitable methodology for teams with these features. making. Kuhn et Verify that the The architect focuses Use the proposed al. [20] architect knows the on projects with REFERENCES characteristics to be complex problems to approach, which has taken into account give you a quick been fundamental to [1] Rational Software Corporation, “Rational ” (RUP), IBM, 2003. when making a solution through the architects [2] , “Team Software Process” ( TSP), 1990. decision in an design solutions. education. architectural project. [3] Watts Humphrey, “Personal Software Process” ( TSP), 1995. Apply in software Be based on the Use software [4] , “Extreme Programming” (XP), 1996. Rechtin development projects general rules derived architecture to [5] Ken Schwaber and Sutherland “SCRUM”, 1995. et al. [21] the architecture from experience, to understand the created by the generate the importance of [6] B. Kitchenham, “Procedures for Performing Systematic Reviews,” Department of architect architecture of a learning and applying , Keele University, and National ICT Australia Ltd., Joint software it in software Technical Report, Julio 2004. development project. projects. [7] K. Petersen, R. Feldt, S. Mujtaba, y M. Mattsson, “Systematic Mapping Studies in Bondi et Have a team member Know the behavior Verify that the Software Engineering,” en Proceedings of the 12th International Conference on al. [22] who interacts with of all parts of the architect is the only all interested part of system, to help one in the software Evaluation and Assessment in Software Engineering, ser. EASE’08. Swinton, UK: the software project, significantly the project that interacts British Computer Society, 2008, pp. 68–77. taking an overview project development. with all interested [8] Bergin, Joe and Caristi, James and Dubinsky, Yael and Hazzan, Orit and Williams, of the entire system parts and has an Laurie, Teaching software development methods: the case of extreme overview of the programming, SIGCSE Bull.,pp. 448-449, 2004. system. [9] Gersten, D. y Langer, S., Programming in the small, Journal of Digital Imaging,pp. VI. DISCUSSION 142-150, 2011. [10] Dyba, T.; Arisholm, E.; Sjoberg, D.; Hannay, J. y Shull, F., Are Two Heads Better Teams with low-expertise in methodologies than One? On the Effectiveness of Pair Programming Software, IEEE,pp. 12-15, According to the table about teams with low knowledge, the 2007. authors propose mixing mainly SCRUM or agile [11] Alkhatib, G.; Maamar, Z.; Issa, G.; Daoud, D.; Turani, A. y Zaroor, M., methodologies like Extreme Programming (XP) with Incorporating innovative practices in software engineering education Global disciplined methodologies like Team Software Person (TSP), Engineering Education Conference (EDUCON), IEEE,pp. 136 -141, 2011. [12] Salo, O. Improving Software Process in Agile Software Development Projects: RUP (Rational Unified Process) among others, to guide the Results from Two XP Case Studies Proceedings of the 30th EUROMICRO process and adapt it to the needs of the team, as well as how to Conference, IEEE Computer Society,pp. 310-317, 2004. perform continuous software integration increments in order [13] DosSantos, A.M. and Karlsson, B.F. and Cavalcante, A.M. and Correia, I.B and to start learning the proposed methodology and implement Silva, E., Testing in an agile product development environment: An industry itself. experience report, Test Workshop (LATW), 2011 12th Latin American,2011. Teams with high members rotations. [14] Sison, R. Investigating the Effect of Pair Programming and Software Size on and Programmer Productivity, Software Engineering Conference, As for the table of teams with constant rotation of members, 2009. APSEC ’09. Asia-Pacific,pp. 635-640,2012. the authors mainly propose using a suitable methodology to [15] Maruping, L.M. and Zhang, X. and Venkatesh, V., Role of collective ownership measure the loss of knowledge due to the high turnover of and coding standards in coordinating expertise in software project teams, European developers, since new developers need time to learn the Journal of Information Systems,pp. 355-371,2009. project and achieve acceptable level of productivity. The [16] Izquierdo-Cortazar, D.; Robles, G.; Ortega, F. y Gonzalez-Barahona, Using authors also propose to keep track of versions and changes Software Archaeology to Measure Knowledge Loss in Software Projects Due to Developer Turnover System Sciences, 42nd Hawaii International Conference during development, to make it easier to new developers to on,pp. 1-10, 2009. acquire knowledge. [17] Anh, N.-D.; Cruzes, D. S. y Conradi, R., Dispersion, coordination and performance in global software teams: a systematic review Proceedings of the ACM-IEEE Teams lacking a software architect international symposium on Empirical software engineering and measurement, According to the table about teams lacking a software ACM,pp. 129-138, 2012. [18] Blair, S.; Watt, R. y Cull, T., Responsibility-driven architecture, IEEE architect, the authors propose to apply a software architecture Software,pp. 26-32, 2010. study method, since this helps reduce development time by [19] Faber, R., Architects as service providers, IEEE Software,pp. 33 40, 2010. taking the appropriate architectural decisions. They also [20] Kuhn, S., The studio: an exploration Software, IEEE Software,pp. propose to use agile methodologies to learn during iterations 65-71, 1998. of architectural decisions. Regarding the strategies, the authors [21] Rechtin, E., The art of systems architecting Spectrum, IEEE Software,pp. 66-69, propose a study method of the software architecture, since 1992. with them, the development time is being reduced by taking [22] Bondi, A., The software architect as the guardian of system performance and the appropriate architectural decisions. scalability Leadership and Management in Software Architecture, ICSE Workshop on,pp. 28-31, 2009. VII. CONCLUSIONS [23] Salem B, The knowledge-gap reduction in software engineering,IEEE Software, 2009. It was performed a Systematic mapping study that helps to select a set of published references, limited and focused on the