Prévia do material em texto
Melhoria de processo usando adaptações de kanban para redução de WIP em testes de software de smartphones Abstract— In the last decade, the smartphone industry has experienced significant growth, both in terms of market size and number of models and manufacturers. However, in smartphone software projects, it can be complex because there is a lot of software due to the huge number of models, carrier customization, security updates, operating system updates, and so on. This may require high demands for software testing that must be performed in the shortest possible time to meet the quality of software projects. In the literature, there are proposals that address solutions for process improvements through the implementation of the kanban methodology. However, there are issues that need to be improved, such as more effective task monitoring, better process optimization, and determining the ideal work-in-progress (WIP) limit. In this paper, we present a method that uses a test process monitoring kanban (TPMK) combined with a test resource management kanban (TRMK) that has the function of assisting in process optimization and testing time reduction WIP reduction to promote improved productivity and efficiency. Keywords— Process improvement, Kanban, WIP, smartphones, Software testing management I. Introdução Na última década, a indústria de smartphones experimentou um crescimento significativo, tanto em termos de mercado quanto em número de modelos e fabricantes. Como resultado, mais projetos de softwares para smartphones foram lançados no mercado para usuários que estão cada vez mais exigentes por produtos de alta qualidade [1][2]. Para atender vários atributos como confiabilidade, usabilidade, segurança, e outros, o teste de software é essencial, pois é um processo que avalia o software com objetivo de identificar erros e garantir a qualidade. O teste fornece uma comparação crítica do sistema com especificações, princípios e padrões. O processo pode ser caracterizado para atender às necessidades do cliente ou do projeto [3][4]. No entanto, em projetos de software para smartphones, os testes podem ser complexos devido à enorme quantidade de modelos, personalização de operadoras em diferentes países, versões de sistemas operacionais, etc. Isso pode exigir altas demandas de testes de softwares que precisam ser executados no menor tempo possível para atender à qualidade dos projetos de softwares. Na literatura, há propostas que abordam soluções para melhorias de processo por meio da implementação da metodologia kanban [5][6][7][8][9]. Nesses estudos destacam-se algumas questões que precisam ser melhoradas em sistemas que utilizam o método kanban, como um monitoramento mais efetivo de tarefas, melhor otimização do processo e na determinação do limite ideal de WIP [5][7]. Neste contexto, este artigo tem como objetivo apresentar um método para monitorar o fluxo de trabalho como gerenciador de tarefas implementando um kanban de monitoramento de processo de teste (Test Process Monitoring Kanban - TPMK) combinado com kanban de gerenciamento de recursos de teste (Test Resource Management Kanban - TRMK) para auxiliar na otimização do processo e na determinação do limite ideal WIP, de forma a promover a produtividade e melhorar a eficiência do processo. Este artigo está organizado da seguinte forma: a Seção II apresenta a proposta; a Seção III mostra os resultados. A Seção IV apresenta as conclusões. II. Proposta Neste trabalho, foi desenvolvido um método que implementa adaptações do sistema kanban para representar, visualizar e controlar o status das tarefas aplicados a uma equipe de testes de software, de forma a permitir um gerenciamento mais eficaz, possibilitando o gerenciamento suave do fluxo de trabalho no time. Normalmente, o processo de teste de software pode ser caracterizado de acordo com as necessidades do cliente ou do projeto, sendo tipicamente dividido nos estágio de análise, preparação, execução e conclusão. Ele pode ser categorizado como teste funcional, de desempenho e segurança [3]. Figura 1 – kanban de monitoramento de processo de teste (TPMK) Em um processo de teste Kanban adaptado, as tarefas são representadas por testes de software que precisam ser executadas. As colunas do quadro de um Kanban padrão foram associadas às etapas de um processo de teste de software conforme Figura 1. A coluna To Do é representada pelo estágio de preparação, In Progress é representada pelo estágio de execução e Done pelo estágio de conclusão, conforme mostrado na figura 1. Durante o estágio de Execution, alguns testes podem não atender a alguns requisitos de teste, sendo movidos para a coluna On Hold, aguardando a decisão da equipe de desenvolvimento ou, quando houver casos de detecção de falhas críticas que precisam ser corrigidas ou revisadas, serão movidos para a coluna de Review. O tempo entre o início de uma nova tarefa e sua conclusão corresponde ao lead time. O tempo entre o início da execução e sua conclusão corresponde ao cicle time [11]. O valor limite do WIP é a quantidade ideal de tarefas que a equipe deve trabalhar em qualquer estágio, evitando desperdícios e ineficiências do processo [11]. O valor do limite do WIP não deve ser tão baixo a ponto de impossibilitar a identificação de gargalos e nem tão alto a ponto de criar novos gargalos. O valor limite do WIP pode ser encontrado dividindo o tamanho da equipe pelo cálculo da eficiência do processo de acordo com a equação 2 [11]. A equação 1 corresponde ao cálculo da eficiência do processo, onde o valor adicionado (Value Added - VA) é o tempo entre o início de uma nova tarefa e sua conclusão e o não valor adicionado (Non Value Added - NVA) é o tempo em que uma tarefa está na condição de espera para fazer a transição para a próxima etapa [9][11]. (1) (2) Uma vez que o valor limite do WIP é definido, pode surgir gargalos no processo levando a atrasos e ineficiências. Durante o monitoramento do cycle time e o lead time, se o valor limite do WIP for excedido várias vezes, é necessário investigar as causas e tomar medidas de forma a equilibrar a carga de trabalho no time para não afetar a eficiência do processo. Eventualmente, em cenários onde existem muitos testes aguardando para serem executados, pode ser identificado um gargalo no processo devido ao aumento do valor do lead time e consequentemente do valor do WIP. Uma solução para este problema seria usar uma abordagem para aumentar a capacidade de trabalho do time [11][12]. Esta solução pode remover ou mitigar este tipo de gargalo reduzindo o valor do WIP, melhorando a eficiência do processo. Em [12] é sugerido implementar testes automatizados ou contratar mais testadores para aumentar a capacidade de trabalho de um time que usa a metodologia kanban. Neste trabalho, foi desenvolvido um método que usa um kanban de monitoramento de processo de teste (TPMK) combinado com um kanban de gerenciamento de recursos de teste (TRMK) para auxiliar na otimização de processos e redução de WIP com objetivo de melhorar a eficiência do processo. Este método foca em cenários onde há muitos testes aguardando para serem executados e que se caracterizam como um gargalo do processo de testes. O fluxograma da proposta é mostrado na Figura 2. Figura 2 –Fluxograma da proposta O kanban de gerenciamento de recursos de teste (TRMK) é um Kanban adaptado usado para gerenciar efetivamente recursos de materiais (como protótipos de testes, SIM Cards, computadores etc.) que podem ser compartilhados entre os testadores no momento quando necessitarem para realização de testes e caso o material esteja disponível para fazer o compartilhamento. Quando o testador executa um teste, utiliza-se do material que necessita durante os estágios do teste desde o início do teste até a conclusão. Em seguida, o material retorna para a coluna de recursos disponíveis, podendo ser compartilhado com um novo testador em um novo teste. O gerenciamento de recursos é feitopelo líder da equipe, que pode visualizar o KTRM a qualquer tempo e fazer a tomada de decisão de acordo com os progressos dos testes. Uma vez que algum(uns) material(ais) é(são) identificado(s) durante o monitoramento realizado no KTRM, é feito uma verificação com relação a quantidade dos testes e o tipo de teste que estão no backlog. Essa verificação tem o objetivo de avaliar se os recursos de testes identificado(s), o tipo de teste e a quantidade de testes disponíveis no backlog atendem a condição de otimização. Se a condição de otimização for atendida, os testes são selecionados para a etapa de otimização. Se a condição não for atendida, o processo normal de teste continua o cronograma inicial mantendo o valor do WIP. Figure 3 – kanban de gerenciamento de recursos de teste (TRMK) Na etapa de otimização, inicialmente é feita uma avaliação da maximização da capacidade de teste com base no tipo de teste, quantidade de testes necessários e recursos disponíveis. A avaliação considera os pontos do escopo do teste que podem ser executados em grupos, ou seja, os requisitos de testes que sejam possíveis executar em grupo e simultaneamente (utilizando aplicação para execução de testes automatizados ou mesmo por execução manual). Se a avaliação permitir fazer o agrupamento dos testes, é feito o arranjo de cada grupo considerando a quantidade de testes igual a quantidade de protótipos e de materiais necessários para realização do teste. Após realizado o arranjo de um ou mais grupos de testes, a otimização é concluída com a reprogramação dos testes, causando uma redução no lead time e o cycle time do processo, e consequentemente no valor de WIP. Se a otimização não for possível, a execução dos testes segue conforme a programação inicial mantendo o valor do WIP inicial. III. RESULTADOS O método proposto foi implementado em um estudo de caso aplicado em uma equipe de testes de software de smartphones composta por 22 testadores. Este estudo concentrou-se em testes de segurança devido ser um dos tipos de testes mais requisitado alcançando uma média de 500 testes de segurança por semana. O kanban TPMK foi modelado no aplicativo Microsoft Office Excel e compartilhado online por toda a equipe por meio do aplicativo Microsoft Teams, enquanto o kanban TRMK foi modelado usando as próprias ferramentas Agile do Microsoft Teams onde foi compartilhado online com a equipe. A Figura 4 mostra os resultados alcançados em horas/semana, com a implementação do método (WIPIMP) e sem a implementação do método (WIP). Após a implementação do método proposto no processo, constatou-se que houve melhoria na eficiência do processo, alcançando uma média de redução do valor do WIP de 8,43%, tendo causado uma redução no tempo médio de 185 horas para 169 horas durante o período avaliado. Figura 4 – WIP - Quantidade de horas Também se constatou a relação entre o número de otimizações em comparação com a redução do valor do WIP, principalmente nas semanas 6 e 10, nas quais houveram reduções significativas devido às maiores otimizações alcançadas com a aplicação do método proposto. Esses resultados comprovaram um aumento na produtividade da equipe de testes, permitindo lhes realizar mais testes em menor tempo. Figura 5 – Otimizações IV ConclusÃO Neste trabalho foi apresentado um método para monitorar o fluxo de trabalho como gerenciador de tarefas implementando um kanban de monitoramento de processo de teste (TPMK) combinado com kanban de gerenciamento de recursos de teste (TRMK) para auxiliar na otimização do processo e na determinação do limite ideal WIP, de forma a promover a produtividade e melhorar a eficiência do processo. Os resultados demonstraram um aumento na eficiência do processo e na produtividade da equipe de testes, permitindo-lhes realizar mais testes em um período menor. Além disso, esta análise dos resultados reforçou a importância das medidas adotadas no processo de testes e motivou a equipe a continuar buscando melhorias contínuas. Adicionalmente, a colaboração e a comunicação entre as equipes também foram significativamente melhoradas por meio da integração dos Kanbans. No geral, a implementação bem-sucedida dessas ferramentas não apenas otimizou o processo de testes de software, mas também abriu caminho para a melhoria contínua e inovação no ambiente de testes. Como trabalho futuro, propomos aumentar o periodo de avaliação deste método com objetivo de determinar com mais precisão, o valor limite do WIP e em cenários diferentes de testes. Uma outra abordagem seria implementar aplicações de IA para determinar o valor limite do WIP de acordo com cenários de testes. Agradecimentos Este artigo é o resultado do projeto de PD&I (PANGEIA), realizado pela Sidia Instituto de Ciência e Tecnologia em parceria com a Samsung Eletrônica da Amazônia Ltda., usando recursos da Lei Federal nº 8.387/1991, estando sua divulgação e publicidade em conformidade com o previsto no artigo 39.º do Decreto nº 10.521/2020 Referências [1] Appiah, Dominic, and Wilson Ozuem. "Issues with the importance of branding, brand personality and symbolic meaning of brands in the Smartphone Industry." Global information diffusion and management in contemporary society. IGI Global, 2019. 56-97. [2] Varriale, Vincenzo, et al. "Knowledge management in high-tech products and customer satisfaction: The smartphone industry." Journal of Open Innovation: Technology, Market, and Complexity 9.1 (2023): 100012. [3] Hooda, Itti, and Rajender Singh Chhillar. "Software test process, testing types and techniques." International Journal of Computer Applications 111.13 (2015). [4] Sawant, Abhijit A., Pranit H. Bari, and P. M. Chawan. "Software testing techniques and strategies." International Journal of Engineering Research and Applications (IJERA) 2.3 (2012): 980-986. [5] Alaidaros, Hamzah, Mazni Omar, and Rohaida Romli. "Towards an improved software project monitoring task model of Agile Kanban method." International Journal of Supply Chain Management (IJSCM) 7.3 (2018): 118-125. [6] Omar, Mazni, Hamzah Alaidaros, and Rohaida Romli. "An improved software project monitoring task model of Agile Kanban method: A practitioners’ perspective." International Journal on Advanced Science, Engineering and Information Technology 10.2 (2020): 548-554. [7] Alaidaros, Hamzah, et al. "The Evaluation of an Improved Model of the Agile Kanban Using Focus Group." Journal of Information Technology Management 14.Special Issue: 5th International Conference of Reliable Information and Communication Technology (IRICT 2020) (2022): 1-22. [8] Alaidaros, Hamzah, Mazni Omar, and Rohaida Romli. "Improving the progress monitoring task of Agile Kanban method: An enhanced theoretical framework and its implication." International Journal of Scientific and Technology Research (IJSTR) 9.1 (2020): 611-615. [9] Millstein, Mitchell A., and Joseph S. Martinich. "Takt Time Grouping: implementing kanban-flow manufacturing in an unbalanced, high variation cycle-time process with moving constraints." International Journal of Production Research 52.23 (2014): 6863-6877. [9] “How to calculate the WIP limits of your Kanban board”. Disponível online: https://medium.com/@michelegalli.pm/how-to-calculate-the-wip-limits-of-your-kanban-board-5be7f20ab415, (acessado em 17 de Setembro de 2024). [10] Sawant, Abhijit A., Pranit H. Bari, and P. M. Chawan. "Software testing techniques and strategies." International Journal of Engineering Research and Applications (IJERA) 2.3 (2012): 980-986. [11] Anderson, David J. Kanban: successful evolutionary change for your technology business. Blue hole press, 2010. [12] “The difference between a Kanban board and a Kanban mindset: practical solutions to common mistakes”. Disponível online: https://medium.com/@michelegalli.pm/the-difference-between-a-kanban-board-and-a-kanban-mindset-practical-solutions-to-common-mistakes-a3c4b9e8cecb, (acessado em 17 de Setembro de 2024). image1.png image2.png image3.png image4.png image5.png