Técnica de desenvolvimento ágil, que visa
integrar 'Regras de negócio' com linguagem de programação
Regra de negócio?
"definem a estrutura e
controlam a operação das
empresas"
Segue conceito de Modelo Ágil
Modelo Ágil?
Surgiu através do Manifesto Ágil
proposto por Kent Beck e mais
dezesseis renomados consultores
Quais seus Princípios?
Envolvimento do cliente
Entrega incremental
Pessoas, não processos
Aceitar as mudanças
Manter a simplicidade
método SCRUM
Concentra suas atividades de desenvolvimento
nas atividades para levantamento de requisitos,
análise, projeto, evolução e entrega do produto
Estas atividades acontecem
em um padrão de processo
chamado SPRINT
O que é SPRINT?
A SPRINT é um ciclo que dura de 2 a 4
semanas e contempla uma quantidade de
requisitos a serem implementados (Histórias de Usuários).
O SCRUM Simplifica os papéis dos envolvidos.
Product Owner é o “dono do projeto” (cliente)
Scrum Master tem o papel de negociar com o Product Owner
Team (equipe) são todas as pessoas do time
Segue os princípios ágeis
Extreme Programming (XP)
Sua filosofia é levar o
processo de desenvolvimento
ao nível extremo
Quais suas Práticas?
Desenvolvimento incremental que
é sustentado pela entrega
frequente de releases
O cliente sempre faz parte do processo
Valor para pessoas e não para processos
Mudanças ou melhorias são vistas como evolução
A manutenção é sempre feita, por meio da refatoração
Como criar 'Histórias de Usuários'?
Como Revisar?
INVEST
Independent (deve ser independente)
Negotiable (deve ser negociável)
Valuable (deve agregar valor para o cliente)
Estimable (deve ser possível estima-la)
Small (deve ser pequena)
Testable (deve ser testável)
São criadas junto com o cliente e com apoio do equipe!
(usuário, analistas de negócio, testadores, desenvolvedores)
Quando?
No levantamento de requisitos.
Definindo: Quem? O que?
Porque?
Quem? Para quem estamos desenvolvendo.
O que? Uma descrição resumida da
funcionalidade. Por que? O motivo pelo qual o
cliente precisa desta funcionalidade.
Como Testar?
Testar é um mecanismo de verificar se um sistema está
realmente executando aquilo que lhe é determinado a executar.
Analisar um conjunto de entradas que serão processadas
pelo sistema em forma de uma “caixa-preta”
Testes = Requisitos
Dado que... Quando...
Então...
Exemplo: "Dado que"... o estoque possui 50 unidades
"Quando"... informo uma venda de 40 unidades
"Então"... a venda é registrada
Quem Criou?
Dan North
Modo Tradicional
Gasto de esforço = levantamento de
requisitos + análise & design + criação
de testes + execução dos testes +
desenvolvimento
Durante o projeto em andamento,
normalmente alguém esqueceu de algo
Alteração de requisito = dor de cabeça
Baixa automatização de testes,
dificuldade para testes de regressão
Foco na padronização
Utilizando BDD
Gasto de esforço = levantamento
de cenários + desenvolvimento
Maior facilidade por todos para
enxergar o que será desenvolvido
Alteração de requisito = adição de escopo
Alta automatização de testes,
facilidade para testes de regressão
(aumento de qualidade)
Foco no que agrega valor ao negócio
Obstáculos para adoção de BDD
Cultura organizacional - quebra de paradigma -
resistência por falta de conhecimento
Envolve mudanças na relação com o
cliente / usuário chave
Elaboração de cenários errada pode levar
a adoção ao fracasso