71
Direitos reservados www.bsitecnologia.com.br Workshop Desenvolvedor Ágil

Workshop Scrum Developer

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Workshop

Desenvolvedor Ágil

Page 2: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Objetivo

• Identificação de características desejadas no Perfil Profissional

• Visão geral aos conceitos técnicos e ‘caminho das pedras’

• Busca de Melhoria Contínua

• Oportunidade de aprendizado e desenvolvimento pessoal

Page 3: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Perfil Comportamental

• Conhecer o manifesto ágil e ter aderência aos valores• Saber trabalhar em equipe• Boa habilidade de comunicação• Automotivação e autogerenciamento• Aprendizado contínuo e interesse por manter-se atualizado em novas

tecnologias• Saber separar críticas ao código de críticas à pessoa• Habilidade em se adaptar a situações imprevistas• Facilidade para receber demanda sem necessidade de documentação

descritiva• Postura de adaptação à mudança e não resistência à mudança• Saber discutir soluções em conjunto. Não pode ser do tipo que acha

somente suas soluções são boas e a sua forma de resolver problema é a única válida.

Page 4: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Perfil Técnico

• Orientação a objetos– Pilares da OO– Princípios do SOLID.– Design patterns (GoF e Fowler PoEAA).– DDD (Domain Driven Design)– Projeto (Design)

• SQL• XP • TDD• Integração contínua• Ferramenta de controle de versão• Política de gestão de versões• Issue tracker

Page 5: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Perfil Técnico (Auto-avaliação)

• Orientação a objetos– Pilares de OO– Princípios do SOLID.– Design patterns (GoF e Fowler PoEAA).– DDD (Domain Driven Design)*– Projeto (Design)

• SQL• XP • TDD• Integração contínua*• Ferramenta de controle de versão• Política de gestão de versões• Issue tracker

Page 6: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosAbstração

Page 7: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosClasses e Objetos

Page 8: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosObjetos na memória

Page 9: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosObjetos na memória

Page 10: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosEncapsulamento

Page 11: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosEncapsulamento

Page 12: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosHerança

Page 13: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosHerança

Page 14: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosComposição

Page 15: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosPolimorfismo

Page 16: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Orientação a objetosPolimorfismo

Page 17: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SOLIDGeral

Page 18: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SOLIDSingle Responsibility

Page 19: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SOLIDOpen/Closed

Page 20: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SOLIDLiskov Substituition

Page 21: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SOLIDInterface Segregation

Page 22: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SOLIDDependency Inversion

Page 23: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

CódigoLivros

Page 24: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

PatternsGoF

Page 25: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

PatternsGoF

Page 26: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

PatternsGoF (Factory Method)

Page 27: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

PatternsPOSA

Page 28: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Atributos de qualidadeRequisitos não funcionais

Page 29: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

PatternsPoEAA

Page 30: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

PatternsPoEAA (Active Record)

Page 31: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

DDDLivros

Page 32: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

DDDCamadas

Page 33: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

DDDCamadas

Page 34: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

DDDExemplo

https://code.google.com/p/ndddsample/

Page 35: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SQLPlano de execução

Page 36: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

SQLDicas

1. A consulta SQL torna-se mais rápida se você usar o nome das colunas no SELECT invés de ‘*’

2. Use os operadores EXISTS, IN e joins de maneira correta na sua query

3. Use a chave completa nos joins e nas clausulas WHERE4. Evitar o ORDER BY, GROUP BY, DISTINCT e HAVING5. Use os índices em suas consultas6. Evitar funções em chaves e índices7. Produção e desenvolvimento são bem diferentes8. Conheça bem o modelo de dados9. Usar stored procedures

Page 37: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

AgilidadeO que é ser ágil?

Page 38: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

AgilidadeManifesto

Indivíduos e interação entre eles mais que processos e ferramentasSoftware em funcionamento mais que documentação abrangente

Colaboração com o cliente mais que negociação de contratosResponder a mudanças mais que seguir um plano

Page 39: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Agilidade12 Princípios ágeis

1. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.

2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.

3. Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos.

4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diáriamente, durante todo o curso do projeto.

5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.

6. O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.

Page 40: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Agilidade12 Princípios ágeis

7. Software funcional é a medida primária de progresso.8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores,

desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.

9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade.10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou

ser feito.11. As melhores arquiteturas, requisitos e designs emergem de times auto-

organizáveis.12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se

ajustam e otimizam seu comportamento de acordo.

Page 41: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

AgilidadeLivro

Page 42: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

ScrumGeral

Page 43: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

ScrumDisfunções e Scrum Flaccid

Page 44: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

ScrumLivros

Page 45: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

XPGeral

Page 46: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

XPPráticas

Page 47: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

XPLivro

Page 48: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

TDDFluxo

Page 49: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

TDDFluxo

Page 50: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

TDDTeste

Page 51: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

TDDMock

Page 52: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

TDDLivros

Page 53: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

TestesTipos

• Testes unitários• Testes de integração• Testes de sistema• Testes de aceitação

Page 54: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoCheckout

Page 55: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoCheckin

Page 56: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoLock

Page 57: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoBranchs e Merges

Page 58: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoBranchs e Merges

Page 59: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoBranch

Page 60: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoLabel

Page 61: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoShelve

Page 62: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versãoUnshelve

Page 63: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Controle de versão

Page 64: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Integração Contínua

Page 65: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Integração Contínua

Tipos de Builds:

1. CI (Continuous Integration)2. CD (Continuous Delivery)3. Nightly Build

Page 66: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Integração Contínua

Passos de Build:

1. Análise estática de código2. Compilação3. Testes automatizados4. Cobertura de código5. Testes de integração 6. Testes de aceitação7. Testes de atributos de qualidade8. Implantação do banco de dados9. Implantação da aplicação10.Aplicar uma label ou criar uma branch

Page 67: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Integração ContínuaLivros

Page 68: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Bug Report

Page 69: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

ComportamentalLivros

Page 70: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

ComportamentalLivros

Page 71: Workshop Scrum Developer

Direitos reservados

www.bsitecnologia.com.br

Dúvidas?