Challenges for Software Quality Processes in Large Size Teams: Reflections of the Use of Agile Methodology?-?Scrum
FIT - Instituto de Tecnologia
Construímos prosperidade para um mundo conectado e melhor.
1. Introduction
In the business environment characterized by increasing dynamism and competitiveness, agile methodologies have become recognized as an effective approach for software development projects. The emphasis on collaboration, adaptation, and continuous value delivery to customers has driven new work dynamics in the context of agile projects. As projects grow and teams expand, arising complex challenges that, for instance, affect the foundations of agile methodology and impact on agility and effectiveness.
Some essential principles of these methodologies are communication transparency, adaptability, and task visibility. However, maintaining these principles can be a major challenge in large size teams. For instance, planned meetings and ceremonies may last longer than necessary, compromising efficiency and productivity. The need for quick communication and continuous feedback becomes even more crucial in multi-stakeholder environments and among team members.
Keeping all stakeholders aligned with updated information and adapting to changing requirements and priorities are intricate issues to overcome. Therefore, this article presents principles related to agile methodologies and identifies challenges in the routine of large size teams, highlighting how the Quality Assurance team identifies these barriers and seeks solutions to overcome them in software projects.
In this perspective, critical areas are discussed, like communication management, task coordination, resource allocation, process scalability, and the cultural transformation for adopting agile methods, focusing on the Scrum framework. Thus, this discussion provides relevant information about how to ensure the effective execution of the agile methodology in the routine of projects with large size teams, mainly for Quality Assurance professionals.
2. What Are Agile Methodologies?
2.1.The Agile Manifesto
In the early 2000s, a group of technology professionals came together to address a recurring frustration in the software development process related to the excess time and effort that companies invested in detailed planning and documentation, often losing focus on customer satisfaction. Although some agile practices were already in use, there was a need to consolidate and formalize these approaches.
In this context, the Agile Manifesto arose, and the ideas and demands that had long hovered over development and quality teams could be discussed, driving discoveries of better paths for software development (HIGHSMITH, 2001). This brief and practical document brought a fundamental transformation in the way many companies operate.
Thus, agile methods emerged to support the software development process, guiding projects with a high level of uncertainty, and seeking the flexibility for frequent changes in requirements, resulting in shorter delivery cycles and incremental development.
2.1.1. Transformation in Software Development Companies: Adoption of Agile Methodologies
Software development companies have undergone significant transformations with the consolidation and broad acceptance of agile foundations in the global development community. The teams have adapted to the agile methodologies culture, resulting in a fundamental change in the interaction between the corporate world of software development and quality and their customers.
The adoption of agile methodologies provides the possibility of increasing customer satisfaction in projects executed through this approach. It is positive because the agile methodologies are flexible and collaborative, allowing customers greater engagement and the flexibility to adapt to requirement changes. The result is deliverables that are more aligned with customers’ expectations and priorities, contributing to the project success.
2.1.2. The Fundamentals
2.1.3. Agile Frameworks: Scrum Methodology
Scrum is an agile methodology framework that supports the management and development of software projects. It has a structure composed of roles, ceremonies, and artifacts that supports teams to plan, execute, and deliver projects in an agile way.
The Scrum methodology is characterized by the organization of the Scrum Team and the definition of the team roles as follows:
Sprint is the core of Scrum routine, and it is a fixed period, usually lasting 2–4 weeks, in which development and quality teams work in a set of priority features and user stories. A sprint is a unit of work that allows the team to deliver incrementally and iteratively.
During sprint, the team focuses on executing the tasks planned in the Planning Meeting. The result of one sprint is the delivery of functional and high-quality features that add value to the product.
There are also other structures that enable the organization and management of the project in the context of the Scrum methodology, such as:
Considering the understanding of the organization and structures within a Scrum Team, it’s also important to explore how this structure transforms into daily actions and ceremonies. Some ceremonies are presented below:
Figure 1 illustrates in a simplified way the organization and work dynamics of Scrum described.
3. The Importance of the Quality Assurance Team in Agile Development
From a greater understanding of the agile philosophy and its structure, this section discusses the role and organization of the Quality Assurance (QA) team in the context of software development in agile teams.
The QA team is responsible for ensuring that all processes, flows, documents, and software are delivered with quality to the end customer, seeking to apply good practices in all development tasks since the beginning of the project. This team also often works to check for potential missing scenarios, potential vulnerabilities, validation of implemented fixes, or verification of acceptance criteria in user stories.
The activities related to the performance of the QA team in a software development project are:
Considering agile methodology, the structures adopted by the projects and the responsibilities inherent to the QA team, it becomes clear the challenge to keep these values in large size teams. It also explains why studies and experts emphasize the importance of applying such methodologies in small teams with up to ten members.
4. Identifying Challenges in Large Size Agile?Teams
From the benefits of agile methodologies for project development, it is necessary to understand the challenges of adopting this approach in projects with large-size teams. Thus, Table 1 presents some challenges that can be identified in the routine of software projects with teams larger than recommended.
In practice, the agile methodology can be compromised according to the size of the project and teams, affecting the aspects of agility, collaboration, and communication due to the complexity of the project and its processes. Therefore, it is necessary to discuss strategies and perceptions for conducting routine of projects and their particularities.
5. Challenges in Large Agile Teams: Quality Team Perception and Strategies
Like the entire team, part of the QA team’s role is to detect and solve challenges faced by large agile teams. The team’s insight is essential to understand how these challenges affect their daily activities and to develop strategies that ensure product quality.
In this context, Table 2 presents the challenges identified previously, associating them with a discussion on how they are perceived and overcome from the perspective of the QA team.
领英推荐
6. Challenge Classification Overview
This article also presents a classification that categorizes the challenges faced by large size QA teams in the agile context, representing the following levels of impact: low, medium, and high. The classification discussed here has a qualitative profile and corresponds to the author’s point of view.
This visualization allows you the understanding of the areas that require more attention, facilitating analysis and strategic decision-making to overcome critical obstacles.
7. Conclusion
The agile philosophy and its structures are presented in this article, focusing on large size teams that use Scrum as a framework. Based on challenges faced by teams in this context, it was possible to identify nine challenges and highlight the QA team’s perspective, describing their insights and strategic approaches to overcoming them.
From transparent and efficient communication management until the adoption of agile culture, the proposed strategies not only address specific challenges, but they encourage a proactive and adaptive approach for the QA team performance. Considering the complexity inherent to large teams, it is essential to recognize the difficulties and their impact and promote practical solutions and applicable strategies.
Recognizing obstacles in team routines and implementing innovative approaches are important to ensure that agile teams perform in complex environments, maintaining the core values of agility and continuous value delivery to customers.
Article written by:
Danilo Silva , Trainee Test Analyst at FIT, Sorocaba, S?o Paulo. He holds a bachelor’s degree in Computer Science from Universidade Paulista, Sorocaba, and a postgraduation in Data Science from Facens, Sorocaba.
Michele Lermes , Tester I at FIT, Sorocaba, S?o Paulo. Currently, pursuing a degree in FullStack Systems Analysis and Development at Mackenzie Presbyterian University, Higienópolis.
Article reviewed by:
Gabrielly Araújo Cordeiro , Researcher. She holds a BSc in Production Engineering from the Federal University of Amazonas (Brazil) and an MSc and PhD in Mechanical Engineering at the University of Campinas (Brazil).
Jadder Cruz , Researcher at FIT, Sorocaba, S?o Paulo. He holds a BSc and an MSc in Computer Science from UFSCar (Brazil). Currently, PhD candidate at Unicamp (Brazil).
Acknowledgment
This research was partially funded by Lenovo, as part of its R&D investment under Brazilian Informatics Law, and by the FIT?—?Flex Institute of Technology with all further resources needed to perform this work.
References
AGILE MODELING. Agile Modeling and eXtreme Programming (XP). Ambysoft Inc., 2022. Available at: https://agilemodeling.com/essays/agilemodelingxp.htm .
ATLASSIAN. What is the Agile methodology?. Available at: https://www.atlassian.com/agile .
BALDISSERA, O. Top 5 Agile Methods You Should Use in Projects. Business and Management, 2021. Available at: https://posdigital.pucpr.br/blog/metodos-ageis
BASTOS, A. The types of agile methodologies most used by companies. Alura, 2023. Available at: https://www.alura.com.br/empresas/artigos/metodologias-ageis .
BESSA, T.; ARTHAUD, D. D. B. Agile methodologies for the development of
Software. Science and Sustainability?—?CeS. Vol. 4, n. 2, p. 173–213, 2018. Available at: https://periodicos.ufca.edu.br/ojs/index.php/cienciasustentabilidade/article/view/314 .
DRUMOND, C. Is the Agile Manifesto still a thing?. Available at: https://www.atlassian.com/agile/manifesto .
HI?N, B. X. XP In Software Engineering: All You Need To Know. Available at: https://biplus.com.vn/xp-in-software-engineering/.
HIGHSMITH, J. History: The Agile Manifesto. 2001. Available at: https://agilemanifesto.org/history.html .
ICODDE. Most used agile methodologies. 2022. Available at: https://www.dhirubhai.net/pulse/most-used-agile-methodologies-icodde/ .
KANBAN UNIVERSITY. Available at: https://kanban.university/ .
LIN, H. Implement Kanban Principles to Improve Your Workflow and Productivity. Available at: https://medium.com/an-idea/implement-kanban-principles-to-improve-your-workflow-and-productivity-dc3a97bcd188 .
PAREDES, A. The most used agile methodologies and their advantages within the company. Business & Tech, 2019. Available at: https://www.iebschool.com/pt-br/blog/software-de-gestao/as-metodologias-ageis-mais-utilizadas-e-suas-vantagens-dentro-da-empresa/ .
PROJECT MANAGEMENT ACADEMY. The Basics of Agile Project Management. 2018. Available at: https://projectmanagementacademy.net/resources/blog/the-basics-of-agile-project-management/ .
PUCRS PORTAL. Agile methodologies: why you should seek to know more about the subject. 2020. Available at: https://www.pucrs.br/blog/metodologias-ageis-por-que-voce-deveria-procurar-saber-mais-sobre-o-assunto/ .
REHKOPF, M. Kanban v. Scrum: What Kind of Agile Are You?. Atlassian. Available at: https://www.atlassian.com/br/agile/kanban/kanban-vs-scrum .
SANTO, D. E. Top 5 main Agile methodologies: advantages and disadvantages. Expand IT, 2022. Available at: https://www.xpand-it.com/blog/top-5-agile-methodologies/ .
SCRUM.ORG . What is Scrum?. Available at: https://www.scrum.org/learning-series/what-is-scrum .
SCRUM GUIDES. Available at: https://scrumguides.org/ .
SILVA, V. I. Analysis of Agile Software Development Methodologies: The advantages and disadvantages of Scrum and Extreme Programming (XP). Final Paper (undergraduate)?—?Federal University of Santa Catarina, Socioeconomic Center, Department of Administration Sciences, Florianópolis, 2022. Available at: https://repositorio.ufsc.br/bitstream/handle/123456789/237277/TCC%20-%20Final.pdf?sequence=1&isAllowed=y .
VACANTI, D.; YERET, Y. The Kanban Guide to Scrum Teams. Scrum. org, 2021. Available at: https://www.scrum.org/resources/kanban-guide-scrum-teams .
WANLI, N. What is Scrum? Codecoda, 2021. Available at: https://codecoda.com/en/blog/entry/what-is-scrum .
WELLS, D. Extreme Programming: A gentle introduction. XP Extreme Programmming, 2013. Available at: https://www.extremeprogramming.org/
WIKI C2. Extreme Programming. Available at: https://wiki.c2.com/?ExtremeProgramming .
WIKIPEDIA. Extreme Programming. Available at: https://en.wikipedia.org/wiki/Extreme_programming