137
Profissão Programador: Práticas para Melhoria Contínua Semana de Tecnologia FATEC Rubens Lara (Santos) - Outubro 2013 Agatha Lisboa Gabriel Rubens [email protected] / @gabrielrubenss

Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Embed Size (px)

Citation preview

Page 1: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Profissão Programador: Práticas para

Melhoria Contínua

Semana de Tecnologia FATEC Rubens Lara (Santos) - Outubro 2013

Agatha LisboaGabriel Rubens

[email protected] / @gabrielrubenss

Page 2: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Profissão Programador: Práticas para

Melhoria Contínua

Page 3: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

De onde vem a palavra pragmático?

Page 4: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

O foco da palestra é ajudar

programadores a se tornarem melhores

Page 5: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Não importa se você trabalha

sozinho, em equipe ou com muitos

clientes

Page 6: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programar é uma arte, e como

programador você é um artesão

Page 7: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Transformar requisitos vagos em

um programa. Documentar seu

trabalho

Page 8: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 9: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Ferramentas Ferramentas milagrosasmilagrosas

Page 10: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

MetodologiaMetodologias que s que

resolvem resolvem todos os todos os

problemasproblemas

Page 11: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Linguagens de Linguagens de Programação Programação pra todas as pra todas as

situaçõessituações

Page 12: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Sistemas Sistemas Operacionais Operacionais

que são que são melhores que melhores que

os outrosos outros

Page 13: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Não existe bala de Não existe bala de prata!prata!

Page 14: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Não há uma solução que resolva todos

os problemas.

Page 15: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Existem ferramentas/

linguagens/SOs apropriados para

cada situação

Page 16: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Reflita sobre seu trabalho.

Page 17: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Bibliografia

Page 18: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 19: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Uma Filosofia Pragmática

Page 20: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

O que diferencia programadores

pragmáticos?

Page 21: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

O gato comeu meu

código-fonte

Page 22: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Assuma responsabilidade

Page 23: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Forneça soluções e não desculpas

esfarrapadas.

Page 24: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Entropia de software

Page 25: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Deterioração do Deterioração do softwaresoftware

Page 26: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Teoria da janela Teoria da janela quebradaquebrada

Page 27: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Apagando incêndiosApagando incêndios

Page 28: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Não tolere janelas

quebradas

Page 29: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Sopas de pedras e sapos cozidos

Page 30: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Seja um catalizador de

mudanças

Page 31: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Sopas de pedras

Page 32: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Lembre-se do cenário em larga

escala

Page 33: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Software Satisfatório

Page 34: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Envolva os usuários na tomada de

decisões

Page 35: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Torne qualidade parte dos requisitos

Page 36: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programação como uma pintura

Page 37: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Ciência + arte + trabalho manual

Page 38: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Saiba quando parar

Page 39: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 40: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

MVCMVC

Page 41: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Carteira de conhecimentos

Page 42: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Semelhante ao gerenciamento de

uma carteira de investimentos

Page 43: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Construindo uma carteira

Page 44: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Invista regularmente em

sua carteira de conhecimentos

Page 45: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Analise criticamente o que você vê e

ouve

Page 46: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Comunicação

Page 47: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 48: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Conheça o que vai dizer

Page 49: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Conheça pra quem vai dizer

Page 50: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Escolha o momento certo

Page 51: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Seja ouvinte

Page 52: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)Dica :)

É o que você diz e É o que você diz e a maneira como diza maneira como diz

Page 53: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Uma Abordagem Pragmática

Page 54: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Males da duplicação

Page 55: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Conceito de manutenção

Page 56: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

NSR - Não Se Repita

DRY - Don't Repeat Yourself

Page 57: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Tipos de duplicação

Page 58: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Duplicação imposta

Page 59: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Facilite a reutilização

Page 60: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Ortogonalidade

Page 61: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Conceito emprestado da

geometria

Page 62: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Sistema ortogonal

Page 63: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Elimine efeitos entre elementos não relacionados

Page 64: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

ReversibilidadeReversibilidade

Page 65: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Não há decisões definitivas

Page 66: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Projéteis Projéteis LuminososLuminosos

Page 67: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Código Rastreador

Page 68: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Use projéteis luminosos para encontrar seu

alvo

Page 69: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programe Igual ao Domínio do Usuário

Page 70: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Programe em um nível próximo ao

domínio do problema (usuário)

Page 71: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Estimando

Page 72: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Estime para evitar surpresas

Page 73: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Que nível de exatidão é

suficientemente exato?

Page 74: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Entenda o que está sendo pedido

Page 75: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Acompanhe sua habilidade de

estimar

Page 76: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Reexamine o cronograma

junto ao código

Page 77: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

O que dizer quando lhe pedirem uma

estimativa?

Page 78: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Seja Flexível

Page 79: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Quadros-Negros

Page 80: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

A melhor forma de se comunicar é

visualmente

Page 81: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 82: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 83: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 84: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 85: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Enquanto Você Está Codificando

Page 86: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programação Baseada no Acaso

Page 87: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 88: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programar é uma tarefa que envolve muita habilidade e

raciocínio

Page 89: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Refine sempre essa estimativa

Page 90: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Refatoração

Page 91: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Refatorar é melhorar um código

existente sem alterar o seu

funcionamento

Page 92: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Quando Refatorar?

Page 93: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 94: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

-Código duplicado-Método longo-Classe grande

-Lista de parâmetros longa

-Má indentaçãoE muito mais!

Page 95: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Refatore cedo, refatore sempre

Page 96: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Código Que Seja Fácil de Testar

Page 97: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Testando as Unidades

Page 98: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Devemos ter o hábito de testar

unitariamente nosso software

(procure o xUnit da sua linguagem favorita)

Page 99: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Testando a Integração entre os

Componentes

Page 100: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Teste seu software ou seus usuários testarão

Page 101: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 102: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programadores Profissionais

Escrevem Testes, Ponto Final

http://blog.fragmental.com.br/2007/10/31/programadores-profissionais-escrevem-testes-ponto-final/

Page 103: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Existem várias camadas de teste.

Aprenda para saber quais são

necessárias para seu problema

Page 104: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 105: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Projete para testar

Page 106: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Assistentes do Mal

Page 107: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Não use um código de

assistente que você não entender

Page 108: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Antes do Projeto

Page 109: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

O Abismo dos Requisitos

Page 110: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 111: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

RUP você pega toda a documentação no

início.

Page 112: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

RUP você pega toda a documentação no início.

Agile você não documenta nada.

Page 113: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

RUP você pega toda a documentação no início.Agile você não documenta nada.

Será mesmo!?

Page 114: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

P.: RUP você pega toda a documentação no início?

R.: Isso é cascata!

P.: Agile você não documenta nada.

R.: Não há isso em lugar nenhum!

Page 115: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Trabalhe com usuário para

pensar como um usuário

Page 116: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 117: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 118: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Abstração tem vida mais longa do que detalhes

Page 119: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Projetos Pragmáticos

Page 120: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Uma visão geral de como ser

Pragmático

Page 121: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Uma visão geral de como ser uma

equipe Pragmático

Page 122: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Sem janelas quebradas

Page 123: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Comunique-se

Page 124: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Não se repita

Page 125: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Automação

Page 126: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Saiba quando parar de adicionar retoques

Page 127: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Teste!

O melhor amigo do Programador

Page 128: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 129: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Pratique!Pratique!

Page 130: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

RUP, XP, Scrum,

Kanban e etc...

Page 131: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

DOJOSDOJOS

Page 132: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 133: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Page 134: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Dica :)

Sapos cozidos

Page 135: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Programe!Programe!Programe!

Page 136: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Pra quem só tem martelo todo

problema é um prego!

Page 137: Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013

Profissão Programador: Práticas para

Melhoria Contínua

Semana de Tecnologia FATEC Rubens Lara (Santos) - Outubro 2013

Agatha LisboaGabriel Rubens

[email protected] / @gabrielrubenss