Agile Outsourcing Projects

2010 ◽  
pp. 578-593
Author(s):  
Boris Roussev ◽  
Ram Akella

Agile methods are lightweight, iterative software development frameworks used predominantly on small- and mid-sized software development projects. This article introduces a project structure and management practices creating Agile conditions for large software projects outsourced either offshore or onshore. Agility is achieved by slicing a large project into a number of small-sized projects working in Agile settings. Development is divided into R&D activities, located onsite, and production activities, located offsite. The proposed approach makes Agile applicable to the stressed conditions of outsourcing without compromising the quality or pace of the software development effort. Creating an Agile environment in an outsourcing project relies on maintaining a balance between the functions and sizes of onsite and offsite teams, on redefining the developers’ roles, and on reorganizing the information flow between the different development activities to compensate for the lack of customer onsite, team co-location, and tacit project knowledge.

Author(s):  
Boris Roussev

Agile methods are lightweight, iterative software development frameworks used predominantly on small and mid-sized software development projects. This chapter introduces a project structure and management practices creating agile conditions for large software projects outsourced either offshore or onshore. Agility is achieved by slicing a large project into a number of small projects working in agile settings. Development is divided into research and development activities that are located on-site, and production activities located off-site. The proposed approach makes agile methods applicable to the stressed conditions of outsourcing without compromising the quality or pace of the software development effort. Creating an agile environment in an outsourcing project relies on maintaining a balance between the functions and sizes of on-site and off-site teams, on redefining the developers’ roles, and on reorganizing the information flow between the different development activities to compensate for the lack of customers on-site, team colocation, and tacit project knowledge.


Author(s):  
Boris Roussev

Agile methods are lightweight, iterative software development frameworks used predominantly on small and mid-sized software development projects. This chapter introduces a project structure and management practices creating agile conditions for large software projects outsourced either offshore or onshore. Agility is achieved by slicing a large project into a number of small projects working in agile settings. Development is divided into research and development activities that are located on-site, and production activities located off-site. The proposed approach makes agile methods applicable to the stressed conditions of outsourcing without compromising the quality or pace of the software development effort. Creating an agile environment in an outsourcing project relies on maintaining a balance between the functions and sizes of on-site and off-site teams, on redefining the developers’ roles, and on reorganizing the information flow between the different development activities to compensate for the lack of customers on-site, team colocation, and tacit project knowledge.


Author(s):  
CUAUHTÉMOC LÓPEZ-MARTÍN ◽  
ALAIN ABRAN

Expert-based effort prediction in software projects can be taught, beginning with the practices learned in an academic environment in courses designed to encourage them. However, the length of such courses is a major concern for both industry and academia. Industry has to work without its employees while they are taking such a course, and academic institutions find it hard to fit the course into an already tight schedule. In this research, the set of Personal Software Process (PSP) practices is reordered and the practices are distributed among fewer assignments, in an attempt to address these concerns. This study involved 148 practitioners taking graduate courses who developed 1,036 software course assignments. The hypothesis on which it is based is the following: When the activities in the original PSP set are reordered into fewer assignments, the result is expert-based effort prediction that is statistically significantly better.


2015 ◽  
pp. 1722-1743
Author(s):  
Liguo Yu

Scheduling and staffing are important management activities in software projects. In closed-source software development, the relationships among development effort, time, and staffing have been well established and validated: the development effort determines the development time and the best number of developers that should be allocated to the project. However, there has been no similar research reported in open-source projects. In this chapter, the authors study the development effort, development time, and staffing in an open-source project, the Linux kernel project. Specifically, they investigate the power law relations among development effort, development time, and the number of active developers in the Linux kernel project. The authors find the power law relations differ from one branch to another branch in the Linux kernel project, which suggests different kinds of management and development styles might exist in different branches of the Linux kernel project. The empirical knowledge of software development effort obtained in this study could help project management and cost control in both open-source communities and closed-source industries.


2015 ◽  
Vol 6 (4) ◽  
pp. 39-68 ◽  
Author(s):  
Maryam Hassani Saadi ◽  
Vahid Khatibi Bardsiri ◽  
Fahimeh Ziaaddini

One of the major activities in effective and efficient production of software projects is the precise estimation of software development effort. Estimation of the effort in primary steps of software development is one of the most important challenges in managing software projects. Some reasons for these challenges such as: discordant software projects, the complexity of the manufacturing process, special role of human and high level of obscure and unusual features of software projects can be noted. Predicting the necessary efforts to develop software using meta-heuristic optimization algorithms has made significant progressions in this field. These algorithms have the potent to be used in estimation of the effort of the software. The necessity to increase estimation precision urged the authors to survey the efficiency of some meta-heuristic optimization algorithms and their effects on the software projects. To do so, in this paper, they investigated the effect of combining various optimization algorithms such as genetic algorithm, particle swarm optimization algorithm and ant colony algorithm on different models such as COCOMO, estimation based on analogy, machine learning methods and standard estimation models. These models have employed various data sets to evaluate the results such as COCOMO, Desharnais, NASA, Kemerer, CF, DPS, ISBSG and Koten & Gary. The results of this survey can be used by researchers as a primary reference.


Author(s):  
Liguo Yu

Scheduling and staffing are important management activities in software projects. In closed-source software development, the relationships among development effort, time, and staffing have been well established and validated: the development effort determines the development time and the best number of developers that should be allocated to the project. However, there has been no similar research reported in open-source projects. In this chapter, the authors study the development effort, development time, and staffing in an open-source project, the Linux kernel project. Specifically, they investigate the power law relations among development effort, development time, and the number of active developers in the Linux kernel project. The authors find the power law relations differ from one branch to another branch in the Linux kernel project, which suggests different kinds of management and development styles might exist in different branches of the Linux kernel project. The empirical knowledge of software development effort obtained in this study could help project management and cost control in both open-source communities and closed-source industries.


2016 ◽  
Vol 13 (10) ◽  
pp. 7093-7098 ◽  
Author(s):  
Shivakumar Nagarajan ◽  
Balaji Narayanan

Software development effort estimation is the way of predicting the effort to improve software economics. Accurate estimation of effort is the most tedious tasks in software projects. However, several methods are used to estimate the software development effort accurately. Imprecise estimation can leads to project failure due to uncertain data. In this paper, a hybrid model based on combination of Particle Swarm Optimization (PSO), K-means clustering algorithms, neural network and ABE method is proposed. The proposed method can be useful to predict better clustering and more accurate estimation and hence, there are difficulties in clustering and outliers in the software projects. The obtained results showed the better clustering result which provides the estimation result accurately. Then, neural network and Analogy methods are used which enhance the accuracy significantly.


Author(s):  
FATIMA AZZAHRA AMAZAL ◽  
ALI IDRI ◽  
ALAIN ABRAN

Software effort estimation is one of the most important tasks in software project management. Of several techniques suggested for estimating software development effort, the analogy-based reasoning, or Case-Based Reasoning (CBR), approaches stand out as promising techniques. In this paper, the benefits of using linguistic rather than numerical values in the analogy process for software effort estimation are investigated. The performance, in terms of accuracy and tolerance of imprecision, of two analogy-based software effort estimation models (Classical Analogy and Fuzzy Analogy, which use numerical and linguistic values respectively to describe software projects) is compared. Three research questions related to the performance of these two models are discussed and answered. This study uses the International Software Benchmarking Standards Group (ISBSG) dataset and confirms the usefulness of using linguistic instead of numerical values in analogy-based software effort estimation models.


2021 ◽  
Vol 12 (5) ◽  
pp. 1357-1374
Author(s):  
Claudia Carrijo Ravaglia ◽  
Mirian Picinini Mexas ◽  
Ana Claudia Dias ◽  
Haydée Maria Correia da Silveira Batista ◽  
Kleber da Silva Nunes

The aim of the paper is to analyze how agile management practices are being adopted by specialists from software development technology companies in Brazil, identifying actions that contribute to the success of software implementation, aiming to ensure the survival of organizations in the market. The study counted with a literature review to support the field research with software development specialists who use the agile methodology and work in Brazil in the states of Rio de Janeiro and São Paulo. The results were analyzed through a descriptive statistics and content analysis. The research identified that the companies that adopt agile software management methodology in Brazil prefer the Scrum method and the development teams may be geographically distributed. The main positive points identified when adopting agile methods were the process speed, team involvement, maximization of results, involvement with the client, and simplicity. Most experts identified problems in the implementation of the agile methodology and as points of attention: management of distributed teams, scope estimation and communication. It was possible to identify the existence of a positive financial result by adopting the agile method for software development projects, as well as actions that contribute to the success of these projects, such as controlling quality using different testing techniques, project management, time, stakeholders, scope, and have agile communication, with feedback and good leadership. On the other hand, it was observed in the statistics that, although efficient, this method is still not being widely used. This research can contribute to the managers of software development companies in the use of agile methods as well as improving management decision-making.


Author(s):  
Breno Gontijo Tavares ◽  
Carlos Eduardo Sanches da Silva ◽  
Adler Diniz de Souza

Risk management contributes to software projects success, but agile software development methods do not offer specific activities to manage risks. Therefore, this study aims to propose a list of risk management practices for agile projects, aiming to increase their chances of success. We analyzed 129 works on agile methods that afforded 127 risk management practices. We categorized and ranked practices using the AHP multi-criteria method with the participation of experts in the subject. The study presents risk management practices for daily meetings, increment, prototype, product backlog and Sprint planning as the most important for the risk management effectiveness. This study identified specific risk management practices for agile methods, not converging with other studies. Results contribute to the risk management improvement in agile projects and, consequently, increase their chances of success.


Sign in / Sign up

Export Citation Format

Share Document