workshop scrum developer
Post on 17-Dec-2014
216 Views
Preview:
DESCRIPTION
TRANSCRIPT
Direitos reservados
www.bsitecnologia.com.br
Workshop
Desenvolvedor Ágil
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
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.
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
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
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosAbstração
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosClasses e Objetos
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosObjetos na memória
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosObjetos na memória
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosEncapsulamento
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosEncapsulamento
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosHerança
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosHerança
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosComposição
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosPolimorfismo
Direitos reservados
www.bsitecnologia.com.br
Orientação a objetosPolimorfismo
Direitos reservados
www.bsitecnologia.com.br
SOLIDGeral
Direitos reservados
www.bsitecnologia.com.br
SOLIDSingle Responsibility
Direitos reservados
www.bsitecnologia.com.br
SOLIDOpen/Closed
Direitos reservados
www.bsitecnologia.com.br
SOLIDLiskov Substituition
Direitos reservados
www.bsitecnologia.com.br
SOLIDInterface Segregation
Direitos reservados
www.bsitecnologia.com.br
SOLIDDependency Inversion
Direitos reservados
www.bsitecnologia.com.br
CódigoLivros
Direitos reservados
www.bsitecnologia.com.br
PatternsGoF
Direitos reservados
www.bsitecnologia.com.br
PatternsGoF
Direitos reservados
www.bsitecnologia.com.br
PatternsGoF (Factory Method)
Direitos reservados
www.bsitecnologia.com.br
PatternsPOSA
Direitos reservados
www.bsitecnologia.com.br
Atributos de qualidadeRequisitos não funcionais
Direitos reservados
www.bsitecnologia.com.br
PatternsPoEAA
Direitos reservados
www.bsitecnologia.com.br
PatternsPoEAA (Active Record)
Direitos reservados
www.bsitecnologia.com.br
DDDLivros
Direitos reservados
www.bsitecnologia.com.br
DDDCamadas
Direitos reservados
www.bsitecnologia.com.br
DDDCamadas
Direitos reservados
www.bsitecnologia.com.br
DDDExemplo
https://code.google.com/p/ndddsample/
Direitos reservados
www.bsitecnologia.com.br
SQLPlano de execução
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
Direitos reservados
www.bsitecnologia.com.br
AgilidadeO que é ser ágil?
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
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.
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.
Direitos reservados
www.bsitecnologia.com.br
AgilidadeLivro
Direitos reservados
www.bsitecnologia.com.br
ScrumGeral
Direitos reservados
www.bsitecnologia.com.br
ScrumDisfunções e Scrum Flaccid
Direitos reservados
www.bsitecnologia.com.br
ScrumLivros
Direitos reservados
www.bsitecnologia.com.br
XPGeral
Direitos reservados
www.bsitecnologia.com.br
XPPráticas
Direitos reservados
www.bsitecnologia.com.br
XPLivro
Direitos reservados
www.bsitecnologia.com.br
TDDFluxo
Direitos reservados
www.bsitecnologia.com.br
TDDFluxo
Direitos reservados
www.bsitecnologia.com.br
TDDTeste
Direitos reservados
www.bsitecnologia.com.br
TDDMock
Direitos reservados
www.bsitecnologia.com.br
TDDLivros
Direitos reservados
www.bsitecnologia.com.br
TestesTipos
• Testes unitários• Testes de integração• Testes de sistema• Testes de aceitação
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoCheckout
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoCheckin
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoLock
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoBranchs e Merges
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoBranchs e Merges
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoBranch
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoLabel
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoShelve
Direitos reservados
www.bsitecnologia.com.br
Controle de versãoUnshelve
Direitos reservados
www.bsitecnologia.com.br
Controle de versão
Direitos reservados
www.bsitecnologia.com.br
Integração Contínua
Direitos reservados
www.bsitecnologia.com.br
Integração Contínua
Tipos de Builds:
1. CI (Continuous Integration)2. CD (Continuous Delivery)3. Nightly Build
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
Direitos reservados
www.bsitecnologia.com.br
Integração ContínuaLivros
Direitos reservados
www.bsitecnologia.com.br
Bug Report
Direitos reservados
www.bsitecnologia.com.br
ComportamentalLivros
Direitos reservados
www.bsitecnologia.com.br
ComportamentalLivros
Direitos reservados
www.bsitecnologia.com.br
Dúvidas?
top related