desenvolvimento ágil do jeito certo
TRANSCRIPT
globo .com
globo .comDesenvolvimento ágil na globo.com
Marcos Daniel Petry
Petry?Formação
Bacharel em Ciências da Computação
Pós Gestão de Negócios
Pós Gestão Projetos - IBMeC
!
Experiência
~10 anos como Desenvolvedor
~1.5 anos como PO
Tech Lead, Scrum Master, etc…
57 respostas!
Obrigado por preencherem o questionário!
globo .com
globo.com‣ 30,5 M ‣ Lider nos segmentos de notícias, entreterimento
e esportes ‣ 154M Votos (Paredão BBB) ‣ 500K Votos/min
‣ 60K sessões simultâneas (CartolaFC)
globo.com‣ +-30 times ‣ +-500 Funcionários ‣ Desenvolvedores ‣ UX ‣ SM’s, PO’s e PD’s
Tecnologias
opensource
Opensource
+100Contribuições
Opensource
+70Projetos Criados
Opensource
muito, muito mais em opensource.globo.com :-)
tsuru
Destaques
Criando Produtos melhores
Taxa de sucesso de projetos
4%20%
76%
SucessoAtrasosFalhou
52%
10%
38%
Taxa de sucesso de projetos
$6M - $10M
$3M - $6M
$1,5M - $3M
$750k - $1,5M
> $750k
0 15 30 45 60
Seu trabalho segue algum processo?
Não 72%
Sim 28%
Desenvolvimento de software Tradicional
REQUISITOS
DESIGN
IMPLEMENTAÇÃO
VERIFICAÇÃO
MANUTENÇÃO
Progresso: Avançar a próxima etapa
RETROSCPECTIVE
PLANNING I
PLANNING II
DAILY MEETING
DAILY MEETING
DAILY MEETING REVIEW
MELHORIA
O QUE?
COMO?
PROGRESSO PROGRESSO PROGRESSO RESULTADO
Sprint
Desenvolvimento de software AgilProgresso: A cada história entregue
Scrum e padrões organizacionais
facil de explicar, difícil de implementar
Planning
Planning‣ Definir colaborativamente um Goal desafiador
baseado na capacidade real do time
Quadro Kanban
Daily Meeting
um status report?
Daily Meeting
NÃO!
Daily Meeting
saber exatamente onde está o projeto descobrir dependências/impedimentos endereçar quaisquer necessidades dos individuos do time replanejar o trabalho
Daily Meeting
REVIEW
Review‣ um momento onde o time de desenvolvimento
interage com o PO e as pessoas que ele representa ‣ o PO entende o que rolou naquele sprint e toma
novas decisões ‣ reorganizar o backlog ‣ tomar decisões colaborativamente ‣ não é hora de julgamento
Retrospectiva
Retrospectiva‣ Não é lavanderia! ‣ Não é para achar culpados ‣ Ambiente 100% seguro ‣ Deve-se tomar ações
Técnicas de Desenvolvimento ágil
TDD
Desenvolvimento orientado a testesESCREVER O TESTE
RODAR TESTE
CODIFICA
LIMPEZA E REFATORAÇÃO
RODAR TODOS TESTES
Pair Programming
Pair programming‣ foco ‣ aumenta a qualidade do código ‣ aprendizado ‣ facilita a comunicação
Coding Dojo
https://github.com/globocom/dojo
Integração Contínua
API de Busca
API de classificação, dados estatísticos
Integração com servidor de ADs
Plataforma Interna CMS
API de Vídeos (stream)
Recuperação de Dados (relacional, semântico)
Como garantir que algo não vai quebrar?
CI - Globoesporte.com
Testes unitários, funcionais, javascript, code-conventions CIs Integradas entre as dependências Testes Visuais, Testes Crossbrowser Testes de Performance Validações de SEO
CI - Globoesporte.com
Testes de Usabilidade
USABILITYHUB.COM
Deploy Automatizado
Local Dev QA1 QA2 Stagin Prod
DeploymentProcesso globo.com
‣ Testes de Infraestrutura (TDI) ‣ Blue-Green Deployment
‣ DB Migrations
Continuous Delivery?
DeploymentTécnicas
Fake Feature
A/B Testing
Teste A/BValidando Hipóteses
Teste A/B - G1 Social ReaderValidando Hipóteses
…
Lean Startup MindsetIntegração Contínua
Minimizar o custo de Deployment Scrum / Kanban
Lean UX
Code Review
Incentivo ao Open Source
Pair-Programming+ Perto do Cliente
Movimentos Rápidos + Melhoria Contínua!
Agilidade
!
TDD BDD
Lean Startup MindsetIntegração Contínua
Minimizar o custo de Deployment Scrum / Kanban
Lean UX
Code Review
Incentivo ao Open Source
Pair-Programming+ Perto do Cliente
Agilidade = Vantagem Competitiva
Movimentos Rápidos + Melhoria Contínua!
!
TDD BDD
‣ http://talentos.globo.com/
‣ https://github.com/globocom/IWantToWorkAtGloboCom