MCDONALD’S – COMO USA BIG DATA, IA E ROBÓTICA
14 de junho de 2018Mercado de middleware tem crescimento de 12% e chegará a US$ 30 bi em 2018
26 de junho de 2018Sobre a Metodologia Ágil
Há alguns anos uma nova forma de construir software tomou conta do mundo do desenvolvimento e de testes de sistemas e aplicativos, trata-se da prática ágil. De acordo com o relatório VersionOne’s State of Agile Report de 2017, 94% das organizações aplicam alguma prática ágil em suas organizações. Vale ressaltar que os entrevistados no relatório destacaram que a adoção do Ágil ainda não está difundida por toda a organização, o que significa que ainda há um bom caminho a ser trilhado em termos de adoção e maturidade.
A metodologia ágil se tornou padrão na indústria do software. Os métodos ágeis estão alicerçados no Manifesto Ágil:
- “Indivíduos e interações mais que processos e ferramentas”
- “Software em funcionamento mais que documentação abrangente”
- “Colaboração com o cliente mais que negociação de contratos”
- “Responder a mudanças mais que seguir um plano”
Os métodos ágeis são fortemente enraizados no planejamento adaptativo, em entregas rápidas e na melhoria contínua, tudo isso aliado a habilidade em responder com rapidez e facilidade às mudanças. Não é surpresa que 88% dos entrevistados no relatório VersionOne’s State of Agile Report disseram que a “habilidade para se adaptar a mudanças” era o benefício número 1 de ter adotado o Ágil.
A medida que mais e mais times de desenvolvimento têm adotado a filosofia Ágil, testadores têm feito grande esforço para manterem o passo. O motivo desse esforço por parte dos testadores decorre da grande adesão do Ágil pelas equipes de desenvolvimento que realizam entregas de software a todo momento e software não documentado. Esse cenário fez com que testadores tivessem que reavaliar, o momento de conduzir os testes, a forma de trabalhar com desenvolvedores e analistas e até quais testes devem ser conduzidos.
Testes em Times Ágeis
Os princípios ágeis preconizam que devemos ser colaborativos, flexíveis e adaptativos, afinal a premissa é que agora o mundo está em constante mudança, isso significa que times que desenvolvem software, precisam oferecer ao mercado, produtos que atendam essas mudanças, com muito mais velocidade que anteriormente. Times ágeis minimizam os riscos através do espírito colaborativo que vise ao time suceder os desafios. Times ágeis são encorajados a compartilhar procedimentos de trabalho e trocar feedbacks para que na eventual necessidade de mudança, e ela certamente virá, a equipe possa se adaptar rapidamente a ela. Práticas ágeis ajudam a preparar a mentalidade das equipes para os novos tempos: adapte-se ou corra o risco de se tornar obsoleto.
Diretrizes para Testadores Ágeis
Diante da velocidade do desenvolvimento ágil testadores são forçados a se adaptar e repensar estratégias de testes:
- Priorizar requisitos baseado em riscos já que não há tempo para testar tudo
- Automatizar testes para aumentar eficiência
- Aumentar o uso de testes exploratórios para acelerar o tempo de entrega de código e completude dos testes e enfatizar a necessidade de criar código que funciona.
- Adaptar se a mudanças de sprint a sprint
O item 4, referente a adaptabilidade, é particularmente importante, significa que testadores em times ágeis precisam “pensar fora da caixa” e exercitar habilidades que vão além praticadas na época do desenvolvimento em cascata. Além disso testadores ágeis precisam estar muito mais próximos dos desenvolvedores para promover testes durante todo o ciclo de desenvolvimento de software. Em cenários de pouca ou quase nenhuma documentação, testadores precisam ser altamente comunicativos e dialogar sem dificuldade com os times de desenvolvimento e de negócio. Importante que os testadores tenham em mente e exerçam na prática o manifesto ágil exposto mais acima.
Metodologias Ágeis
Organizações são diferentes umas das outras, fatores internos e externos como tamanho e características dos stakeholders, clientes e regulação do setor fazem com que as necessidades das organizações sejam distintas umas das outras. Para atender as mais diversas necessidades das organizações temos várias metodologias ágeis e alguns tipos de testes que podem ser conduzidos. A combinação perfeita dessas técnicas para o seu time irá depender dos fatores internos e externos da sua organização, das necessidades e objetivos dela. Vejamos abaixo dois métodos ágeis muito populares:
Metodologias Ágeis:
Scrum – Um dos mais populares métodos ágeis para desenvolvimento de software, Scrum faz uso de abordagem altamente iterativa cujo foco está na definição das características chave e objetivos de cada Sprint visando uma entrega coerente e com valor. A ideia é reduzir risco e ao mesmo tempo entregar algo de valor de forma rápida.
Kanban – É um método ágil extremamente simples oriundo da industria da manufatura. (Desenvolvido pela Toyota para aumentar a produtividades em suas fábricas). Podemos pensar no Kanban como uma longa lista priorizada de afazeres. As atividades podem ser acompanhadas por um dos três estágios: Por fazer (To Do), Fazendo (Doing) e Feito (Done) .
Na continuação desse artigo iremos detalhar quatro métodos de teste ágeis que podem ser utilizados na organização:
- Desenvolvimento Orientado por Comportamento (BDD)
- Desenvolvimento Orientados a Testes de Aceitação (ATDD)
- Teste Exploratório
- Teste Baseado em Sessão
Este texto é uma síntese de um dos artigos de 2017 da vice-presidente de estratégia de produto da QASymphony, Elise Carmichael – “Metologia Ágil: O Guia Completo para entender o Teste Ágil” publicado no QASymphonyBlog (https://www.qasymphony.com/blog/).