Artigos de Tecnologia e Negócios

O que é Metodologia Ágil?

giulia
giulia

Nesse artigo conto como decidimos parar de seguir essa metodologia em cascata e seguir uma metodologia mais fluída.

Uma vez fui contratada por uma empresa que desenvolvia softwares e aplicativos para outras empresas. Nela, um dos meus primeiros trabalhos era auxiliar no desenvolvimento de um aplicativo que visa permitir que as pessoas encontrem restaurantes baratos perto de onde ela se encontra.

Quando conheci o time, já me explicaram que eles seguiam uma estrutura clássica: planejamento, análise, design, documentação, codificação, realizar testes, implementar e, caso necessário, fazer a manutenção do aplicativo.

Essa é uma metodologia de desenvolvimento chamada em cascata, que significa que o processo é realizado por meio de fases e uma delas só é iniciada quando a anterior termina e, assim, não é necessário retornar a um trabalho, já que ele já foi completamente finalizado.

Porém, levamos muito tempo na etapa de planejamento, análise e documentação de todo o projeto e o cliente ficou impaciente de não mostrarmos nenhuma novidade à ele.

Além disso, o que havíamos feito não poderia ser apresentado para o cliente, já que a documentação é para consulta de analistas, arquitetos, desenvolvedores e testers do projeto, ou seja, não era para o cliente.

Então, ele nos informou que o software agora tinha uma finalidade diferente da inicial. Tentamos mudar, porém, precisaríamos analisar, planejar e começar a documentação toda de novo. Pensando no tempo que demoramos para fazer isso, o cliente cancelou e, assim, o trabalho inteiro foi jogado fora.

Vimos que este método não estava mais funcionando. E qual foi o nosso erro?

Agilidade

Começamos a pensar em maneiras que poderíamos agilizar ainda mais os próximos projetos. Então, decidimos parar de seguir essa metodologia em cascata e seguir uma metodologia mais fluída.

Mas aí como podemos fazer isso? Acabar com todas as regras?

Pensando nisso, dividimos as tarefas entre todos os integrantes da equipe. Assim, decidimos que cada pessoa pegaria uma questão definida para ser feita naquele mês e iria desenvolvê-la.

E quando começamos o projeto fomos o desenvolvendo desta maneira: as tarefas foram divididas e cada uma atribuída a quem tinha mais facilidade em desenvolvê-la.

Porém, como a equipe se dividiu, não sabíamos o que cada um estava fazendo e qual parte estava pronta ou não. Isso, com o passar do tempo começou a nos deixar perdidos em qual fase estávamos e quando podíamos começar a desenvolver um outro requisito.

E piorou quando fomos apresentar ao cliente, pois como não sabíamos como estava cada fase, tinha parte que estava completamente avançada e outras que estavam no início.

Sem contar que algumas pessoas estavam tendo muita dificuldade em realizar suas tarefas, porém, não conseguiam pedir ajuda, pois não havia uma comunicação entre a equipe.

Também, tínhamos os requisitos, mas não sabíamos o porquê eles eram necessários e isso nos deixava perdidos em como fazê-lo da melhor forma para o usuário.

Percebemos que um método sem regras não estava funcionando também. E como poderíamos resolver? Voltar para as regras que também não haviam funcionando?

Então, decidimos tentar colocar algumas premissas para serem cumpridas durante o processo.

Os indivíduos e as interações entre eles mais que os processos e as ferramentas

Como percebemos que estava havendo um obstáculo para a equipe falar para todos em que ponto estava tendo dificuldade, decidimos que deveríamos ter mais integração entre nós, por meio de almoços e conversas durante o café.

E, além disso, conhecer o trabalho um do outro, por meio de reuniões onde cada um poderia dizer o que estava fazendo, o que iria fazer a seguir e se estava tendo alguma dificuldade ou facilidade. Nelas planejamos o que iremos fazer a seguir, além de integrar toda a equipe no processo de desenvolvimento.

Pensamos que processos e ferramentas são importantes, mas eles são feitos e utilizados, respectivamente, pela equipe e a interação entre ela deve estar fluida e equilibrada para que a eficácia dos processos e ferramentas ocorra sem grandes problemas.

Além disso, para cada requisito, ao invés de escrevermos o que precisamos fazer, como por exemplo adicionar um campo de busca, escrevemos como aquilo ajudará o usuário, como por exemplo o usuário precisa pesquisar termos para encontrar as funcionalidades do software de maneira mais rápida.

Software funcionando mais do que documentação completa e abrangente

Como perdemos muito tempo com a documentação, decidimos que nosso foco seria mais no desenvolvimento, pois ela não agrega muito valor ao cliente.

Assim, quando recebemos um projeto, analisamos como cada requisito pode ajudar o usuário e começamos a desenvolvê-lo.

Desta forma, temos menos trabalho com documentação, já que fazemos por partes, ao mesmo tempo que desenvolvemos o software e apresentamos ao cliente.

A colaboração com e dos clientes mais do que negociações e contratos

Também definimos que o cliente deveria estar mais presente em todo o processo de desenvolvimento, avaliando o que foi feito e nos indicando as próximas prioridades.

Além disso, desta forma, caso o projeto precise de qualquer outra coisa, ele pode facilmente nos avisar, pois o cliente faz parte do projeto e participa de cada etapa.

Para ter essa colaboração frequentemente marcamos uma reunião por mês com o cliente. Nela, mostraremos o que foi feito, receberemos novas demandas ou alterações de anteriores de forma frequente e sem precisar jogar o projeto inteiro fora, pois, caso tenha alguma mudança saberemos logo.

Resposta a mudanças mais do que seguir o plano inicial

Como as necessidades do cliente e do projeto mudam, precisamos sempre estar atentos. Assim, ao invés de planejarmos todo o projeto de uma vez, agora planejamos cada etapa individualmente e em conjunto com o cliente.

Por termos esse contato mais direto com o cliente e por fazermos parte por parte, podemos nos adaptar a mudanças de forma mais rápida já que teremos que replanejar somente uma parte e não o todo.

Depois de alguns meses, essa nova forma estava apresentando resultado por conta dos benefícios trazidos por aquele método, que entre eles foram: satisfação do cliente; melhor gestão de prioridades; melhor visibilidade dos projetos, já que todos sabiam o que estava acontecendo nele; maior produtividade da equipe, pois ela estava mais motivada por seguirmos um ritmo saudável e simplificado de desenvolvimento.

Foi quando um novo integrante para a equipe foi contratado e assim que explicamos como tínhamos organizado as tarefas, ele nos respondeu que era uma metodologia ágil, e que a maneira que fazíamos seguia os valores do manifesto ágil. Confira essa entrevista do nosso CEO Paulo Silveira com Alexandre Magno da Emergee:

Manifesto Ágil

O Manifesto para o Desenvolvimento Ágil de Software foi escrito em 2001 por um grupo de 17 desenvolvedores. Eles agruparam e aprimoraram diversos conceitos de metodologia de desenvolvimento ágil no manifesto.

Esses conceitos iam pelo caminho contrário ao método em cascata, ou seja, rígida, onde as regras e etapas devem ser seguidas, e contra o método sem qualquer regra ou definição, que fica perdida. A metodologia ágil fica no meio termo entre o rígido e o livre.

Esse manifesto conta com quatro valores e doze princípios que devem ser incluídos na rotina da empresa.

Os valores, que já estávamos seguindo são:

E não que somente a parte antes do “mais do que” seja importante, porém, ela é uma prioridade maior que o que vem depois.

Agora, os princípios por trás dos valores, que sempre devem ser mantidos em mente enquanto o software estiver sendo desenvolvido são:

O manifesto ágil é como se fosse o embasamento filosófico para as metodologias ágeis e, baseado nesses valores e princípios, muitas foram criadas. Entre elas, o Scrum, Kanban e o EXtreme Programming, conhecido como XP.

Agora que nossa equipe já conhece os valores do manifesto ágil, podemos utilizar algumas das metodologias para seguir no dia-a-dia do desenvolvimento.E agora que você já sabe um pouco sobre Metodologia Ágil, o que acha de conferir nossa formação de Gerente Ágil para colocar em prática as metodologias ágeis na sua equipe?

Artigos de Tecnologia e Negócios