Challenges of Teams Management: Using Agile

0 downloads 0 Views 74KB Size Report
Keywords: Management of teams, enterprise software development, agile method,. Scrum. 1 Introduction. The appropriate ... The Scrum method proposes a multi-functional development team should have a maximum of 10 .... a restructuring of the project, and building a new development team and using the. Scrum ...
Challenges of Teams Management: Using Agile Methods to Solve the Common Problems Mariana de Azevedo Santos, Paulo Henrique de Souza Bermejo, Adriano Olímpio Tonelli, and André Luiz Zambalde Computer Science Department – Federal University of Lavras (DCC/UFLA) DCC - Department of Computer Science P.O. Box 3037 - Campus da UFLA 37200-000 - Lavras (MG) - Brazil [email protected], {bermejo,zamba}@dcc.ufla.br, [email protected],

Abstract. The software development using dynamic and creative teams has become a strategic advantage to improving the performance of software projects. Faced with the problems noted on team management, organizations are seeking less expensive solutions and suitable for the rapidly changing market requirements. The present study aims to identify these challenges related to the management team on software projects and evaluate which and how these challenges can be addressed by promoting continuous improvement of the management of organizations. The adoption of Scrum practices in the studied project proved to be a positive solution, providing greater scalability in terms of manageability and development projects of the organization. Keywords: Management of teams, enterprise software development, agile method, Scrum.

1 Introduction The appropriate management and selection of teams is a crucial factor in the success of software development projects. This idea is complemented by Sommerville [1], stating that people are the intellectual property of an organization and its effective management is likely to ensure a positive return on organization investments. One of the major challenges being faced in managing a team is that they are often consist of people who barely know each other, never worked together, have no knowledge about the project, neither about the methodology used [3, 4]. Conflicts even bigger arise due to the differences in objectives that may be caused by disagreements on fundamental parts of the project as meeting the schedule, sequencing of project priorities, balancing opinions on technical level, the estimated costs and interpersonal differences [4]. According to Heldman [3], these conflicts can be resolved with the creation of effective teams, teams that are energetic, mature, dynamic and enthusiastic selfsufficient, and that generate creativity and resolve project problems. M.M. Cruz-Cunha et al. (Eds.): CENTERIS 2011, Part II, CCIS 220, pp. 297–305, 2011. © Springer-Verlag Berlin Heidelberg 2011

298

M. de Azevedo Santos et al.

The IT organizations, eager to reach the stage of implementation and maturity of their development teams, have sought solutions on agile software management to create management enterprise softwares with quality, speed, transparency and flexibility, especially in the Scrum methodology [5]. Agile methods are a group of development and management practices, which were consolidated in 2001 and emphasize principles associated with communication, objectivity, and greater focus on customer interaction in order to provide flexibility and efficiency in development [6]. The Scrum method proposes a multi-functional development team should have a maximum of 10 members to become more effective [7]. This characteristic tends to quickly increase the development process, aligned of the technical skills with the company goals, creating a culture of value between the client and development team and achieve stability in team communication during the project [8-10]. Considering the importance of management of teams in software projects as mentioned and the assumption that agile practices can help to treat the difficulties in managing teams in software projects, this work has the following research question: what and how are addressed the challenges related to management teams on software projects? The present study aims to identify these challenges related to the management of teams on software projects and evaluate which and how these challenges can be addressed to promoting continuous improvement of the management of organizations.

2 Methodology The approach of the research problem is defined as qualitative with exploratory objective. An exploratory research is particularly useful when one has little information and there is a need for deep surveys about a particular process or phenomenon [11]. According to Jung [12], the case study is an important tool for researchers and aims to understand "how" and "why" the "things" work. From the perspective of technical procedures, the research used multiple case studies were evaluated in three separate projects in two software development companies. There are three reasons why the case studies are a viable strategy for research in information systems areas [13, 14]: • The researcher can study the field of information systems in a natural environment, learn about the state of the art and generate theories from practice. • The case method allows researchers to answer questions on techniques and motivations, that is, understand the nature and complexity of ongoing processes. • Questions that prompt the way the developed processes are critical for researchers to continue with their arguments. For this purpose, the use of a qualitative approach fits the research proposal that aims to analyze how the agile method Scrum allows developers to self-organize into high performance teams of enterprise software development.

Challenges of Teams Management: Using Agile Methods

299

The first stage of the research is characterized by a literature review. A comprehensive literature review can be helpful for better understanding of an issue to be investigated [11]. In that sense, this phase aims at raising: (i) problems and challenges encountered in managing teams in software projects, and (ii) the practices described in the literature to address the barriers faced by a query in 5 databases accessed via a Brazilian portal of search (journals portal) from CAPES - Brazilian Agency for Support and Development of Researches. To identifying the challenges related to management teams in software projects were found seven articles, which culminated on 13 issues related to management of teams. The second stage of the research consisted of a review of the literature on agile methodologies which have been pre-selected a group of practices that are presented as possible solutions to problems and challenges raised in the previous step. The application of these practices has been investigated by performing a case study in three teams of two organizations of software development.

3 Results Based on this investigation we obtained a list of common problems and challenges faced by these teams, proceeded by the identification and implementation of solutions pre-selected in the literature review for handling the problems and challenges in the teams studied. With this application had been possible proceeded with an analysis on the efficiency and effectiveness of these solutions are most appropriate to the problems and faced challenges. We now describe the cases studies, describe the teams behavior without Scrum implementation and the results forwarded of the Scrum practices application. 3.1 Organization A The organization studied is a software development laboratory, with emphasis on forestry area, which they produced solutions for the public environmental sectors of the government. The software project was a software inventory on of industrial wastes. Initially, the team analyzed used the methodology development cascade, which is a classical approach, systematic and sequential, beginning on the customer requirements specification, project planning, modeling, development and deployment of software and culminating in the ongoing maintenance of software [1], using as support some concepts of project management PMBOK [15], which is a reference guide which contain a set of best practices to managing projects. The manager reported that the project was 60% complete and the requirements are not completed at all. Moreover, the team communication it's bad, which makes the estimate tasks of the teams a failure point. So, in an attempt to complete the project, has started implementation of Scrum with a basic training of the team. In this phase of deployment, according to the Product Owner of the project, the increments started to be more successful, with minimum exceeded in the tasks estimated.

300

M. de Azevedo Santos et al.

3.2 Organization B This organization studied is a software development laboratory, with emphasis on IT governance area, which provides enterprises solutions for public and private organizations. The first team analyzed on the Organization B, Team A, is composed of seven members: three analysts developers, a project leader, a graphic designer and a business analyst. Currently this team is fully involved in a software project to develop a product for management of enterprise performance to a public sector organization based on the concept of strategic management tool Balanced Scorecard. The software project already existed in the laboratory and already been implemented without success and with many errors. Thus, the organization proposed a restructuring of the project, and building a new development team and using the Scrum methodology to manage the project process. For being a newly formed team, the first challenge faced by the team was a the reengineering for designing the new goals previously developed seeking the rules of Scrum. The team was charged with studying the old system, along with project leader, to propose a new architecture and design standards, appropriate to the needs of new customer and ensuring software quality. The faced problems were related to this first contact of team with the methodology and their difficulty of leaving old concepts. The project leader reported the difficulty of covering many roles inside the project and those even possessing well-defined schedules to alter functions, it ends up affecting productivity. The team’s lack of experience implies the variations suffered on estimates task completion times. Another important topic that was brought up by the IT chief was the difficulty of demanding the daily duties from the staff, because he travels very often, and this makes it harder to monitor the team’s practices and values. We can characterize this team on stage of training and confrontation, where the team members are aware of project objectives and initiate actions to gain position and control of the project functions [2]. The second team analyzed in the Organization B, Team B, is composed of five members: two analysts developers, a project leader, a graphic designer and a business analyst. Currently this team is involved in a software project to develop a plugin for the management of enterprise performance software, where the high management could be evaluates the business plan using strategic management concepts of Balanced Scorecard. The Team B is a newly formed team too, and, the challenge faced by the team was studying the new system developed by Team A and suit the new demands in the software. The project leader on this project is the same person of the Team A and proposed the architecture and design standards similar to the first project, which will be integrate with the original software. The most faced problems on this project were related with lack of experiences of the team, compounded by the reported disagreement about in relation to the design specifications and performance, once with the software of the Team A still are in implementation and the scope of the project still suffers with the many changes.

Challenges of Teams Management: Using Agile Methods

301

3.3 Problems and Challenges Verified in Teams According to performed the literature review, Table 1 illustrates the main problems and challenges found in management of teams. Table 1. Problems verified in management of teams on the literature review Problems and challenges verified in management of teams Disagreements over the project schedule Disagreement about the sequence of project priorities

References Valeriano (1998); Phillips (2003). Heldman (2005).

Conflicts in relation to the formation of teams

Tellioglu & Wagner (1997); Heldman (2005)

Conflicts over the cost estimate

Valeriano (1998); Heldman (2005).

Lack of motivation of members

Heldman (2005); Fan (2010).

Insatisfaction about the job or role in the project

Tohidi (2010); Fan (2010).

Extensive meetings and misguided

Heldman (2005).

Disagreements in relation to the design specifications and performance

Valeriano (1998); Phillips (2003); Pressman (2005); Tohidi (2010)

Lack of trust and leadership of project manager

Sarin & McDermott (2003); Fan (2010)

Conflicts about the management style

Linden & Parker (1998); Valeriano (1998); Heldman (2005)

Ineffective communication

Heldman (2005); Bstieler & Hemmert (2010); Fan (2010)

Inappropriate workplace environment

Heldman (2005); Tohidi (2010)

Interpersonal differences between the team

Bstieler & Hemmert (2010)

Based on the problems and challenges raised in the literature, described in the methodology section, in this section analyses what these problems and challenges listed could be found in the teams studied. Table 2 illustrates the main difficulties faced by the team investigated, the group of problems and challenges found in literature review along with agile practices associated with the solution of these difficulties.

302

M. de Azevedo Santos et al.

Table 2. Problems verified on the case study and the agile practices suggest to solving the problems Problems and challenges in management of software teams

Related problems listed in the literature

Requirements and project scope changing constantly

Disagreements in relation to the design specifications and performance

Agile practices to solve the problems and challenges in management of teams Adoption of an Agile methodology (Scrum).

Disagreements over the project schedule IT Chief had difficulties in managing the team and their results

Conflicts about the management style Ineffective communication

Lack of control and order in performing crucial tasks to the project

Disagreement about the sequence of project priorities Disagreements over the project schedule

Lack of control on the estimation task

Disagreements in relation to the design specifications and performance Disagreements over the project schedule

Formation of a small team, with self-managed behavior, led by a Scrum Master.

With incremental development, the team define together with the stakeholders, the priorities specified in the Sprint (working cycle), documented in the Sprint Backlog. Use of Kanban and estimation of tasks arranged in an Excel spreadsheet to keep track of items Backlog (task list).

4 Discussion Faced with problems noted on team’s management, organizations are seeking less expensive and suitable solutions for the rapidly changing requirements on market [5]. Agile methodologies, particularly Scrum, have attracted the attention of companies that develop software for its flexibility, adaptability and effectiveness. The Agile manifesto considers two important points for a good performance of managed team’s by the agile philosophy [6]: •

Build projects around motivated people, providing a good working environment, support in addressing their needs and confidence in their work. When you have a self-organized team, they pass confidence to the leader and project manager, and they inspire the same confidence to the team.

Challenges of Teams Management: Using Agile Methods



303

The most efficient and effective way to pass information to a development team is talking face to face. The best way to understand the business is discussing with the team. When these meetings happen more frequently are easier to understand what the customer expects the deal to avoid unnecessary gaps and implementations.

The Scrum practices as planning and the daily meetings are intended to reduce the difficulty of understanding the client on what is developed and, for developers helps in better defining the scope of work and estimating tasks [16]. In the studies of Ilieva et al. (2004), Svensson & Host (2005), Sillitti et al. (2005), Mann & Maurer (2005) reported that the adoption of Scrum methodology helps to simplify communication with the rest of the company, the development of professional and interpersonal skills of staff, reduction of cost overruns, provides a more flexible and objective documentation and maintenance a more satisfying relationship with the client [16-19]. The biggest challenge facing the projects was that little disciplinary team to meet the principles of Scrum. The most difficult aspect was to motivate them to actively participate in meetings, properly update the Kanban and commitment to the releases. The training on the methodology is valid, but the charging for these practices being sedimented must be constant. However, the engagement in practices and agile principles was a positive decision by the organization, which left the stage ad-hoc, where their cases were not properly designed because of the time and the client's needs, promoting greater scalability in terms of capacity management and project development of the organization. Schwaber and Beedle, the methodology co-creators, says that Scrum exposes dysfunctions of the development practices and the product so that these can be corrected [16]. With a list of problems and challenges encountered in management of teams, aligned the adoption of Scrum, it is expected that the team reach the norming, and performing stage, where the team is productive, efficient and effective.

5 Conclusion Developing strong teams, agile and effective on problem solving is the key to successful project management. Considering the importance of management of teams in software projects, the discovery of the main problems and solve them directly contributes to the improvement of process performance management and development of software products. The purpose of this study was to identify challenges related to the management of teams on software projects and evaluate how these challenges can be addressed to promoting continuous improvement of the management process of organizations. The Scrum practices adopted in the project proved to be a positive solution, since it promoted maturity in their processes, control of time and priorities, improving the technical and interpersonal skills of the team, encouraging greater scalability in terms of manageability and development projects of the organization. Thus, it is expected that research will guide practitioners in the management of software projects and organizations to identify which problems can be tackled and

304

M. de Azevedo Santos et al.

what possible solutions recommended in front of the main challenges in software development. In terms of theory and science, this work contributes to classification of the most commons problems in management of teams reported in studies in the IT area. This article has given a first analysis of the problems and challenges of management of teams which could be solve by using agile methods principles. Because the sample size limited the study, we plan to expand our data with survey responses about agile methods practices, finding difficulties not mentioned in literature review, based of market experiences.

6 Future Work Thus, it is expected that with the increase of the samples, we can turn the research on a quantitative research to identify that problems can be tackled and what are possible solutions with other agile methods. Acknowledgments We would like to thank the Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG) and the Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq), which provided support for the work in this paper.

References 1. Sommerville, I.: Engenharia de Software. Pearson, 8a edição (2006) 2. Phillips, J.: Gerência de projetos de tecnologia de informação. Editora Campus (2003) 3. Heldman, K.: Gerência de Projetos PMP- Project Management Professional. Editora Campus (2005) 4. Valeriano, D.: Gerência em projetos. Makron Books (1998) 5. Santos, M.A., Greghi, J.G., Bermejo, P.H.S.: The Impact of Scrum in Software Development: A Case Study using SWOT Analysis. INFOCOMP Journal of Computer Science. Special 2, 65–71 (2010) 6. Beck, et al.: The Agile Manifesto (2001), http://www.agilealliance.org/the-alliance/ the-agile-manifesto/ (accessed in: 01/06/11) 7. Rising, L., Janoff, N.S.: The Scrum Software Development Process for Small Teams. IEEE Software 17(4), 11–13 (2000) 8. Schwaber, K.: Agile Project Management with Scrum. Microsoft Press (2004) 9. Ceschi, M., Sillitti, A., Succi, G., De Panfilis, S.: Project Management in Plan-Based and Agile Companies. IEEE Software 22(3), 21–27 (2005) 10. Marchenko, A., Abrahamsson, P.: Scrum in a Multiproject Environment: An Ethnographically-Inspired Case Study on the Adoption Challenges. In: Proceedings of the Agile 2008 (AGILE 2008), pp. 15–26. IEEE Computer Society, Washington, DC, USA (2008) 11. Hair Jr., J.F., Black, W., Babin, B.J., Anderson, R.E.: Multivariate Data Analysis, 7th edn. Prentice-Hall, Englewood Cliffs (2009) 12. Jung, C.F.: Metodologia para pesquisa & desenvolvimento aplicada a novas tecnologias, produtos e processos, vol. xvi, p. 312. Axcel Books, Rio de Janeiro (2004)

Challenges of Teams Management: Using Agile Methods

305

13. Benbasat, I., Goldstein, D.K., Mead, M.: The Case Research Strategy in Studies of Information Systems. MIS Quarterly (11:3), 369–386 (1987) 14. Yin, R.K.: Estudo de caso: planejamento e métodos, 4th edn. Bookman, Porto Alegre (2010) 15. PMBOK. A Guide to the Project Management Body of Knowledge, 4th edn., Project Management Institute (2008) 16. Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall, Englewood Cliffs (2002) 17. Ilieva, S., Ivanov, P., Stefanova, E.: Analyses of an agile methodology implementation. In: Proceedings 30th Euromicro Conference, pp. 326–333. IEEE Computer Society Press, Los Alamitos (2004) 18. Svensson, H., Höst, M.: Views from an organization on how agile development affects its collaboration with a software development team. In: Bomarius, F., Komi-Sirviö, S. (eds.) PROFES 2005. LNCS, vol. 3547, pp. 487–501. Springer, Heidelberg (2005) 19. Sillitti, A., Ceschi, M., Russo, B., Succi, G.: Managing uncertainty in requirements: a survey in documentation-driven and agile companies. In: Proceedings of the 11th International Software Metrics Symposium, METRICS (2005) 20. Mann, C., Maurer, F.: A case study on the impact of scrum on overtime and customer satisfaction. In: Agile Development Conference, pp. 70–79. IEEE Computer Society, Los Alamitos (2005) 21. Tellioglu, H., Wagner, I.: Negotiating Boundaries: Configuration Management in Software Development Teams. Computer Supported Cooperative Work: The Journal of Collaborative Computing 6, 251–274 (1997) 22. Tohidi, H.: Human resources management main role in information technology project management. Elsevier, Procedia Computer Science 3, 925–929 (2011) 23. Fan, D.: Analysis of Critical Success Factors in IT Project Management. In: Proceedings of 2nd International Conference on Industrial and Information Systems (2010) 24. Pressman, R.S.: Engenharia de software, 6th edn., vol. xxxi, p. 720. McGraw-Hill, New York (2006) 25. Sarin, S., McDermott, C.: The Effect of Team Leader Characteristics on Learning, Knowledge Application, and Performance of Cross-Functional New Product Development Teams. Decision Sciences 34(4) (2003) 26. der Linden, G.V., Parker, P.: On paradoxes between human resources management, postmodernism, and HR information systems. Accounting, Management & Information Technology 8, 265–282 (1998) 27. Bstieler, L., Hemmert, M.: Increasing Learning and Time Efficiency in Interorganizational New Product Development Teams. Journal of Product Development & Management Association 27, 485–499 (2010)