Skip to content

Métodos Ágeis

Scrum

O Scrum é um framework ágil que ajuda as equipes a trabalharem de forma colaborativa e a entregarem produtos de alta qualidade de forma iterativa e incremental. Ele se baseia em três papéis principais: o Product Owner, o Scrum Master e a Equipe de Desenvolvimento. Além disso, o Scrum define uma série de eventos, como a Reunião de Planejamento da Sprint, a Reunião Diária, a Revisão da Sprint e a Retrospectiva da Sprint.

Benefícios do Scrum

  • Maior transparência no processo de desenvolvimento.
  • Melhorias contínuas por meio de feedback regular.
  • Capacidade de resposta às mudanças nos requisitos do cliente.
  • Foco na entrega de valor ao cliente em curtos períodos de tempo.

Artefatos do Scrum

Os principais artefatos do Scrum incluem o Product Backlog, o Sprint Backlog e o Incremento. Eles ajudam a garantir a transparência, a visibilidade e o progresso do trabalho realizado pela equipe.

Para saber mais sobre o Scrum, consulte a documentação oficial do Scrum.org.

Kanban

Kanban, do japonês "cartão visual" ou "sinalização visual" é uma metologia ágil projetada para ajudar equipes a visualizar seu trabalho, limitar o trabalho em progresso e maximizar a eficiência do fluxo de trabalho. Ele funciona através do uso de cartões (ou post-its) que representam tarefas ou itens de trabalho, e estes são movidos através de diferentes etapas de um processo, que são geralmente representadas em um quadro Kanban.

Princípios Fundamentais do Kanban:

  1. Visualização do trabalho: Todas as tarefas ou itens de trabalho são representados por cartões visuais em um quadro Kanban. Isso permite que todos na equipe vejam o que está sendo feito, o que está em progresso e o que está concluído.

  2. Limitação do trabalho em progresso (WIP): O Kanban incentiva a limitação do número de tarefas ou itens de trabalho em progresso em qualquer momento. Isso ajuda a evitar a sobrecarga da equipe e a manter um fluxo de trabalho mais suave.

  3. Gestão do fluxo: O Kanban foca em melhorar o fluxo de trabalho, garantindo que as tarefas ou itens de trabalho se movam através do processo de forma eficiente e sem interrupções.

  4. Melhoria contínua: O Kanban promove uma cultura de melhoria contínua, onde as equipes são encorajadas a refletir sobre seu processo e procurar maneiras de torná-lo mais eficaz.

O Kanban é amplamente utilizado em uma variedade de contextos, não apenas em manufatura, mas também em desenvolvimento de software, gerenciamento de projetos, marketing, recursos humanos e muitas outras áreas. Ele se destaca pela sua simplicidade e flexibilidade, permitindo que equipes de diferentes tipos e tamanhos o adaptem às suas necessidades específicas.

XP

XP é uma metodologia que se baseia em uma monitoração contínua e testes frequentes focados em pequenos ajustes em seus projetos. A ideia por trás do XP mira em agilidade e um processo constante de evolução e mudanças no código, ela se estrutura em três pilares, que são:

1) Proximidade com o cliente e interações contínuas 2) Teste contínuos e frequentes 3) Ciclos curtos de desenvolvimento

Os Valores do XP

A metodologia tem como parâmetro os seguintes valores:

  • Comunicação: Incentivo no diálogo direto para organizar as ideias para o desenvolvimento de objetivos, estrutura e inovação

  • Simplicidade: Mirar na simplicidade no desenvolvimento, priorizar o que é prático, fácil e necessário de implementar no projeto. Evitar custos e tempo gasto desnecessário

  • Feedback: Buscar constantes feedbacks sobre o andamento do projeto, tanto por meios internos quanto externos.

  • Coragem: Ter atitude, ser aberto a mudanças (até quando forem assustadoras), aceitar os fracassos, escutar e aceitar feedbacks, propor melhoras e soluções e principalmente saber dizer "Não" quando necessário.

  • Respeito: Foco em um bom trabalho em equipe com uma boa confiabilidade e empatia

Práticas principais do XP

As práticas consistem no núcleo principal do processo. Elas evidenciam os valores que nos ajudarão a ter sucesso no projeto. São elas:

  • Cliente presente: O cliente deve participar ativamente do processo de desenvolvimento. Tudo precisa da comunicação com o cliente. Ele deve receber o melhor resultado possível a cada semana, ver o progresso no sistema, ser informado de mudanças de planos, etc.

  • Planejamento: O desenvolvimento utilizando o XP é feito em iterações. Uma iteração é um período curto de tempo (1 ou 2 semanas) onde a equipe desenvolve um conjunto de funcionalidades. Sendo assim, no início da semana, desenvolvedores e clientes se reúnem para priorizar as funcionalidades. Essa reunião chama-se jogo de planejamento e nela já devem estar criadas as estórias. Se uma estória for muito grande, ela deve ser dividida em tarefas com duração máxima de alguns dias.

  • Stand Up Meeting: São reuniões feitas em pé e de curta duração - mas muito produtiva, para que o time se mantenha alinhado, para saber o que cada um está fazendo exatamente, em que ponto está o projeto e se alguém está tendo problemas para executar suas tarefas.

  • Programação em par: É uma programação em par (dupla) em um único computador. Como é apenas um computador, o software sempre é revisto por duas pessoas diminuindo assim a possibilidade de falhas. Busca-se sempre a evolução da equipe melhorando a qualidade do código fonte. Ela é uma das práticas primordiais do XP, pois dois programadores fazendo o trabalho juntos acaba agregando muito para o trabalho em equipe.

  • Testes constantes: É utilizado o Desenvolvimento Orientado a Testes (Test Driven Development), o conhecido TDD. Primeiro crie os testes unitários e depois crie o código para que o teste funcione, essa abordagem é complexa no início, mas os testes unitários são essenciais para que a qualidade do projeto seja mantida.

  • Refatoração: É um processo que permite a melhoria contínua da programação, o mínimo de introdução de erros e mantendo compatibilidade com o código já existente. Refatorar melhora a clareza, leitura do código e facilita a manutenção. Além disso, o código fica mais coeso e você tem um melhor aproveitamento, evitando duplicação no código fonte.

  • Código coletivo: Diz que o código fonte não tem dono e ninguém precisa solicitar permissão para poder modificar o mesmo. O objetivo é fazer a equipe conhecer todas as partes do sistema.

  • Padronização do código: Como todo mundo trabalha no desenvolvimento do mesmo software, a equipe de desenvolvimento precisa estabelecer regras para programar e todos devem seguir essas regras, assim parecerá que todo código fonte foi digitado pela mesma pessoa.

  • Design simples: Essa prática se encaixa no princípio da simplicidade e é basicamente seguir o que o usuário está pedindo, por conta disso o design do software acaba sendo mais simplista. Além disso, o software acaba ficando mais fácil de ser alterado.

  • Metáfora: Procura facilitar a comunicação com o cliente, entendendo qual a realidade dele. É preciso traduzir as palavras do cliente para o significado que ele espera dentro do projeto.

  • Ritmo sustentável: Manter um ritmo de trabalho com qualidade, onde eles estejam atentos e dispostos.

  • Semana de 40 horas: É trabalhar com qualidade buscando ter um ritmo de trabalho saudável, 40h por semana, 8h por dia, sem horas extras.

  • Integração contínua: Sempre que for produzido uma nova funcionalidade você nunca deve esperar uma semana para integrar com a versão atual do sistema. Isso só aumenta a possibilidade de conflitos e possibilidade de erros no código fonte. Integrar de forma contínua permite saber o status real da programação.

  • Releases curtos: As liberações de pequenas versões funcionais do projeto auxiliam muito no processo de aceitação por parte do cliente que já pode testar uma parte do sistema. Os releases são pequenos pedaços do produto que são entregues ao cliente antes do tempo, assim o cliente não precisa esperar o produto todo ficar pronto para ver.

Mais Conteúdo

Para saber mais sobre o XP, consulte o PDF da UFPE sobre Extreme Programming.