Please enable JavaScript.
Coggle requires JavaScript to display documents.
PSD - Professional Scrum Developer (Extreme Programming (XP) Mais…
PSD - Professional Scrum Developer
Extreme Programming (XP)
Mais informações
Continuous Integration (CI)
VANTAGENS
Builds quebradas são detectadas rapidamente
O software geralmente se encontra buildável (apto a buildar com sucesso)
Dá para saber imediatamente como um check-in afetou a build
E SE A BUILD QUEBRAR, QUEM ARRUMA?
R.: A pessoa que quebrou a build. ¬¬
O QUE É
Uma técnica de desenvolvimento de software no qual os membros de um time de desenvolvimento integram e verificam seu trabalho constantemente, frequentemente múltiplas vezes a cada dia, para detectar erros de integração o mais rápido possível.
Architecture Spike
O que é?
Uma atividade pequena do desenvolvimento para aprender mais sobre os elementos técnicos de uma solução que foi proposta
Pair Programming (Programação Pareada)
O que é?
Dois desenvolvedores escrevendo código juntos, provendo constante feedback um ao outro (peer review).
Test Driven Development - TDD (Desenvolvimento Orientado a Testes)
BENEFÍCIOS
Promove bom design e separação de propósitos (separation of concerns)
Melhora qualidade e reduz bugs
Te faz construir uma plataforma de testes que pode ser automatizada
Acelera o processo de desenvolvimento
NÃO É
Não se trata de testar software existente antes de desenvolver qualquer software novo
Um teste escrito com TDD representa um requerimento técnico que precisa ser satisfeito.
TESTES QUE PODEM SER AUTOMATIZADOS
Unidade (Unit)
Integração (Integration)
Fumaça (Smoke)
Funcional (Functional)
Performance
Acceptance Test Driven Development - ATDD
O que é?
A prática de expressar requerimentos como testes de aceite.
Emergent Design (Design Emergente)
A arquitetura de um sistema é decidida ao longo do projeto, à medida que o entendimento vai surgindo e o time de desenvolvimento vai aprendendo mais sobre o projeto
Unit Test (Teste de Unidade)
4 características desejáveis:
O teste executa rápido
O código de cada teste é o mais pequeno possível, ao mesmo tempo em que preserva a legibilidade e entendimento do código.
Cada teste é independente de outros testes unitários.
Cada teste faz afirmações (assertions) sobre um único conceito lógico.
O QUE É?
É um teste que isola e verifica unidades individuais do código-fonte.
Refactoring (Refatoração)
Principal valor:
Melhorar legibilidade e manutenção do código
Relatórios de bugs
COMO FAZER UM BOM RELATÓRIO DE BUG
Título claro e gramática adequada
Um bug por relatório
Passos simples e fáceis de reproduzir
Comparação entre resultados esperados e resultados obtidos
A build/versão em que o bug foi encontrado
Screenshots ou outras imagens do bug em ação quando interfaces do usuário estiverem envolvidas
Scrum - Artifacts (Artefatos)
Product Backlog
Refinamento do Product Backlog
Quando que o time de desenvolvimento participa?
Acontece em qualquer momento durante a Sprint.
Para ocorrer o refinamento, as seguintes atividades ocorrerão de forma explícita ou implícita:
Análise
Design
Decomposição (Decomposition)
Presentes:
The Development Team
The Product Owner
Technical Debt (Débito Técnico)
O que é?
Termo que representa as eventuais consequências de decisões técnicas ruins
Scrum - Team (O time)
Development Team (Time de Desenvolvimento)
É responsável pela arquitetura do produto que está sendo desenvolvido com Scrum
É responsável por escrever os testes no time
Product Owner (Dono do Produto)
Scrum Master
Automated Builds
São importantes pois:
Permitem validação frequente da unidade de software que está sendo desenvolvida, garantindo que este permaneça em um potencial estado de entregável.
Dão suporte à integração contínua.
O processo de build é claramente definido e roteirizado, tornando-o fácil, consistente e fácil de repetir.
Scrum vs. Práticas técnicas
Pelo Scrum, os times de desenvolvimento com práticas técnicas excelentes provavelmente terão maior sucesso.
Code Coverage
Ferramentas de Code Coverage testam quantos porcento do nosso código está coberto por testes
Pegadinhas
SPRINT 0
Não existe nada chamado "Sprint 0" dentro do Scrum. O termo "Sprint 0" se tornou um termo comum erroneamente utilizado para descrever a planning que acontece antes da primeira sprint.
Scrum - Events (Eventos)
Daily Scrum
Quem PRECISA comparecer?
Time de desenvolvimento
Mas... por quê?
A diária é para as pessoas que estão transformando os items do Product Backlog em incremento. Somente as pessoas que estão construindo o produto PRECISAM estar na diária.