MANAGEMENT OF SOFTWARE DEVELOPMENT PROJECTS IN BRAZIL USING AGILE METHODS

 

Claudia Carrijo Ravaglia

topdown, Brazil

E-mail: claudia@topdown.com.br

 

Mirian Picinini Mexas

UFF - Universidade Federal Fluminense, Brazil

E-mail: mirian.picinini@gmail.com

 

Ana Claudia Dias

Centro Federal de Educação Tecnologica Celso Suckow da Fonseca – CEFET/RJ, Brazil

E-mail: missdias@gmail.com

 

Haydee Maria Correia da Silveira Batista

COPPE - UFRJ, Brazil

E-mail: haydeemcsb@gmail.com

 

Kleber da Silva Nunes

topdown, Brazil

E-mail: kleber@topdown.com.br

 

Submission: 5/28/2020

Revision: 7/3/2020

Accept: 8/31/2020

 

ABSTRACT

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.

Keywords: Project Management Software; Software development; Agile

1.       INTRODUCTION

When idealizing a project, it is expected that it will generate greater value for the business, however, the client does not always have full understanding of the requirements or they change according to the evolution of the project or influenced by external factors. There is also the human factor and its emotions. All of this creates constant challenges for the management of software development projects, making them dynamic.

According to Pressman (2016), software development is a complex process involving many people over a long period, with the aim of developing a computer system. In addition, development resources are spread across the world, whether hardware and software, mainly in the United States, or human resources, particularly in India and China, due to labor costs. In this way, IT companies need to invest in quality in the conduct of their projects, and management in software development needs to minimize deadlines and costs, but in a sustainable way.

In software development projects, there are two major strands of management, the classic project management principles, and agile development methods. The challenge is to choose, adapt and combine these approaches to achieve excellence in the project execution (Vargas, 2016).

There is no right way of management and control to achieve project success, each project is unique and needs constant adaptation and speed in changes. Therefore, understanding the risks and problems when using agile methodologies, and when they must be adopted in software development companies, is essential to guarantee the success of their use (Sheffield & Lemétayer, 2013). Since, if not used correctly, they can generate problems instead of solutions.

In this way, the agile methodologies used by software development management technology companies were analyzed in this study, with the objective of identifying how specialists in Brazil are adopting fundamental management practices and if they complementing them with practices already established in others methods ensuring the survival of organizations in the market.

To achieve this objective, the present study carried out a 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, seeking to identify the applicability of agile management by companies in this country.

Therefore, it is expected, as a contribution of this research, to assist IT managers in the use of agile methods as well as to improve management decision making based on the results of the field research that were corroborated by the literature review.

2.       CONSIDERATIONS ON AGILE DEVELOPMENT

According to (Abdalhamid & Mishra, 2017) software development organizations adopt agile methods as a solution for fast software delivery, with high quality, reduced deadlines, presenting adequate responses to problems and offering quick, better and low-cost solutions, in a constantly changing environment.

The agile process must meet unpredictability, for this reason it must be adaptable in an incremental way. For that, it is necessary the constant monitoring and feedback from customers which are carried out from software increments delivered in a short time, making it possible for customers evaluate and influence the necessary adaptations, reducing the associated risks with the uncertainties of the projects. In view of the agile manifesto (Beck et al., 2001), customer satisfaction with useful product deliveries and desired quality.

It is worth mentioning that according to Dingsøyr et al. (2017), the client's participation, which is indispensable in agile methods, is also considered a challenge in efforts to develop large systems. The risk of failure increases due to having many stakeholders so, it is necessary to establish a common understanding among all customer representatives, in addition, when different groups of stakeholders have different priorities, an open and transparent dialogue and cross communication is necessary between groups.

The open and participative environment adopted by agile methods favors the creation of tacit knowledge and the formation of organizational culture. Team satisfaction generates quality and affects the performance of the software produced. Other factors also generate quality, such as: specification, schedule, teamwork, customer collaboration, identification of challenges/risks, feedback, formation of the knowledge base, speed, flexibility in the processes, changing requirements, simplicity, standardization, team autonomy, automation, problem prevention, measurement, delivery strategies, integration and testing. (Farid et al., 2016; Nuottila, et al., 2016; Vargas, 2016; Sundararajan et al., 2014; Wautelet; Kolp, 2012; Mahnic & Zabkar, 2012; Tripp et al., 2016; Laanti, 2014).

However, Al-Sakkaf, Hashim and Omar (2017) highlight the importance of understanding agile software development methodologies and their practices, where agile teams need to choose the right combination of practices, and must select those that will best meet the needs of the organization to maximize benefits, thus identifying four groups of practices: Project management; Quality warranty; Team communication and incremental iterative practices.

Complementary actions are also adopted in the management of agile software development. Like risk management. According to Odzaly et al., (2018) managing risks is an important process in Software Engineering, however for agile methods, a risk management model that reduces effort is required, and software agents are indicated to perform tasks in a supporting, identifying, assessing and monitoring risks.

There are other complementary activities that were also identified as budget control and cost analysis, documentation and process for configuration management, monitoring, definition of processes for the acquisition and contracting of suppliers, definition and inclusion of new management roles, training, design and architectural projects, testing processes, integration and acceptance and change control. (Al-Aidaros & Omar, 2017; Farid et al., 2016; Wautelet & Kolp, 2012; Lee & Yong, 2010; Sundararajan et al., 2014; Surdu & Parsons, 2006; Nuottila et al., 2016; Bowen et al., 2014; Papatheocharous; Andreou, 2014; Kulkarni et al., 2017).

Selecting the one that best suits your project depends on many factors, such as: team size, criticality of defects, ability to receive interactions / feedback from customers, customer expectations, budget, schedule, and requirements scalability. As these factors are different from project to project, the same strategies should not always be used (Surdu & Parsons, 2006). Thus, the review of failures and successes, the lessons learned in agile development projects, can help in the identification of possible critical success factors, since the understanding of failures and successful actions can contribute to improving the quality of projects (Chow & Cao, 2008).

3.       RESEARCH METHODOLOGY

This research was structured in five phases to achieve the objectives of this study. In the first phase, a literature review was carried out, aiming to obtain articles that would support the field research. In the second phase, a questionnaire was developed and validated with open and closed questions. This questionnaire used the theoretical foundations identified in the first phase. In the third phase, data collection and tabulation were obtained through answered questionnaires. The fourth phase carried out the results analysis, generation of descriptive statistics and content analysis, and in the fifth phase, the consolidation, conclusion, and perspective of future work was carried out.

According to Gray (2012), qualitative research often works with a small sample of people located in certain contexts, thus aiming to identify cases rich in information, seeking to identify the relevant characteristics of the research. Therefore, the present study was carried out with the application of the questionnaire in a non-probabilistic sample by judgment and accessibility, with 21 experienced experts, working in software development companies and that use agile methodologies. There were no restrictions on the teams related to the level, including both managerial and operational levels. As evidenced by Laanti (2014) it is important to listen to employees because they know all the problems. The profile was also mapped, by length of service, the size of the company where they work and whether they have any certification.

The invitations to answer the interviews were sent by email to specialists in Rio de Janeiro and São Paulo. The profile of the experts who contributed to the survey, which corresponds to part 1 of the questionnaire, is detailed in section 4.1 where the analysis of the respondents' profile is carried out and it can be seen that most of it was carried out by experienced professionals over ten years old working in the software development area.

It is worth mentioning that the questionnaire was built based on the bibliographic body of the research, as shown in table 1, and aimed to understand how companies use agile methods in software development, what were the results obtained; what tools were adopted; what were the difficulties encountered; and what are the points that require special attention identified during the conduct of the projects, among other questions. The result of this second part of the questionnaire is detailed in section 4.2.

Before sending the questionnaire to the respondents, a pre-test was carried out with three experts in agile development, aiming at its validation. Based on the pre-test responses, the questionnaire was adjusted and sent to agile software development specialists.

In addition, the answers to open questions were assessed through content analysis, which, according to Gray (2012), with a more deductive character, deals with making inferences about data usually collected through texts, which can be considered a potentially important tool for researcher evaluation, seeking to identify characteristic forms with the location of classes or categories. When identifying a pattern, these were presented in graphical format, as well as in the analysis of closed questions, descriptive statistics with frequency graphs were used, sometimes confirming, and sometimes denying the considerations identified in the literature search.

4.       ANALYSIS OF RESEARCH RESULTS

The questionnaire used was divided into two blocks, the first of which assessed the profile of the specialist and the second assessed how the specialists manage agile software development projects. The survey was distributed to 62 specialists working in software development companies in Rio de Janeiro and São Paulo, during the months of February and March 2018, receiving only 21 questionnaires answered, obtaining 34% return.

4.1.          Analysis of the respondents ‘profile

The analysis of the respondent's profile was carried out to assess the diversity of the sample, his experience in software development and familiarity with agile methods.

The size of the company was assessed considering the number of employees (SEBRAE, 2013), and it can be seen, as shown in Graph 1, that 72% of the respondents work in large companies with more than 99 employees. The others are equally divided into medium-sized companies with 50 to 99 employees and Micro-companies with up to nine employees and none of the respondents works in a small company with 10 to 49 employees.

Considering that most respondents work in a large company, there is a trend of great cultural diversity, increasing intellectual capital, providing diversity and process improvements, according to PMI (2017), in large organizations it is possible to combine practices of several fundamental methods, reuse or create new methods, principles and practices.

Evaluating the experience, the answers, for the most part, are from experienced software development specialists, as shown in Graph 2, where 55% have more than 15 years of experience and 25% have 11 to 15 years of experience, with a tendency towards reliability of the search result.

Considering the analysis of Laanti (2014) as relevant, which identified that listening to the team is important, because they are the ones who know the problems, the analysis of the respondents' role was performed, identifying it according to graph 3, identifying that 54% have a managerial role and 46% have a managerial role. operational function, this balance indicates that the problems and solutions are the domain of the respondents. According to graph 4, the agile method is classified as especially important or important, by 81% of respondents.

Graph 1: Company size

Graph 2: Experience in software development

Graph 3: Function in the company

Graph 4: Importance of the agile method

There was a balance in quantity between those who have and those who do not have certifications, as shown in graph 5.

Graph 5: Do you have any certification?

4.2.          Analysis of the software development management characteristics using agile

Graph 6, referring to question 1 in table 1, identified the preference for Scrum followed by KANBAN and XP, with some experts combining methods and frameworks, using the processes that best adapt to the needs of the company, but in the answers it was possible to identify that it is common to combine agile with traditional methods / frameworks, which highlights the need for parallel controls not provided for in agile methodologies. This need was also identified in the literature review where several authors also used methodologies / frameworks to complement the agile method.

Graph 6: What agile methods / frameworks are used?

Graph 7: What is the geographical location of the teams?

The agile method is being used regardless of the location of the teams, as shown in Graph 7 (question 2), with no significant preference for local development teams. Which confirms (Papatheocharous & Andreou, 2014), when referring to the location of the teams, whether or not they may be in the same environment that they will work in the same way.

When evaluating team communication, it was identified in Graph 8 (question 3), that almost all respondents use both formal and informal communication. Given the agile manifesto, (Beck et al., 2001), in which information is transmitted through face-to-face conversations. However, according to graph 9 (question 4), 81% of the respondents declare that they have already identified some type of communication problem, highlighting problems related to the lack of daily meetings or the planning of meetings, problems with communication with the client, rework and ill-defined responsibilities, parallel prioritization and problem in the dissemination of information.

Graph 8: What type of communication is used?

Graph 9: Have you identified any communication problems?

According to Dingsøyr et al. (2017), rapid communication in informal meetings improves integration and learning, however, attention should be paid to the dissemination of information. According to (Al-Aidaros & Omar, 2017), one of the causes that cause failures in projects that use agile methods is poor communication.

Communication and teamwork were indicated as the most important skills to team members of an agile software development project, as shown in Graph 10 (question 5), with emphasis on communication: ease of communication, knowledge listening and sharing information, clarifying doubts, validating requirements, accepting and receiving criticism.

The team's skills were also cited as necessary: carrying out documentation, being self-managed, committed, and multidisciplinary, proactive, and knowing how to estimate deadlines assertively. Other characteristics are also mentioned, such as: Collaborative, experienced, creative, flexible team, know agile methods and motivating management. According to the literature, where the authors Vargas (2016) and Kulkarni et al. (2017) cite the self-organized teams, Tripp, Riemenschneider and Thatcher (2016) present the variety of skills and work autonomy, and Dingsøyr et al. (2017) describes about knowledge sharing, collaborative relationships and informal rapid communication and self-management.

Graph 10: What are the skills that the company identified as necessary for participants for an agile project?

The tools in support of agile development are used for project management, planning, costs, tasks, communication, documentation, modeling, timesheet, test management and version control. Preferred are MS-Project, proprietary tools, e-mail, Jira, and MS-Office, as shown in Graph 11 (question 6). The diversity of tools presented agrees with Kulkarni et al. (2017), which indicates that the tools are used according to organizational needs and characteristics.

Graph 11: What support tools were used to control the project?

The training of the team is carried out by 40% of the respondents, as shown in Graph 12 (question 7), where various forms of training were used, such as lectures, meetings and feedback, formal training and dissemination of knowledge in which the most experienced guide the most new, in the same way as defended by Nuottila, Aaltonen and Kujala (2016), and the team should not be limited to formal training only. The transfer of knowledge builds the organizational identity defining its differential in relation to other companies.

Graph 12: Were there any capacitation / training plans?

The most used roles in agile software development projects are those of the development team (test, programmer), project manager, scrum master and product owner, as shown in graph 13 (question 8).

Graph 13: What roles were adopted in development projects using agile methodologies?

Speed was the main benefit mentioned in the adoption of the agile method, as shown in graph 14 (question 9). The team's involvement, compliance, maximization of results and prevention of problems are also pointed out as an advantage.

In graph 15 (question 10), although 28% of the experts did not find negative points in the agile method, problems were identified that in the agile method should not exist, such as client interference, constant requests for changes and overload of tasks, suggesting problems in implementation of the agile methodology for 56% of the specialists, since the client's participation is one of the main motivators of the agile manifest, this participation allows deviations in the understanding of the scope to be identified earlier.

The team is the main point of attention to be considered, according to graph 16 (question 11) where they mention: training, behavior, need to define roles and management of distributed teams. Scope estimation and communication are also cited as a point of special attention.

Graph 14: What were the positive points in the adoption of agile methods?

Graph 15: What were the negative points in the adoption of agile methods?

Graph 16: What were the points of special attention in the adoption of agile methods?

According to graph 17 (question 12), the risk management plan is not adopted by 60% of the specialists. Among those who adopted, most use it based on PMBOK. Farid, Abd Elghany and Helmy (2016), Vargas (2016), Surdu and Parsons (2006) adopt risk management as a complementary action to the agile method based on traditional methodologies / frameworks.

Monitoring is adopted by 70% of specialists, to assess quality, performance and cost in agile software development projects, as shown in graph 18 (question 13), as well as Dingsøyr et al. (2017) identified the need to monitor quality, and Al-Aidaros and Omar (2017) identified the need to monitor the project to prevent failures. The metrics used by the respondents are used to monitor productivity, performance, the quality of the software delivered, the deadline and changes in scope.

Documentation management tools are used by 70% of experts, as can be seen in Graph 19 (question 14), as well as Nuottila, Aaltonen and Kujala (2016), Vargas (2016), Sundararajan, Bhasi and Vijayaraghavan (2014), Surdu and Parsons (2006), being mentioned MS-Office, Enterprise Architect, GIT, SVN, Wiki, Sharepoint, Redmine, Jira and own tools.

Graph 17: Was there a plan for the management of the rich?

Graph 18: Is monitoring used to assess quality, performance, and cost?

Graph 19 - Does the company use tools for document management?

Graph 20 - Was there an improvement in the financial result when agile methods were adopted?

Graph 20 (question 15) shows that 71% of the respondents identified that there was an improvement in the financial result with the use of the agile method. Which indicates financial advantage when adopting this method in software development.

Requirement and change management are performed by 71% of specialists, as shown in Graph 21 (question 16). Respondents described that this management is carried out through change management processes, carrying out technical specifications, impact assessment and software is used for documentation, customer approval and traceability of changes. The second agile manifesto (BECK et al., 2001), is based on the ability to respond to changes more quickly. Surdu and Parsons (2006) confirmed their confidence in the development process by the rapid capacity to respond to changes.

The use of coding standards was identified as important by 86% of specialists, as shown in Graph 22 (question 17), who cited as advantages of using this practice: ease of maintenance, reuse, code quality, reduction of learning time and improvement productivity. According to Al-Sakkaf, Hashim and Omar (2017), this is one of the quality management practices selected among the best to meet the needs of the organization.

Graph 21: Do you perform any requirements and change management?

Graph 22: Do you consider it important to define and use coding standards?

The practices considered important to guarantee quality, and the experts' answers were grouped and identified, as shown in Graph 23 (question 18). The test is the main factor to guarantee the quality indicated by 31% of the experts' answers with citations for: test plan, unit test, TDD, complete system test, automated test, acceptance test and code review. The tests are also cited by Bowen et al. (2014), Sundararajan, Bhasi and Vijayaraghavan (2014), Surdu and Parsons (2006). Standardization was the second quality item, being cited in 19% of the responses and pointing out the need to identify, establish and disseminate the standards of processes, architecture, coding, and interface. Standard was one of the principles identified by Laanti (2014) and cited by (Papatheocharous & Andreou, 2014).

Planning and delivery were also classified as important in quality assurance, which cited important understanding and approval of requirements, configuration management and versioning of the code, a united, sincere team that knows how to listen and good leadership, communication with feedbacks and daily meetings, monitoring with the monitoring of the performance of the project, and monitoring of the results, and the participation of the client following all phases of the project from the scope survey to the tests and installation.

Graph 23: Which practices are considered important to guarantee quality?

5.       CONCLUSION

Initially, this study carried out a literature review which supported the questionnaire with open and closed questions in the field research. The questionnaire was applied to 21 experts in agile software development who work in Brazil, located in Rio de Janeiro and São Paulo, whose answers were evaluated through descriptive statistics and content analysis.

When analyzing the profile of the respondents, it was identified that most specialists work in companies with more than 99 employees, there is a balance in the functions exercised between managerial and operational, most of them had more than ten years of experience in software development, and half have some certification.

The agile method in software development was considered important by most respondents, who reported having knowledge and were familiar with the method. Despite this fact, only half of the respondents use it regularly. Here is a suggestion for future studies to understand the reason for not using the method, as if it exists it is considered important.

Most respondents identified a positive financial result when adopting the method for software development, signaling a great advantage in adopting this methodology and it could be observed that there is a preference for the Scrum method, however Kanban is already used by 24% of specialists.

The teams are not restricted only to local development, but geographically distributed teams are also used, there is also no defined standard for communication, thus obeying the agile manifesto, however the specialists identified problems in this practice, probably due to the excess of informality. In this item, it arouses the need to identify the balance between lack and excess of formality in communication.

Several were the positive points cited by the adoption of agile development, among the main ones are the speed that is cited by 31% of the interviewees and the involvement of the team, compliance, maximization of results, prevention of problems, involvement with the client were also mentioned , simplicity, standardization and reuse, conformity and quality.

Although 28% of the experts did not identify any negative points, it was evident that there are problems in the adoption of the agile method since they considered the participation of the client to be a problem for development.

The tools for managing agile software development are adopted for various controls such as project management, planning, costs, tasks, communication, documentation, modeling, timesheet, testing, and version management. This set of tools was considered by 79% of the experts to be sufficient, however the other 21% identified the need for complementation with tools for controlling documentation and versioning requirements.

In addition, the risk management plan is not adopted by most respondents, unlike monitoring and document management, which is used by 70% of specialists, and requirement and change management, which is carried out by 71%, through technical specification and impact analysis and customer approval. Less than half of the respondents adopt an acquisition plan, however, among those who do, they did not know how to explain how it is done.

It is worth mentioning that, in the opinion of experts, the actions that contribute to the success of a software development project are basically in quality control using different testing techniques, project management, time, stakeholders, scope and having an agile communication. Confirming this position, when they were asked about the actions to guarantee quality, they mention several practices such as testing, standardization, planning and delivery, configuration management, team and customer participation, communication, and monitoring.

The coding standard considered important by 86% of the specialists who cited the advantage of easy maintenance, reuse, code quality, reduced learning time and improved productivity. All these practices are used by specialists to generate confidence and quality in the development process.

Despite the improvement in the financial result with the use of the agile method and being considered important, only half of the respondents use it regularly. What suggests that this method should be adopted more, as a suggestion for future research it is suggested to investigate the reason why this method is not being widely adopted.

REFERENCES

Abdalhamid, S., & Mishra, A. (2017). Adopting of Agile methods in Software Development Organizations: Systematic Mapping. Tem Journal-Technology Education Management Informatics, 6(4), 817-825.

Al-Aidaros, H. A. A., & Omar, M. (2017). Software project management approaches for monitoring work-in-progress: A review. Journal of Engineering and Applied Sciences, 12( 15), 3851-3857.

Al-Sakkaf, A. M., Hashim, N. L., & Omar, M. (2017). Using hierarchical cluster analysis to generate clusters of agile practices. Journal of Telecommunication, Electronic and Computer Engineering, 9(1-2), 53-56.

Beck, K. et al. (2001). Manifesto para Desenvolvimento Ágil de Software. Available at: http://agilemanifesto.org/iso/ptbr/manifesto.html, Accessed on 02 apr. 2017.

Bowen, J. P., Hinchey, M., Janicke, H., Ward, M., & Zedan, H. (2014). Formality, agility, security, and evolution in software development.  Computer, 47(10), 86-89.

Chow, T., & Cao, D. B. (2008). A survey study of critical success factors in agile software projects. Journal of Systems and Software, 81(6), 961-971.

Dingsøyr, T., Moe, N. B., Fægri, T. E., & Seim, E. A. (2017).  Exploring software development at the very large-scale: a revelatory case study and research agenda for agile method adaptation. Empirical Software Engineering, 25(1), 1-31.

Farid, A. B., Abd Elghany, A. S., & Helmy, Y. M. (2016). Implementing Project Management Category Process Areas of CMMI Version 1.3 Using Scrum Practices, and Assets. International Journal of Advanced Computer Science and Applications, 7(2), 243-252.

Gray, D. E. (2012). Pesquisa no Mundo Real. 2ª. Porto Alegre.

Guia Pmbok. (2013). 5 Edition - Portuguese. PMI.

Kulkarni, R. H., Padmanabham, P., Harshe. M., Baseer, K. K., & Patil, P. (2017). Investigating agile adaptation for project development. International Journal of Electrical and Computer Engineering,  7(3), 1278-1285.

Laanti, M. (2014). Characteristics and principles of scaled agile. Lecture Notes in Business Information Processing: Springer Verlag, 199, 9-20.

Lee, S., & Yong, H. S. (2017). Distributed agile: project management in a global environment. Empirical Software Engineering, 15(2), 204-217.

Mahnic, V., & Zabkar, N. (2012). Measuring Progress of Scrum-based Software Projects. Elektronika Ir Elektrotechnika, 18(8), 73-76.

Nuottila, J., Aaltonen, K., & Kujala, J. (2016). Challenges of adopting agile methods in a public organization. Ijispm-International Journal of Information Systems and Project Management, 4(3), 65-85.

Odzaly, E. E., Greer, D., & Stewart, D. (2018). Agile risk management using software agents. Journal of Ambient Intelligence and Humanized Computing,  9(3), 823-841.

Papatheocharous, E., Andreou, A. S. (2014). Empirical evidence and state of practice of software agile teams. Journal of Software-Evolution and Process, 26(9), 855-866.

PMI - Project Management Institute. (2017). Agile Practice Guide.

Pressman, R. S. (2016). Engenharia de Software: Uma abordagem profissional. 8ª. Rio de Janeiro: Editora McGraw-Hill.

SEBRAE (2013). Anuário do trabalho na micro e pequena empresa), 17. Available at: https://m.sebrae.com.br/Sebrae/Portal%20Sebrae/UFs/SP/Pesquisas/MPE_conceito_empregados.pdf. Accessed on 12 dez. 2017.

Sheffield, J., & Lemétayer, J. (2013).  Factors associated with the software development agility of successful projects. International Journal of Project Management, 31(3), 459–472.

Sundararajan, S., Bhasi, M., & Vijayaraghavan, P. K. (2014).. Case study on risk management practice in large offshore-outsourced Agile software projects. IET Software, 8(6), 245-257.

Surdu, J., & Parsons, D. J. (2006). Army simulation program balances agile and traditional methods with success. CrossTalk, 19(4), 4-8.

Sutharshan, A. (2011). Enhancing Agile methods for multi-cultural software project teams. Modern Applied Science, 5(1), 12-22.

Tripp, J. F., Riemenschneider, C., & Thatcher, J. B. (2016). Job Satisfaction in Agile Development Teams: Agile Development as Work Redesign. Journal of the Association for Information Systems, 17(4), 267-307.

Vargas, L. M. (2016). Project Agile Management for Software Development: A Comparative Study on The Applicability of Scrum Together With Pmbok and / or Prince2. Revista de Gestao e Projetos, 7(3), 48-60.

Wautelet, Y., & Kolp, M. (2012). e-SPM: An Online Software Project Management Game.  International Journal of Engineering Education, 28(6), 316-1325.