Agile Practices: An Assessment of Perception of Value of Professionals on the Quality Criteria in Performance of Projects

Deliver high quality software in accordance with deadlines has become a major challenge for the software industry and more organizations adopt agile practices as a mean to achieve quality in their products. This paper analyzes , through a survey , the perception of software professionals , working in different fronts of the development process , the relationship between the use of agile practices and quality of software products. The result shows agile practices that can contribute to quality in three aspects : bigger involvement of the staff , agile management of the requirements proposed and code developed.


Introduction
Several scientific and popular publications show that the use of agile methods is growing among organizations which working in software development [1].
Consolidated in the 2000s through the creation of the Agile Manifesto [2], these methodologies incorporate distinguished principles from traditional approaches to software development, such as iterative and conceptual simplicity, aiming at the development and delivery of functional software quickly, intensive collaboration client, high quality, lower costs and dynamism in the face of constant changes in the project [3,4].
By emphasizing such principles, the use of agile methodologies are increasingly attracting more interest to organizations seeking for more dynamic approaches to solutions to common problems and challenges of software development projects, such as constantly changing user requirements, schedules control, communication and cooperation with the customer, continuous control of requirements, functional testing and delivery of the software product [4][5][6][7].
Driven by the growing acceptance and adoption, studies have sought to understand, from empirical evidence, the impacts caused by agile methodologies in software development project.
Accordingly, topics studied include the simplification and improvement of team communication with the adoption of the XP methodology [8], easing the scope of the project with Agile [9], qualitative increase in communication and commitment, cooperation and adaptability of professionals involved in development projects [5].
Regarding the contributions of agile methods on quality of software products, works such as Chow and Cao [10] and Lee and Xia [11] have highlighted factors that may contribute to quality assurance.
Among the features and attributes studied by Chow and Cao [10], the dynamic environment, the choice of an appropriate process management techniques and use of agile methods as factors that positively influence the creation of software products with quality.
Lee and Xia [11] suggest that the extent and efficiency of response time impact the performance of the agility of software development in different ways: the efficiency in response positively affects the completion on time, on budget completion and quality of software features while the amplitude response only positively affects the quality of software features.
Results such as those obtained [10,11] can be strengthened by focusing on topics of agile identified as fundamental to Quality Criteria in Performance of Projects the quality of software products, including knowledge sharing, active participation of stakeholders, self-organizing teams, and staff training [12].
Although good results have been found in practice, little is known about which are the main agile practices adopted to ensure this benefits in quality of software projects using agile methodologies.
Overall, the available studies focus on analyzing factors and attributes is related to agile principles and not on the applicability of practices [4].
To contribute to filling this gap on the applicability of agile practices for quality assurance, this paper aims to analyze, from the perceived value of various stakeholders in the process of software development, the relationship between the use of agile practices and quality of software products.

Justificative
Deliver high quality software in accordance with the schedule and scope has become a major challenge for the software industry and many alternatives has been adopted by development teams in an attempt to reduce efforts to fulfill its goals for the client, the user and the project team their own [13,14].
Among the most widely adopted alternatives, increaseingly these professionals are using agile practices as a means to achieve quality of the final product in an attempt to solve problems that reference the development phase of the software intended [4,15].This search is justified by the characteristics of the agile software development, which requires innovation and highly responsive, aligning the client's strengths and skill of the development team to find the right balance between product quality and agility of the processes [16].
This growth can be corroborated by the results of the research of Charette [17], where projects using agile methods in comparison with considered traditional methodologies, obtained better results for the timeliness, quality and costs.
In addition to Charette [17], several studies have investtigated how the principles, values and practices of agile methods are perceived and used by practitioners using as a parameter the performance criteria and size of projects.However, from these various studies about agile as [5,[8][9][10][11][12]18], little is known about which main practices adopted and which effects are produced on the quality of projects and software products.
Another important point raised is the limitation of these studies to evaluate projects using specific methodologies and more popular, such as XP and Scrum.The magnitude and diversity of practices and agile methodologies it's disregarded in most of the studies.
Therefore, the investigation of the perceived value of the users those agile practices in their software development environment is presented as an appropriate objecttive since the article proposes to seek understanding of the impact and positive effect of the adoption of agile practices in software projects as a way to get quality on the final software product, filling the gap left by previous studies.

Objective
This paper aims to analyze, from the perceived value of various stakeholders in the process of software development, the relationship between the use of agile practices and quality of software products.For both the analysis of results proposes answering the following question: a) Which, of the main agile practices, are being used to achieve quality on software products?Thus, the investigation of the proposed question is to allow the identification of the agile practices most valued to fulfill the quality criteria for software products developed.

Agile Methodologies
Agile methodologies are processes that support and implement the philosophy of dynamism and agility in software development [19].
They are constituted of a set of software development and management practices that were consolidated in 2001 by 17 experienced experts in software development processes, establishing common values and principles [20,21].
Based on these principles and values, was created the Agile Alliance and the establishment of the Agile Manifesto.The key values proposed in the "Agile Manifesto" are [2]:  Individuals and interactions over processes and tools. Working software over comprehensive documentation.
 Customer collaboration over contract negotiation. Responding to change over following a plan.
The idea of the "Agile Manifesto" is to redefine the priorities of a software project.Although there are processes and tools, documentation, negotiating contracts, them are reduced and more objective.In short, this paradigm allows the minimization of risks in the development and management of software projects.
Among the initials agile methodologies, previously created of the Agile Manifesto, highlights the Extreme Programming [22,23] for software development, Scrum [24] for project management, Adaptive Software Development [25], Feature Driven Development [26], Dynamic Systems Development Method [27] and Crystal Methodologies [28].Later, Test Driven Development [29] was incorporated into the list of available methodologies.
With several examples in the literature of agile methodologies, in general, are based on the set of principles set out in the Agile Manifesto.So even with a variety of agile methodologies presented, they have similar values and practices applied to very similar contexts during the execution phases of a software project, as shown in Table 1.

Perception on Software Quality
The term quality represents the degree to which a set of inherent characteristics of a product or process meets the needs of a customer or user [30].
Kemerer and Paulk [31] still define the concept of quality as an important success factor to be considered in developing a product.
From the perspective of software, quality can be perceived as a business objective, and for each aspect of the life cycle of a product, there are various techniques and tools to support the developers [21].In this work, analysis of the impact of agile practices on quality is presented through the concept of perceived value of professionals of software development.
In the literature, value is defined as an indicator of the positive contribution of a service, process or product and service as to compliance the desires and needs [32].
According [32], perceptions are based in opinions or reasoned experiences from the impact of information received and processed by individuals or social groups, which may change or keep their opinions due to the effect that the content analyzed represents on the same.
With the increasing complexity of software development and market pressures, companies are seeking verification and validation practices which ensure greater value for a software product [15,33,34].
Among the main motivations for the development of studies using parameters of perspective and perception of value in Software Engineering is the creation of a unified framework to better target investments in software and the creation of stakeholder principles of conduct of current situations of the "new Software Engineering" as changing requirements, emerging requirements, globalized culture of software development and quality assurance of systems [34].Inserted to the context of "new Software Engineering", the agile methodologies seek to avoid unfavorable situations in the project and focus on delivering value to customers by compliance the quality requirements [2].
As a complement to the proposal, Ahmed et al. [12], claims that the adoption of agile development methodologies has a positive impact not only on the productivity of the team and the velocity at which the product is delivered to the customer but also over the quality of the software product.
Huo et al. [35], contemplates that some agile practices can be used in adaptations made in process models of quality of the traditional approach as a potential solution for quality assurance, especially in early stages of the project.
However, that the propose of quality assurance using agile methodologies should focus on identifying practices rather than the comparison between the two approaches, because the initial conditions of development are different, which highlights an empirical research unrealistic [35].
In this context, the present approach constitutes an important assessment tool to support agile software developers, whose experiences are considered as key elements in creating value for its current and future software products and, as well as to deliver this value to a customer more profitable and sustainable way possible.

Research Methods
The study constitutes a quantitative survey conducted by the survey in a sample of 109 participants working in different fronts of the process of software.
We used two types of samples: expert and propagating geometric or snowball [36].The use of those sampling methods is justified due to: 1) participation of elements that are experts or have expertise in software development and 2) the inclusion of elements considered little accessible or with compatible characteristics to the domain of the research that are difficult to find.
This profile of elements is usually best identified by individuals who have close relationship, unknown to the researcher.
The survey contained a total of 15 questions, divided into three phases, which as shown in Figure 1: demographics, assessment of perception of agile practices and perceived benefits and difficulties.
The agile practices were grouped into three questions, their use in the second stage of a project agile software: practices for organizing teams and feedback; practices techniques (rules, coding, testing and versioning); and practices for planning, control and compliance goals.The data were collected for four months through the web tool for creation of surveys called SurveyMonkey, whose perception of the impact of agile practices on the quality of software products were evaluated using a Likert scale of six points, where the practice was evaluated by the values: very high (6), high (5), satisfactory (4), regular (3), low (2) and very low (1).To avoid responses flawed due to lack of knowledge, respondents were asked to evaluate only the agile practices that have used or use.

Data Analysis
The user's perception of value was analyzed using exploratory statistical analysis techniques, which is used when you want to discover trends, relations and patterns hidden from the researcher in a collection analyzed data.
In the point of view of Software Engineering, the prospect of value provides a good way to look at the process of developing a product, creating strategies to achieve a long-term profitable growth and a sustainable competetive advantage for software companies [34].
Among the exploratory techniques used in this work are the Descriptive Analysis and Factor Analysis.
Factor analysis is a technique of exploratory data analysis which consists of the data reduction or simplification of its structure, in order to describe, if possible, the covariance relationship among many variables in terms of a few underlying, but unobservable, random quantities called factors [37].
The factor analysis is motivated by the argument which variables can be grouped by correlations.In this research, we will test if exists correlations between agile practices and quality criteria, defining which are this practices and if they could be grouped and represented by factors.
In particular, the factor analysis model is represented by the Equation (1): Quality Criteria in Performance of Projects In this model, the coefficient ℓ ij is called loading of the ith variable on the jth factor and the F (m × 1) is the matrix of the factor loadings.In this context, the factor analysis model assumes that these variables had linear relation with new random variables F n , where n = 1, 2, 3,•••, n.The vector ε (p × 1) represents the random errors associated at the measures [37].
That initial factor matrix indicates the relation between the variables rarely results in factors that could be interpreted [38].
However, the analysis becomes feasibly useful in function of their ability to produce factors, through the methods of the rotation matrix, which transforms the factors matrix into an array of rotated maximized, meaningful, simpler and easier to interpret [38,39].
For this study we used the method of orthogonal rotation Varimax, which is the most commonly used because it focus in maximum simplification of the columns of the array factor by maximizing the sum of variances of required charges of the factorial matrix [37,40].
The factors found are defined by the value of its indexes, whose consideration is dependent on sample size.For this research, the practices that have factor loadings of 0.55 or higher are considered significant, since the sample size is 109 respondents [36].The validation tests were made using the methods KMO and calculation of latent root [36,37].
Once the analysis performed with SPSS (Statistical Package for Social Sciences) version 18, it was possible to identify practices correlated that represents the greatest values in the perception of respondents regarding the quality of software products being resized as factors of impact.
Only the factors found using as variables the practices with n > 35, were considered for the elaboration of a factorial model for quality in agile development.This criteria was considered for represent a most representative sample of the study.

Sample Characterization
The survey obtained a total of 109 respondents from countries in the world, as represented in Figure 1, with 77 respondents from Brazil, 19 from United States and one respondent for each of the respective countries: Germany, Argentina, Australia, Belgium, Colombia, Denmark France, India, Italy, Poland, Switzerland, Serbia and Venezuela.
Regarding the stage of adoption of agile methodologies, represented in Figure 2, 34% responded that the use of agile methods in your company is well defined, but no formal performance measurement practices in relation to quality criteria.About 24% of respondents said that the process of agile methodologies is Partially implemented in your company.The category Defined as formal and continuous improvement measurements obtained 23% of responses.The category Initial/ad hoc obtained 19% of responses.

Validity and Reliability
The first step of the validation phase consists in treat the data collected, separating the variables which had more evaluations of the variables which had few evaluations.This treatment has fundamental to get a more representative sample to the analysis, once the evaluations of the all practices was facultative.Table 2 shows all the practices and the number of evaluations received by each item.For this analysis it's only considered practices with n > 35 in order to build a more representative sample for the study.
The validation of data generated by the analysis can be tested by the KMO method (Kaiser-Meyer-Olkin).The KMO value founded was 0.816, that according to Maroco (2010), corresponds to a test whose analysis generated has good quality, as the demonstration in Table 3.
The information described in Table 2 indicate that the KMO index = 0.680, approximately 0.7, validates the analysis with a good recommendation.The Bartlett test shows a significance value p < 0.0001.Therefore we conclude that the variables are significantly correlated.

Factor Analysis
Regarding the number of factors observed, the factor analysis, represented in Table 4, shows a structure of six    factors explaining 64.3%, approximately 64% of the variance of the questionnaire, considering eigenvalues greater than or equals to 1, as recommended the latent root criteria [36,40].
With the discovery of six latent factors, the analysis solution is shown in Table 5 which provides the agile practices of higher perceived value of quality professionals in the factors chosen.
From the results found in factor analysis, it was possible to extract six factors, as shown in Figure 3.
 Factor 1-Backlog with continuous integration: this first factor presents high factorial weights in practices related to the phase of planning of the features of the project, where the team sets during the planning meeting of the iterative cycle, the implementations of higher priority and which deliver customer value.The practices had higher factorial weights justify a positive perception of value from the respondents regarding the creation of a prioritized list of features in the iteration planning meeting, that must be worked and integrated in small releases and continuously evaluated qualitatively at the meeting of the Iteration Retrospective, in order to create a improve plan for the next features to be worked. Factor 2-Agile requirements analysis: this second factor has factorial weights high significant in the perception of practices related to the execution and analysis of test of features specified in the users stories.An User story is an agile practice where the requirements are specified from the customer's point of view, in a simple   language and description.In this case, the data indicate which this practice plays an important and active role in the definitions of the projects and that the features cre-ated from the stories users are properly tested through the use of functional tests. Factor 3-Modeling the testing process: this third factor has factorial weights high significant in practices related to the modeling of testing phase.The practices had higher weight factor justifying the positive perceived value of the respondents in the generation of use cases and UML diagrams to build test cases adapted to the agile process in their companies.
 Factor 4-Preventing bugs with test cases: this fourth factor has factorial weights high significant in practices related to the use of test cases for the correction of errors arising from the acceptance tests.The practices that obtained higher factorial weights justifying the positive perception of value of respondents to the development of test cases to implement the features ill-defined in the planning phase and not properly functional identified in screening of errors of acceptance tests by the user. Factor 5-Vision document: the fifth factor presents factorial weights high significant related to the use of a vision document as an artifact which reports system technical's perspectives, process preceding the analysis of the domain model.In this case, the Vision Document, despite being built using simple language, yet has a more technical aspect of a user story. Factor 6-Multifunctional development teams gui- ded by tests: this sixth factor presents factorial weights high significant in practices related to the formation of a Quality Criteria in Performance of Projects cross-functional team which implements unit tests of the more valuable features defined in accordance with the representant of the customers, the Product Owner.A team with different abilities to execute tests could bring positive results because they will search for failures in the system from different aspects.The practices had higher factorial weights justifying the positive perception of value of the respondents to practice cross-functional teams including the customer in a more representative way.

Discussion
From this conceptualization of perception of value, for the criteria quality of software products, we can construct a possible scenario of use of agile practices: the teams formed are cross-functional teams jointly with a customer representative defines a business model structured in diagrams and a document client's vision in relation to business planning meeting in the cycle.
Once carried out the details of planning and architectture, the increment is developed through the test cases, followed by the unit tests and functional tests.After correcting the errors found in the screening of errors, the codes are integrated continuously.
This scenario describes that, from the perspective of using agile practices, the quality of the software product can be worked in three aspects: (a) bigger involvement of the staff, (b) agile management of the requirements proposed and (c) code developed.
In describing the use of the practices on the factors, we find that in general, the factors show a behavior toward a use of practices in planning phase, which include the use of practices which value the customer needs as documents in a simple language, and in architecture and development phase, which include modeling and development guided by tests.These practices have a positive view by the practitioners and users of agile methodologies, the agilists and this results aims to approach a better approximation of current scenario of use of agile practices.
In a way, it can be said that the employment of these factors in the development cycle of software projects, collectively or individually, can contribute to the improvement of quality in software products to be developed using agile methodologies.

Conclusions
Agility becomes increasingly important in the current scenario of software development.And in face of a competitive market, it becomes important to search for agile and adaptive solutions can represent a path to deliver software quickly, with quality, on time, with reduced scope of work and affordable costs.
The objective of this study was to analyze the relation-ship between the use of agile practices and the quality of software products.This was achieved once as the results showed the perception of value to practitioners with agile principles and practices used in the current world market.By combining practices evaluated by the user as positive for success in quality criteria, the study showed that the focus in choosing the best agile practices and not a specific methodology may be a step of maturity for organizations to adopt the agile culture with less risk and barriers.
For researchers, this study contributes to achieving a mapping of agile practices by referencing the plurality of methods on the market and opening up greater possibilities in the research of perceived value to the user with agile practices.The result shows that agile practices, and combined into factors used in the various phases of the project, can contribute positively in achieving quality in three aspects: bigger involvement of the staff, agile management of the requirements proposed and code developed.
For practitioners of agile methodologies, this study suggests combinations of widely used agile practices in the software market and, if destined for suitability and compliance of quality standards in software projects, considering their needs and strategies, suggests a performance positive for those who adopt.
Regarding the statistical analysis, these were used taking care to ensure representativeness of the samples as to its size, and using appropriate methods and statistical assumptions required and the data type and purpose of the research.
In summary, this study contributes to improve the understanding on the use of agile practices in the context of software development.Research in this area are highly relevant to a better understand and direct the organizations to enhance investments in resources, efforts and agile practices to achieve excellence in processes and software products.Thus, the authors suggest the following future work:  An examination of quantitative character, and why not qualitative, in which to should analyze the perceived value of use of developers on agile practices applied in a specific context, just as requirements elicitation practices, practices focused in testing, refactoring or improving of code.
 Develop statistical analysis using other techniques of analysis such as confirmatory methods of analysis, using techniques such as PLS (Partial Least Square).

Limitations
This study aimed to analyze the relationship between agile practices and software quality.To meet the objective of the study, data analysis took care to use descriptive methods robust, and to make inferences, conduct them on representative samples.However, the sample size, the structure of the questionnaire, and the delineation of self-choice did not allow using other statistical methods that could answer more questions than those specified.

Figure 1 .
Figure 1.Example of a figure caption.

Figure 2 .
Figure 2. Example of a figure caption.

Figure 3 .
Figure 3. Agile grouped into factors that represent the user's perception of value and quality.