Slide 1

Slide 1 text

Kit de Sobrevivência Ágil com xDD Paulo Igor about.me/pigodinho

Slide 2

Slide 2 text

Sobre - Sócio Consultor do Idopter Labs - Instrutor Associado e Agile Coach da Adaptworks - Membro ativo da comunidade Tá Safo - Diretor de Sistemas de Informação da CINBESA about.me/pigodinho @pigodinho

Slide 3

Slide 3 text

~20 anos se passaram e ainda estamos buscando A agilidade

Slide 4

Slide 4 text

4 Valores 12 princípios

Slide 5

Slide 5 text

stateofagile.com - 14th Annual State of Agile report (2020)

Slide 6

Slide 6 text

Aprendemos muito E Temos aplicado bastante... - Scrum - Kanban - SAFe / DAD - Práticas de Discovery - UX - Design Sprint - Lean Inception - PBB (Product Backlog Building) - Story Mapping - Retrospectiva - Planejamento (Iteração/Sprint, Release, Roadmap, Portfólio) - Métricas - ... - Técnicas de Engenharia ! - ATDD - TDD - BDD - Refatoração - Design Simples e Emergente - Programação em Par - Integração/Entrega Contínua - Infraestrutura como Código/Serviço - ...

Slide 7

Slide 7 text

Problemas (a falta de...) - Contínua atenção à excelência técnica e bom design aumenta a agilidade. - Simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é essencial. - As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis.

Slide 8

Slide 8 text

Falta... - Contínua atenção à excelência técnica e bom design aumenta a agilidade. - Simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é essencial. - As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis. - Excelência técnica e boas práticas de desenvolvimento - Colaboração para buscar novas abordagens que simplifiquem a solução - Comunicação eficaz e rica entre todos os participantes

Slide 9

Slide 9 text

Comunicação http://agilemodeling.com/essays/communication.htm

Slide 10

Slide 10 text

Kit de Sobrevivência Ágil

Slide 11

Slide 11 text

O que levar na Sacola? xDD

Slide 12

Slide 12 text

O que levar na Sacola? - Acceptance Test Driven Development (ATDD) - Test Driven Development (TDD) xDD

Slide 13

Slide 13 text

O que levar na Sacola? - Acceptance Test Driven Development (ATDD) - Test Driven Development (TDD) - *Behavior Driven Development (BDD) xDD

Slide 14

Slide 14 text

ATDD - Acceptance Test Driven Development (ATDD)

Slide 15

Slide 15 text

ATDD - Acceptance Test Driven Development (ATDD) - Debater - Colaboração, Entendimento e alinhamento de expectativas - Refinar - Organizar e estruturar os testes de aceitação / exemplos - Desenvolver - Desenvolver o requisito com foco nos testes/exemplos mapeados - Apresentar - Apresentar e coletar novos direcionamentos para novos requisitos, testes, etc.

Slide 16

Slide 16 text

ATDD - Debater - Acceptance Test Driven Development (ATDD) Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...)

Slide 17

Slide 17 text

ATDD - Refinar Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...) Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “aguardando envio” Quando eu solicitar o cancelamento do pedido E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações do pedido cancelado E irá alterar a situação do pedido para “cancelado” Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “em trânsito” Quando eu solicitar o cancelamento do pedido E informar uma ocorrência de envio (roubo, extravio, ...) E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações da solicitação de cancelamento E irá alterar a situação do pedido para “aguardando cancelamento” - Acceptance Test Driven Development (ATDD)

Slide 18

Slide 18 text

ATDD - Refinar Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...) Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “aguardando envio” Quando eu solicitar o cancelamento do pedido E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações do pedido cancelado E irá alterar a situação do pedido para “cancelado” Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “em trânsito” Quando eu solicitar o cancelamento do pedido E informar uma ocorrência de envio (roubo, extravio, ...) E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações da solicitação de cancelamento E irá alterar a situação do pedido para “aguardando cancelamento” - Acceptance Test Driven Development (ATDD) BDD ???

Slide 19

Slide 19 text

BDD - Behavior Driven Development (BDD) Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “aguardando envio” Quando eu solicitar o cancelamento do pedido E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações do pedido cancelado E irá alterar a situação do pedido para “cancelado” Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “em trânsito” Quando eu solicitar o cancelamento do pedido E informar uma ocorrência de envio (roubo, extravio, ...) E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações da solicitação de cancelamento E irá alterar a situação do pedido para “aguardando cancelamento” 1 2 3 Desenvolvimento de Fora para Dentro

Slide 20

Slide 20 text

BDD - Dado, Quando, Então Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “aguardando envio” Quando eu solicitar o cancelamento do pedido E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações do pedido cancelado E irá alterar a situação do pedido para “cancelado” Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “em trânsito” Quando eu solicitar o cancelamento do pedido E informar uma ocorrência de envio (roubo, extravio, ...) E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações da solicitação de cancelamento E irá alterar a situação do pedido para “aguardando cancelamento” - DADO - Pré-condição - Estado conhecido - Quando - Ação - Interação com o sistema - Então - Comportamento - Resultado esperado

Slide 21

Slide 21 text

BDD - Dado, Quando, Então Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “aguardando envio” Quando eu solicitar o cancelamento do pedido E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações do pedido cancelado E irá alterar a situação do pedido para “cancelado” Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “em trânsito” Quando eu solicitar o cancelamento do pedido E informar uma ocorrência de envio (roubo, extravio, ...) E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações da solicitação de cancelamento E irá alterar a situação do pedido para “aguardando cancelamento” - DADO - Pré-condição - Estado conhecido - Quando - Ação - Interação com o sistema - Então - Comportamento/Resultado esperado

Slide 22

Slide 22 text

BDD - Behavior Driven Development (BDD) 1 2 3 Desenvolvimento de Fora para Dentro - Promove a colaboração e uma comunicação eficaz - Permite a automação para uma entrega de maior valor e qualidade - Outras Características - Linguagem Ubíqua - Documentação viva (especificação executável) - Testes automatizados e regressão saem no processo - Retorno em tempo real do progresso em relação aos critérios de aceitação - Guia o desenvolvimento e ajuda a manter os desenvolvedores focados no que é essencial

Slide 23

Slide 23 text

ATDD - Refinar Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...) - Acceptance Test Driven Development (ATDD) Especificação por Exemplo

Slide 24

Slide 24 text

“ Ao chamarmos de "BDD", ou "ATDD", ou "Especificação por Exemplo", queremos o mesmo resultado - um entendimento comum compartilhado do que será construído para tentar entregar o que é certo, da primeira vez. Sabemos que nunca será, mas com menos retrabalho, ficará melhor. Janet Gregory (https://janetgregory.ca/atdd-vs-bdd-vs-specification-by-example-vs/)

Slide 25

Slide 25 text

ATDD - Desenvolver Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...) - Acceptance Test Driven Development (ATDD) TDD Vermelho Verde Refatora

Slide 26

Slide 26 text

ATDD - Desenvolver Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...) - Acceptance Test Driven Development (ATDD) TDD Vermelho Verde Refatora

Slide 27

Slide 27 text

TDD - Test Driven Development (TDD) - Baby Steps - Código limpo (Refatoração) - Design Simples e Emergente - Blindagem do Código (testes automatizados) - Os testes são a base para a integração contínua - Feedback rápido para os desenvolvedores - Ajuda a diminuir a dívida técnica - Produz uma especificação técnica viva do código

Slide 28

Slide 28 text

ATDD - Tudo pronto para a DEMO!!! Como comprador eu posso solicitar o cancelamento do pedido para reparar um engano O pedido pode ser cancelado antes do envio O pedido poderá ser cancelado após o envio caso tenha alguma ocorrência no envio (roubo, extravio, ...) - Acceptance Test Driven Development (ATDD) TDD Vermelho Verde Refatora Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “aguardando envio” Quando eu solicitar o cancelamento do pedido E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações do pedido cancelado E irá alterar a situação do pedido para “cancelado” Dado que eu estou na listagem de pedidos E o pedido apresentado estiver na situação de “em trânsito” Quando eu solicitar o cancelamento do pedido E informar uma ocorrência de envio (roubo, extravio, ...) E aceitar as condições de cancelamento Então o sistema irá enviar um email de alerta para o vendedor e comprador com as informações da solicitação de cancelamento E irá alterar a situação do pedido para “aguardando cancelamento”

Slide 29

Slide 29 text

O kit de sobrevivência é... - ATDD - TDD - *BDD

Slide 30

Slide 30 text

- ATDD - TDD - *BDD - Testes Automatizados - Refatoração - Design Simples e Emergente - Programação em Par - Revisão de Código - Integração/Entrega Contínua - Alinhamento de Expectativas (melhoria comunicação) - Qualidade O kit de sobrevivência é... YAGNI

Slide 31

Slide 31 text

- ATDD - TDD - *BDD - Testes Automatizados - Refatoração - Design Simples e Emergente - Programação em Par - Revisão de Código - Integração/Entrega Contínua - Alinhamento de Expectativas (melhoria comunicação) - Qualidade O kit de sobrevivência é... https://www.casadocodigo.com.br/products/livro-tdd

Slide 32

Slide 32 text

- Contínua atenção à excelência técnica e bom design aumenta a agilidade. - Simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é essencial. - As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis. - ATDD - TDD - *BDD - Testes Automatizados - Refatoração - Design Simples e Emergente - Programação em Par - Revisão de Código - Integração/Entrega Contínua - Alinhamento de Expectativas (melhoria comunicação) - Qualidade O kit de sobrevivência é...

Slide 33

Slide 33 text

Kit de Sobrevivência Ágil com xDD OBRIGADO!!! Paulo Igor about.me/pigodinho