Conteúdo produzido por nosso gestor do time de dev Luiz Henrique Felix.
No início da pandemia não sabíamos como seriam as coisas, quando recebemos a notícia que teríamos que trabalhar de casa foi um pouco assustador, eu estava a pouco mais de um mês no cargo e sabia que um grande desafio viria pela frente.
As primeiras semanas em home office foram as mais desafiadoras, pois precisávamos de alguma forma, manter a mesma dinâmica que tínhamos pessoalmente, só que agora, a distância, e como poderíamos fazer isso?
Foi ai que começaram os meus estudos sobre as metodologias ágeis, que irei descrever nos próximos parágrafos.
Logo quando comecei a estudar metodologias ágeis a primeira coisa que me deparei foi com ‘O Manifesto Ágil’ que é uma declaração de princípios que fundamentam o desenvolvimento ágil de software. Ele se baseia em doze princípios, onde a ideia central é a satisfação do cliente através de entregas rápidas e melhoria continua. Para que isso seja alcançado, utilizamos como principal ferramenta o diálogo entre os times, juntamente com a inclusão de outros times para mais próximo do desenvolvimento, como o comercial e o suporte, para que com o feedback coletado de todos, possamos estar sempre melhorando o software e atendendo as necessidades do cliente.
Uma das coisas que eu aprendi nessa trajetória foi o real sentido da palavra ‘MVP – Minimum Viable Product’ ou ‘Produto Mínimo Viável’. O MVP nada mais é do que a entrega de um software, onde o cliente já consiga utilizar, mesmo sem estar com todas as features que foram planejadas no roadmap já implementadas, com isso conseguimos agilizar a entrega e também ir melhorando o software, pois com o cliente já utilizando, nós melhoramos com base no feedback coletado, ou seja, todos saem ganhando.
Para que as entregas aconteçam no período definido no roadmap, nós utilizamos alguns métodos que nos auxiliam nessas entregas, juntamente com o framework Scrum. Este framework não é um processo linear, em vez disso, é um conjunto de conceitos e técnicas dentro do qual você pode empregar vários outros processos ou técnicas. Analisando a eficácia relativa das práticas de gerenciamento e desenvolvimento, de modo que você possa melhorá-las. Ele nos dá várias técnicas que podem ser utilizadas para o gerenciamento, e uma delas são as reuniões daily e as reuniões da sprint. As reuniões daily são reuniões de no máximo 15 minutos, que nós fazemos para alinhar quais serão as atividades a serem realizadas no dia e qual será o direcionamento do time, eu como gestor desses times faço três perguntas básicas: o que fizeram ontem, o que farão hoje e se tem algo que possa impedir que a atividade que seria realizada hoje, não seja realizada. Com essas três perguntas conseguimos ter uma visão abrangente e saber se poderemos ter algum possível problema, e também resolvemos os impedimentos. As reuniões da sprint são reuniões que geralmente acontecem a cada uma semana e tem duração de até uma hora. Eu e os times, nos reunimos com a diretoria, e apresentamos o andamento das atividades que foram feitas no período, coletamos o feedback deles e ajustamos as atividades com base nesses feedbacks, assim temos um direcionamento para a próxima sprint.
Juntamente com o Scrum, utilizamos o ITIL, Information Technology Infrastructure Library ou biblioteca de Infraestrutura de Tecnologia da Informação. Que é um conjunto de boas práticas detalhadas para o gerenciamento de serviços de TI que se concentra no alinhamento de serviços de TI com as necessidades dos negócios e busca promover uma gestão direcionada à entrega eficiente dos serviços ao cliente. Na prática o ITIL funciona como um guia, onde ao invés de definirmos processos, nós seguimos boas práticas, que de certa forma deixa a gestão dos times e o workflow dos processos bem mais dinâmicos, pois não ficamos amarrados a processos x ou y. Também utilizamos uma técnica de workflow de processos chamada Kanban, que é um termo japonês que significa “cartão”. O sistema recebeu esse nome pela própria empresa que o desenvolveu, a Toyota. Ele nada mais é do que um sistema ágil e visual para controle de produção ou gestão de tarefas, onde nós utilizamos um quadro virtual com colunas nomeadas da seguinte forma: ‘backlog, fazendo, dependendo de algo/alguém, homologação e feitos‘ e cartões que vão “andando” entre essas colunas conforme as atividades vão sendo executadas. O Kanban facilita muito o andamento do desenvolvimento do projeto, pois conseguimos saber de forma visual e clara em qual processo estamos, sempre reportando dentro dos cartões de cada uma das atividades, para que possamos utilizar essas informações reportadas nas reuniões da sprint e revisão.
Dentre todos esses métodos, frameworks e ferramentas, a mais importante sempre será aquela que melhor se adeque a necessidade do seu time, uma dica que eu dou é: não fique preso a framework ou metodologia x ou y, pois isso pode ao invés de ajudar, acabar atrapalhando e limitando o seu time, ao invés disso utilize o melhor de cada uma delas com base na sua realidade, tendo sempre em mente o objetivo final, que é o desenvolvimento ágil de software e a boa gestão dos times, fazendo sempre revisões para ter tempo hábil de mudar a direção dos times caso necessário, fazendo com que o processo de desenvolvimento se torne bem mais dinâmico.