project rescue - oxente rails - 05aug2010

77
Hugo Baraúna @hugobarauna blog.plataformatec.com blog twitter ID Project Rescue salvando projetos a beira do precipício

Upload: plataformatec

Post on 18-May-2015

2.019 views

Category:

Documents


3 download

DESCRIPTION

Palestra realizada por Hugo Baraúna no evento Oxente Rails 2010, em 06 de Agosto de 2010 na cidade de Natal.

TRANSCRIPT

Page 1: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

blog twitterID

Project Rescuesalvando projetos a beira do precipício

Page 2: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Quem sou eu?

• Hugo Baraúna

• Co-fundador da Plataforma Tecnologia

• 24 anos

• Engenharia de Computação na Politécnica da USP

•Desenvolvedor Ruby e Rails há mais de 3 anos

Page 3: Project Rescue - Oxente Rails - 05aug2010

1

Page 4: Project Rescue - Oxente Rails - 05aug2010

1

Desevolvemosaplicações em Rails

ConsultoriaCoaching em Rails e Agile

Page 6: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Vamos começar!

Page 7: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

3 coisas

Page 8: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

1. História baseada em fatos reais

Page 9: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

2. Por que acontece?

Page 10: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

3. Como resolver

Page 11: Project Rescue - Oxente Rails - 05aug2010

Por que estamos aqui?

Page 12: Project Rescue - Oxente Rails - 05aug2010

Porque nós amamos Rails!

Page 13: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Software de qualidade e de modo produtivo

Page 14: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Ruby e Rails estão crescendo

Page 15: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Usuários de Ruby

1993 1995 2000 2005 2008 2013

1 100 10,000 100,000

1,000,000

4,000,000

* Talk do Matz na Euruko 2010

Page 16: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

foto de ruido

Page 17: Project Rescue - Oxente Rails - 05aug2010

Fábrica de software

Page 18: Project Rescue - Oxente Rails - 05aug2010

1. História baseada em fatos reais

Page 19: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Tinha um cara, João, 30 anos

Page 20: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

João trabalhava na empresa da sua família

Page 21: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Visão de uma oportunidade de negócios

Page 22: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Deixou a empresa da sua família

Page 23: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Investiu suas economias na sua nova empresa

Page 24: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Produto envolvia um sistema web

Page 25: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Page 26: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Decidiu contratar uma fábrica de software

Page 27: Project Rescue - Oxente Rails - 05aug2010

Fábrica de software

Page 28: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

2 anos depois...

Page 29: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

produto incompleto

Page 30: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

bugs recorrentes

Page 31: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

1 mês para lançar uma nova feature

Page 32: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

dinheiro acabando

Page 33: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

A empresa de João corre o risco de falir

Page 34: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

continua em próximos capítulos...

Page 35: Project Rescue - Oxente Rails - 05aug2010

2. Por que esses problemas acontecem?

Page 36: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

3 possíveis motivos

• Cliente não sabe comprar software

• Fornecedor ruim

•Má gestão do desenvolvimento

Page 37: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Cliente não sabe comprar software

Page 38: Project Rescue - Oxente Rails - 05aug2010

Me veja 13 Kg de software

(...)

Software como commodity

Page 39: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Fornecedor ruim

Page 40: Project Rescue - Oxente Rails - 05aug2010

Vendo Rails. Quer pagar quanto?

Vendedor falastrão

Page 41: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Falta de domínio da ferramenta

Page 42: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Má gestão do desenvolvimento

Page 43: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Má gestão do desenvolvimento

• Escopo mal definido

Page 44: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Má gestão do desenvolvimento

• Escopo mal definido

• Falta de definição do “done done”

Page 45: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Má gestão do desenvolvimento

• Escopo mal definido

• Falta de definição do “done done”

• Prazo e escopo fechado

Page 46: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

3 possíveis motivos

• Cliente não sabe comprar software

• Fornecedor ruim

•Má gestão do desenvolvimento

Page 47: Project Rescue - Oxente Rails - 05aug2010

3. Como resolver

Page 48: Project Rescue - Oxente Rails - 05aug2010
Page 49: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

Page 50: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

•Definir o problema

Page 51: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

•Definir o problema

• Apagar o incêndio

Page 52: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

•Definir o problema

• Apagar o incêndio

•Organizar a casa

Page 53: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

• Definir o problema

• Apagar o incêndio

•Organizar a casa

Page 54: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

De!nir o problema

• Ponto de vista técnico

• Ponto de vista de negócios

Page 55: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

De!nir o problema

• Ponto de vista técnico

• Ponto de vista de negócios

Page 56: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Ponto de vista técnico

• Bugs recorrentes?

• Baixa manutenibilidade?

• Velocidade de desenvolvimento muito baixa?

Page 57: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

De!nir o problema

• Ponto de vista técnico

• Ponto de vista de negócios

Page 58: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Ponto de vista de negócios

• Vou perder o meu cliente!

• Vou perder o investidor!

•Minha empresa vai falir!

Page 59: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

•Definir o problema

• Apagar o incêndio

• Arrumar a casa

Page 60: Project Rescue - Oxente Rails - 05aug2010
Page 61: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

•Definir o problema

• Apagar o incêndio

• Arrumar a casa

Page 62: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Arrumar a casa

• Gerenciar a expectativa

• Preparar o terreno

•Desenvolvimento com refactoring puxado

Page 63: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Gerenciar a expectativa

Page 64: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Preparar o terreno

Page 65: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Story mapping, por Jeff Patton

Page 66: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Story mapping, por Jeff Patton

Page 67: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Page 68: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Desenvolvimento com refactoring puxado

Page 69: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Testes de integração segundo a regra de Pareto

Page 70: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Novas features, com testes

Page 71: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Refactoring “just in time”

Page 72: Project Rescue - Oxente Rails - 05aug2010

Hugo Baraúna @hugobaraunablog.plataformatec.com

Como resolver

•Definir o problema

• Apagar o incêndio

• Arrumar a casa

Page 73: Project Rescue - Oxente Rails - 05aug2010

there’s one more thing...

Page 74: Project Rescue - Oxente Rails - 05aug2010

João!

Page 75: Project Rescue - Oxente Rails - 05aug2010

Plataforma fez o project rescue

Page 76: Project Rescue - Oxente Rails - 05aug2010

Estamos felizes em salvar o negócio do João

Page 77: Project Rescue - Oxente Rails - 05aug2010

@hugobaraunablog.plataformatec.com.br

?!