Metodologia ágil é um movimento que propõe um formato de trabalho eficaz e eficiente para o desenvolvimento de software como sites e aplicativos.
O processo garante aprendizado progressivo e melhoria contínua dos processos e das pessoas.
É importante lembrar que a agilidade nesse contexto não significa puramente rapidez, ela pressupõe chegar no lugar certo (acertar o alvo), dentro do menor tempo possível.
Por isso se reforça a eficácia (fazer o certo) e a eficiência (fazer do melhor jeito).
Assim, a metodologia ágil visa garantir a eficiência do sistema ao observar de tempos em tempos o desempenho da equipe e de tudo que foi desenvolvido, levantando formas de melhorar o que vem sendo feito.
A eficácia acontece principalmente ao aumentar o número de interações entre todas as pessoas envolvidas, deixando as informações e as expectativas mais claras e amplamente difundidas.
A metodologia ágil para o mundo do software tem seu berço no Manifesto para o desenvolvimento ágil, escrito em 2001 por dezessete desenvolvedores renomados e que se baseia em quatro valores:
- Os indivíduos e suas interações acima de procedimentos e ferramentas;
- O funcionamento do software acima de documentação abrangente;
- A colaboração com o cliente acima da negociação e contrato;
- A capacidade de resposta a mudanças acima de um plano pré-estabelecido;
Importante ressaltar que, apesar de valorizar mais o que está em negrito, o próprio manifesto destaca a importância do que não está evidenciado.
Portanto, não é para jogar fora processos, documentações, negociações ou planos, apenas valorizar mais os indivíduos, as interações, o software em funcionamento, a colaboração e a resposta a mudanças.
Além desses valores, o manifesto apresenta 12 princípios do software ágil que pode ser lido em seu site oficial e que constroem as bases do conceito da metodologia ágil para o desenvolvimento de softwares.
E só relembrando que formas ágeis de trabalho, fora do desenvolvimento de software, existem há muitos anos e com diversos formatos.
Aqui falo especificamente da metodologia ágil para o desenvolvimento de softwares.
Exemplo de metodologia ágil: O Scrum
Scrum é uma metodologia ágil para desenvolvimento de software que se usa dos valores e princípios do manifesto ágil para criar sua dinâmica de trabalho.
É uma das metodologias mais difundidas e usada amplamente para exemplificar os conceitos dessa metodologia.
Sumariamente, o Scrum segue um fluxo que parte de um Product Backlog (basicamente uma lista de coisas a desenvolver) retirando dessa lista os itens que serão desenvolvidos em ciclos pré-definidos.
Esses ciclos pré-definidos são chamados de Sprint e normalmente duram de 2 a 4 semanas.
Dentro desse período o time se reúne diariamente para contar como está o desenvolvimento e ajustar qualquer problema que esteja acontecendo.
No final do tempo do Sprint, o time entrega os itens e pode pegar novos no Product Backlog.
Durante o processo pelo menos três reuniões são feitas com todo time:
– Uma para planejamento (planning), que acontece logo no começo da Sprint, principalmente para selecionar os itens do Product Backlog a serem desenvolvidos.
– Uma para contar como está o avanço do desenvolvimento, que acontece diariamente e dura, no máximo, 15 minutos (daily).
– Uma para rever como foi o desenvolvimento e falar sobre melhorias a serem implementadas (review).
Dentro do Scrum também existem papeis estabelecidos, cada um responsável por determinados elementos. Os três principais deles são:
Product Owner – Responsável pela parte de negócio do projeto, por fazer a interface com áreas relacionadas e é quem seleciona os itens a serem desenvolvidos e os aprova no final de cada Sprint.
Scrum Master – Responsável por desobstruir qualquer impedimento que esteja atrapalhando o time, organizar as reuniões e proteger o time de interferências externas desnecessárias.
Scrum team – O time multifuncional responsável por desenvolver os itens selecionados para cada Sprint.
Além disso, uma ferramenta importante no Scrum é o quadro de trabalho.
Nele são colocados todos os itens a serem desenvolvidos, separados nas colunas:
Backlog – lista com todos os itens a serem desenvolvidos.
Fila – o que vai entrar ou está na Sprint atual.
Fazendo – Coisas da Fila de desenvolvimento que já estão sendo feitas pelo time.
Concluído – Tarefas da Sprint atual que já foram finalizadas.
Dessa forma, com apenas uma olhada, se pode entender como está do Sprint que está sendo realizado.
Existem outros pormenores, mas como um resumo é assim que o Scrum funciona.
Onde entra o design na metodologia ágil
Eu já vi duas maneiras de envolver atividades de design em metodologias ágeis como o Scrum.
A primeira delas é no começo do projeto, para ajudar a definir o backlog inicial usando, por exemplo, um Design Sprint.
Esse Design Sprint pode ser entendido como um ciclo com período pré-definido onde são realizadas atividades de design para construção de um conceito.
Ao carregar o termo Sprint, esse ciclo também herda as mesmas características do Scrum, por exemplo.
Ou seja, em um Design Sprint existem reuniões, papeis estabelecidos e tarefas a serem realizadas, inclusive elas podem estar em um quadro de trabalho específico.
A diferença é que nesse período não é desenvolvido algo 100% funcional, apenas protótipos e conceitos para serem testados e refinados com clientes.
Para levar o resultado de um Design Sprint para um Product Backlog, eu gosto de usar uma ferramenta que chamo de Concept Backlog.
Outra forma de unir design com metodologias ágeis como o Scrum é colocar as tarefas do design, principalmente UX e Visual, dentro do próprio quadro de trabalho do Scrum Team como atividades específicas.
Porém, nesse segundo caso, essa inserção tem que ser bem trabalhada, pois as abordagens de trabalho são bem diferentes e normalmente acontecem em períodos distintos.
Ou seja, é comum o designer trabalhar em itens da Sprint futura, enquanto o time de desenvolvimento desenvolve itens da Sprint atual.
Nesse sentido, cada time vai aprendendo juntos como criar a melhor forma de trabalhar, usando os valores da metodologia ágil como guia.
Referências
Design Sprint. Disponível em: <https://faberhaus.com.br/design-sprint/>. Acesso no dia da postagem.
Manifesto ágil. Disponível em: <http://www.manifestoagil.com.br/>. Acesso no dia da postagem.
BRQ. Disponível em: <http://www.brq.com/metodologias-ageis/>. Acesso no dia da postagem.