Feedback Driven Development

Visto que trabalhamos num ambiente complexo, com eventos singulares e desconhecidos, precisamos de práticas emergentes. A feedbackabilidade possibilita tratar as incertezas e aprender sobre tais eventos. Pelo princípio ágil, software funcionando é medida primária de progresso, o feedback do cliente é essencial para medirmos o progresso. Que exploremos a feedbackabilidade!

Três Princípios do Desenvolvimento Guiado por Feedback

1. Todo o trabalho deve utilizar Feedback Just-in-Time (5A):

  • com a informação de adequada,
  • na qualidade adequada, (zero defeito)
  • no momento adequado, (agora)
  • na quantidade adequada, (um item)
  • no lugar adequado (aqui).

2. Otimizar o feedback em todos os níveis, desde o nível de negócio, do cliente, de entregas, de desenvolvimento, código, ambiente de trabalho, e tudo o que se relacione direta e indiretamente com o trabalho. Otimizar para não ter feedback nem a menos, nem a mais, que o necessário.

3. Esses três princípios são mais importantes que suas práticas. Todas as práticas são opcionais porém geram um bom nível de feedback. Visto isso, de uma forma emergente, constantemente aprenda, crie, adicione, remova e adapte práticas de acordo com seu contexto para que maximizar o resultado desses três princípios (incluindo este).

Feedback é o centro das Práticas ágeis

Práticas ágeis de alto feedback

  • Iterações / Sprints;
  • Reuniões diárias em pé;
  • Reunião de Planejamento / Jogo do Planejamento;
  • Reunião de Retrospectiva;
  • Reunião de Entrega / Review;
  • Backlog do Produto;
  • Padrão de código;
  • Revisão de código (Peer review);
  • BDD, Desenvolvimento Guiado por Comportamento – Behavior Driven Development;
  • TDD, Desenvolvimento Guiado por Testes – Test Driven Development;
  • ATDD, Desenvolvimento Guiado por Testes de Aceitação – Acceptance Test Driven Development;
  • Histórias de Usuário;
  • Exemplos de cenários;
  • Linguagem Ubíqua;
  • Documentação Viva;
  • Testes de Unidade;
  • Testes de Integração;
  • Testes de Aceitação;
  • Programação em Par;
  • Posse Coletiva;
  • Projeto Simples;
  • Design Emergente;
  • Metáforas de Sistema;
  • Ritmo Sustentável;
  • Spikes;
  • Clean Code;
  • Testes Automatizados;
  • MVP e MMP;
  • Integração Contínua;
  • Pequenas Entregas;
  • E muitas outras práticas.
Anúncios