Método Ágil no desenvolvimento de Software

73
Desenvolvendo produtos no UOL UOL HOST Maio de 2015

Transcript of Método Ágil no desenvolvimento de Software

Desenvolvendo produtos no UOL

UOL HOSTMaio de 2015

Roosevelt JúniorGerente Geral de Produtos UOL HOST

r n a s c i m e n t o @ u o l i n c . c o m

@ r a n j u n i o r

1. O que é o UOL?

2. UOL é tecnologia

3. O lado financeiro do produto

4. Como desenvolvemos software ?

4

NEWSPAPERS MAGAZINES/BOOKS

DISTRIBUITION/PRINTiNG INTERNET/IT SERVICES

O que é o UOL?

• Fundado em 1996;

• Maior conteúdo em português do mundo;

• Maior audiência de internet entre os portais;

• Produtos e serviços diversificados.

O que é o UOL?• Ético• Crítico• Apartidário• Independente

O que é o UOL?• Maior infraestrutura de TI do Brasil;• Líder em serviço de hospedagem;• Líder no segmento de serviços de TI;• Milhares de clientes corporativos.• 6 datacenters, 2 de nível mundial, todos

interconectados por rede própria.

O que é o UOL?

• Equipe altamente qualificada;• Projetos desafiadores;• Sistemas feitos para ter

escalabilidade, robustez e segurança;

• Investimentos em treinamentos de alto nível;

O que é o UOL?

http://uol.host

Presença Online• Domínio• E-mail profissional• Hospedagem de Site

E-commerce• Loja Virtual• E-mail marketing• Google Adwords

Cloud Computing• Balancer• Cloud gerenciado• Server• Storagea

UOL é tecnologia

Scrum no UOL

+ 50 times

+ 30 entregasPor semana

+ 7 anos

• Referência em SCRUM e ITIL

• Participação em congressos nacionais e internacionais

• Investimento em treinamentos+ 250 horas de treinamento+ 1000 pessoas treinadas+ 15 palestras em 10 Universidades

• Cultura “open source”

• Desenvolvimento interno de infra estrutura e arquitetura de sistemas

Projetos desenvolvidos internamente:

• PagSeguro

• Cloud Computing e UOL Host

• Container/Docker LXC

• CMS – publicador do Conteúdo UOL

• Plataforma de vídeo on-demand e ao vivo (UOL Mais)

• E-mail

• E-commerce e publicidade

Theo Schlossnagle• Livro: “Scalable Internet Architectures”• Scalability• Performance

Tim Ash• Livro: “Landing Page Optimization”• Otimização de páginas

Workshops internos:

Herb Sutter• Livro: “C++ Coding Standards”,

“Exceptional C++ Style” etc• Especialista em C++

Scaling Scrum step by step: “The mega framework”

Rafael Maranzato, Marden Neubert, Paula Herculano

http://submit2012.agilealliance.org/files/session_pdfs/scaling-scrum-mega-framework.pdf

• Conferência internacional mais importante no mundo Ágil.

• Inovação mundial no quesito de ganho de escala com Scrum - um dos artigos e apresentações mais comentados e bem avaliados da conferência.

• Dallas/TX – EUA - 2012

Payment Gateway Realtime Monitoring with Splunk

Marcio Ghiraldelli

http://www.splunk.com/web_assets/pdfs/secure/Splunk_at_PagSeguro.pdf

• “Case” de sucesso do PagSeguro no “4th Annual Splunk Worldwide Users’ Conferece”

• Aplicação direta de Big Data

• Las Vegas/NV- EUA - 2013

O lado financeiro por trás do Produto

R$100M*

* Valor hipotético

R$ 120M

* Valor hipotético

R$ 120MJan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL

10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 10R$ 120R$

* Valores hipotéticos

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 12R$

* Valores hipotéticos

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 12R$

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 12R$

1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 11R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 10R$

1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 9R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 8R$

1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 7R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 6R$

1R$ 1R$ 1R$ 1R$ 1R$ 5R$ 1R$ 1R$ 1R$ 1R$ 4R$

1R$ 1R$ 1R$ 3R$ 1R$ 1R$ 2R$

1R$ 1R$ 78R$

* Valores hipotéticos

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 12R$

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 24R$

2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 22R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 20R$

2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 18R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 16R$

2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 14R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 12R$

2,0R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 10R$ 2,0R$ 2,0R$ 2,0R$ 2,0R$ 8R$

2,0R$ 2,0R$ 2,0R$ 6R$ 2,0R$ 2,0R$ 4R$

2,0R$ 2R$ 156R$

* Valores hipotéticos

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 1R$ 12R$

7% de churn

Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez TOTAL2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 1,3R$ 1,2R$ 1,1R$ 1,0R$ 1,0R$ 0,9R$ 16,6R$

2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 1,3R$ 1,2R$ 1,1R$ 1,0R$ 1,0R$ 15,7R$ 2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 1,3R$ 1,2R$ 1,1R$ 1,0R$ 14,7R$

2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 1,3R$ 1,2R$ 1,1R$ 13,7R$ 2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 1,3R$ 1,2R$ 12,6R$

2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 1,3R$ 11,4R$ 2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 1,4R$ 10,1R$

2,0R$ 1,9R$ 1,7R$ 1,6R$ 1,5R$ 8,7R$ 2,0R$ 1,9R$ 1,7R$ 1,6R$ 7,2R$

2,0R$ 1,9R$ 1,7R$ 5,6R$ 2,0R$ 1,9R$ 3,9R$

2,0R$ 2,0R$ 2,0R$ 3,9R$ 5,6R$ 7,2R$ 8,7R$ 10,1R$ 11,4R$ 12,6R$ 13,7R$ 14,7R$ 15,7R$ 16,6R$ 122,2R$

* Valores hipotéticos

R$ 2M

Cloud – R$ 1 M• IaaS• PaaS• SaaS

Loja – R$ 0,5 M• Plataforma própria• Magento, Prestashop

etc• Google Adwords

Site – R$ 0,5 M• Construtor• Hospedagem

LXC• cPanel e Plesk

* Valores hipotéticos

Suposição: Hospedagem LXC – R$150.000/mês*

* Valor hipotético

1 Site 2 Sites 5 SitesRECEITA BRUTA 26,90 39,90 79,90

Descontos/Abatimentos (1,28) (1,90) (3,80)

Impostos (2,76) (4,09) (8,19)

RECEITA LÍQUIDA 22,87 33,92 67,92

CUSTOS E DESPESA OPERACIONAL (15,52) (25,78) (56,56)

RECUPERAÇÃO DE IMPOSTO

COBRANÇA (0,52) (0,78) (1,56)

CUSTOS DIRETOS (15,00) (25,00) (55,00) Repasse (10,00) (15,00) (30,00) Benefícios concedidos (5,00) (10,00) (25,00)

MARGEM DE CONTRIBUIÇÃO 7,34 8,14 11,36 % MARGEM 32% 24% 17%

PIS/COFINS/INSS 10,25%IOF 0,38%Custo de cobrança 1,95%Descontos/Abatimentos 4,75%

Suposição: Hospedagem LXC – R$150.000/mês*

* Valores hipotéticos

Planos % planos Ofertas Mensais Semanais DiáriasFit 50% 26,90R$ 2788 697 100Pro 30% 39,90R$ 1128 282 40Top 20% 79,90R$ 375 94 13

Vendas

Suposição: Hospedagem LXC – R$150.000/mês*

* Valores hipotéticos

Vendas Cadastro Pagamento Canal de venda Meio de pagamento

Cancelamento A pedido Inadimplência Administrativo

Crescimento líquido Tempo de base Distribuição de ofertas

Hospedagem LXC• Container/Docker

• Todas versões de PHP

• Instalador de aplicativos (APS)

• Especialização do container

• Flavors de banco NoSQL

• Construtores de Sites

• Etc etc etc

Suposição: Hospedagem LXC – R$150.000/mês*

* Valor hipotético

Como desenvolvemos software?

Fase 1• Ausência de processos• 1996 a 2000• Startup• Portal• Acesso

Fase 2• Processo burocrático (RUP)• 2000 a 2006• Conteúdo e produtos• Acesso e publicidade

Fase 2• Processo burocrático (RUP)• 2000 a 2006• Conteúdo e produtos• Acesso e publicidade

Requisitos

Planejamento

Desenvolvimento

Teste

Entrega

Manutenção

Típico processo de desenvolvimento de software

(RUP)

Típico processo de desenvolvimento de software

(RUP)

Requisitos

Planejamento

Desenvolvimento

Teste

Entrega

Manutenção

Diretor muda o requisito...

Caminho crítico alterado...

Demora mais que o previsto...

Nunca é suficiente para o prazo...

Não era o que cliente imaginava...

Refactoring...

Shi[f]t happens

Na realidade...

Cronogramas atrasam...

Requisitos mudam...

Custa caro mudar...

Entrega-se o que não foi pedido...

Ilusão de que tudo pode ser mapeado no início...

Todo projeto tem alguns requisitos emergenciais...

O que fazer ?

Fase 3• Método ágil (SCRUM)• Desde 2007• Conteúdo, produtos e serviços• Acesso, publicidade e produtos

Entrega 3Entrega 2Entrega 1

Entrega 1 Entrega 2 Entrega 3

Desenvolvimento em cascata

Scrum

Manifesto Ágil

Indivíduos e interações

Software em funcionamento

Colaboração com o cliente

Responder a mudanças

Processos e ferramentas

Documentação abrangente

Negociação de contratos

Seguir um plano

http://agilemanifesto.org/iso/ptbr/

Isso é documentação???

Isso é documentação!

Product Owner

Scrum Master Time

Product Owner (PO)

• Representa o negócio

• Descreve e prioriza os requisitos

• Organiza o backlog

• Responsável pelo ROI do produto

Scrum Master

• Líder facilitador

• Orienta e protege o time

• Elimina impedimentos

• Responsável pelo processo

QA Dev AD Webmaster Implantação

Time

• Multidisciplinar

• Desenvolve, testa e implementa

• Entrega valor de negócio

___________

___________

___________

___________

___________

___________

___________

___________

___________

___________

___________

___________

___________

___________

___________

Comprador quer comprar com boleto bancário para facilitar seu pagamento.

Comprador quer imprimir um recibo do pagamento para ter mais segurança.

Produto

História

História

para manter seus dados atualizados.

quer editar seus telefones de contato

Assinante Quem?Identificação do cliente.

O que?Objetivo

Para que?Benefício

Backlog

...

Prioridade

alta

Prioridade baixa

___________1

___________2

___________4

___________3

História Real

Cenário:

Projeto: Emprego CertoRequisito: Notificação de vagas

• A taxa de conversão de massmail: 0,5%

• Custo de aquisição de novo usuário: R$ 30,00

• 35k usuários com cadastros incompletos

ROI (Return On Investment):

Projeto: Emprego CertoRequisito: Notificação de vagas

• 1750 x R$ 19,90 = R$ 34.825

• 35k x 0,5% = 1750 usuários

• R$ 34.825 x 3 meses = R$ 104.475 (tempo médio)

• 1750 x R$ 30,00 = R$ 52.500 (economia de aquisição)

ROI: R$156 k

* Valores aproximados da época

História:

“Como usuário com dados incompletos, quero receber semanalmente um e-mail com as vagas que se encaixam em meu perfil, então completarei os dados cadastrais para concorrer às vagas”

ROI:Conseguir 1750 novos assinantes pagantes do produto (36% da base) e uma economia de R$ 52.000 em termos de aquisição de base

Teste de aceitação:• Cadastrar usuários no sistema (UOL, BOL e outro email) mas não completar a última página, com os

dados de meio de pagamento• Cadastrar usuários no sistema (UOL, BOL e outro email) e cancelar a assinatura• Verificar se o sistema envia o email semanal, para estes usuários acima, com as vagas que possuem

títulos semelhantes ao mesmo objetivo profissional• Verificar se o texto do email para assinante cancelado é claro e direto para este tipo de usuário• Verificar se o texto do email para o usuário com dados incompletos é claro e direto para este tipo de

usuário• Validar a qualidade das vagas recebidas em relação ao currículo cadastrado• Verificar a opção de opt-out da notificação do email• Validar a funcionalidade de opt-out

wireframe.html layout.jpg

* Valores aproximados da época

Requisito funcional

Definição do ROI da história

Critérios de aceitação

WireframeFluxo de navegaçãoTexto final

História detalhadaQuantificada (ROI)Critérios de aceitaçãoLayout final

Sprint 10

01/1215/1101/1115/1001/10

Estimativa – T3

Sprint 9

Planejamento do Sprint 10

Sprint 6

Detalhamentoda história - T0

Layout – T2

Sprint 8

Wireframe – T1

Sprint 7Execução – T4

___________

___________

___________

___________

Backlog

Sprint Planning

2-4 semanas

DailyScrum

Sprint Review

Sprint retrospective

Sprint Planning

• Reunião com todos os envolvidos, onde o PO apresenta as histórias candidatas.

• Time escolhe e planeja as histórias que serão desenvolvidas.

___________1

Planejadas Em andamento Concluídas

___________2

___________3

...

Daily meeting

• Reunião em pé, máximo 15 minutos.

• O que fiz? • O que pretendo fazer? • Há algum impedimento?

Burndown chart

• Gráfico para acompanhamento do sprint

• Quantidade de tarefas x dias restantes.

Burndown chart

Dias

Tasks

100

50

75

25

2010 155

Sprint review

• Apresentação das histórias para o PO e para os envolvidos.

• Pode gerar ideias e melhorias para os próximos sprints.

Sprint retrospective

• Principais eventos do sprint

• Como foi? O que foi bom? O que precisa melhorar?

• Discutir soluções de melhoria

ObrigadoRoosevelt Junior

r n a s c i m e n t o @ u o l i n c . c o m

@ r a n j u n i o r