Desenvolvimento ágil

num mundo de produtos

Ceci Fernandes

@cecifernandes

Tema do dia: produtos!

Produtos

==

Incerteza

A gente fala muito de

processos, pessoas, cultura

Mas o que

desenvolvedores

precisam saber?

Responder a mudanças
mais que seguir um plano


E em código, como faz?

1. Feature Toggles

2. Monitoramento realtime

... outras técnicas "avançadas"

Mas mais básico

muito menos novidade

bem + importante

(*) pra sistemas com muitas interações

3. Clean Code

4. Separação de responsabilidades

Modularização

Delimitação de Contextos

5. Testes automatizados

Entendimento da pirâmide de testes

e da recente atualização

6. Entrega contínua

Automação de build e deploy

Promoção de código em ambientes

(com dados cada vez mais reais)

7. Entendimento de arquiteturas

Micro-serviços

Camadas

Mas não é só!

Por desenvolvedor...

você entende quem?

Programadores e QAs e BAs e UXers etc...

Los 3 Amigos

Colaboração contínua

Pareamento entre != papéis

3 amigos onde?

Inceptions

Critérios de aceite

HDD

Hypothesis

Driven

Development

exemplo de HDD

Métricas!

automatizadas
de preferência...

Analytics

Dashboard próprio

E, com métricas...

Testes A/B

Testes com usuários

Tantas coisas, mas...

Em resumo

"Qualquer prática que ajuda a
reduzir o custo de mudança de
direção ou experimentação"

Hugo Corbucci

Desenvolvimento ágil

num mundo de produtos

Ceci Fernandes

@cecifernandes