Upload
marco-baccaro
View
181
Download
0
Embed Size (px)
DESCRIPTION
Material utilizado no workshop de tecnologia EAT.
Citation preview
Não existe agilidade
sem design ágil.
Sucessful
32%
Challenged
44%
Failed
24%
Chaos Report 2012 Fatores de sucesso nos projetos
1. Envolvimento do usuário 15.9%
2. Suporte gerencial executivo 13.9%
3. Clareza dos requisitos 13.0%
4. Planejamento adequado 9.6%
5. Expectativas realistas 8.2%
6. Pequenos marcos do projeto 7.7%
7. Equipe competentes 7.2%
8. Propriedade 5.3%
9. Clareza e objetividade 2.9%
10. Dedicação e equipe focada 13.9%
11. Outros 13.9%
Sempre 7%
Frequentemente
13%
Frequentemente
16%
Raramente 19%
Nunca
45%
Uso das funcionalidades
Sempre
Frequentemente +
Frequentemente
Raramente
Nunca
Cone da incerteza
O que acontece quandoentregamos e validamos com o cliente o que foi especificado?
valores princípios
Waterfall
RUP
Scrum
Kanban
estagiado
integradas
revisão e melhorias
Pessoas não resistem mudar, resistem ser mudadas.
Peter Senge.
Semelhante não é igual.
Censurado!
Ter idéias de valor não é trivial.
Colocar o cliente dentro do taxi é importante!
Faça o cliente e stakeholders jogarem com você.
O importante é o ganha-ganha. Cliente ganha e empresa ganha. Se um dos lados não ganhar vai dar errado!
User stories é uma lista de desejos de valor para o cliente. Expressada no formato, “Eu como XXXX, quero/desejo que XXX para que XXX. Os detalhes que compõe os passos e os itens para a conclusão de uma user story são chamados de critérios de aceitação.
Meta do sprint
Pontuação de esforço
Duração da timebox
Total de horas previstas das atividades
Testes automatizados no Test Manager, onde os casos de teste são vinculados a user story.
Um dos relatórios utilizados para visibilidade coletiva do progresso do sprint mediante o meta.
Não existe refactoring, apenas rework.
Se tiver funcionando, não rela a mão.
Teste é para os fracos.
Quanto mais XGH você faz, mais precisará fazer.
Existem 3 formas de se resolver um problema, a
correta, a errada e a XGH, que é igual à errada,
só que mais rápida.
Seja autêntico, XGH não respeita padrões.
Escreva o código como você bem entender, se
resolver o problema, commit e era isso.
Usuário final
Controle de qualidade
Desenvolvimento
Implantação
Assegurar
qualidade.
Manter código limpo,
simples e testável.
Prover documentação para membros
técnicos.
Repetir testes - Regressão Preparados para mudar rapidamente.
Adicionar um teste
rapidamente
Rodar todos os
testes e ver o
mais nova
falhando
Fazer uma
pequena
mudança
Rodar todos os
testes e ver
todos
funcionando
Refatorar para
remover
duplicações
Não sei como testar
Vai demorar muito
mais.
Isso não dá para
testar
A funcionalidade é
muito fácil.
Melhor deixar
testes com os
testadores
A verdade é que: Você não tem tempo para criar teste unitário porque gasta tempo demais
depurando!
ATDD é o ato de se definir testes de
aceitação colaborativa no reflexão de
requisitos de negócio, resultando numa
melhor compreensão dos objetivos de
uma estória.
Os testes em ATDD nos forçam a chegar
a um ponto de acordo concreto sobre o
exato comportamento que se espera
que o software deva ter.
• Criar uma conta com uma senha
• Efetuar o login com um nome de usuário válido e
senha
• O que deve acontecer se um usuário informar uma senha insegura?
• Você pode nos dar exemplos de senhas que você considera seguras e inseguras?
• Quais são exatamente os símbolos?
• E quanto a espaços?
• E o que fazer com relação a palavras de dicionário com substituições óbvias que atendam
• aos critérios mais ainda possam ser inseguras, como 'p@ssw0rd'?”
• E quanto a contas já existentes?
• Quando você vai considerar que esta funcionalidade está 'funcionando'?
• O que deve acontecer se um usuário informar uma senha insegura?
• Você pode nos dar exemplos de senhas que você considera seguras e inseguras?
• Quais são exatamente os símbolos?
• E quanto a espaços?
• E o que fazer com relação a palavras de dicionário com substituições óbvias que atendam
• aos critérios mais ainda possam ser inseguras, como 'p@ssw0rd'?”
• E quanto a contas já existentes?
• Quando você vai considerar que esta funcionalidade está 'funcionando'?
• Criar uma conta com uma senha
• Efetuar o login com um nome de usuário válido e
senha
test_valid_returns_true_when_all_conventions_met
test_valid_returns_false_when_password_less_than_6_chars
test_valid_returns_false_when_password_missing_symbol
test_valid_returns_false_when_password_missing_letter
test_valid_returns_false_when_password_missing_number
Itens devolvidos devem retornar para o estoque
que um cliente compra um jumper preto
eu tenho três jumper pretos no estoque
ele retorna com o jumper preto para reembolso
eu devo ter quatro jumpers pretos no estoque
Itens substituídos devem ser retornados ao estoque
que uma cliente compra um vestido azul
eu tenho dois vestidos azuis no estoque
eu tenho três vestidos pretos no estoque
ela retorna com o vestido para uma troca por um preto
eu devo ter três vestidos azuis no estoque
dois vestidos pretos no estoque
Promove um conjunto de processos e métodos para pensar sobre comunicação e colaboração entre departamentos
Cultura
Colaboração
Fim das divisões
Relação saudável entre as áreas
Mudança de comportamento
Automação
Deploy
Controle
Monitoração
Gerência de configuração
Avaliação
Métricas
Medições
Performance
Logs e integração
Compartilhamento
O feedback é tudo
Boa comunicação entre a equipe
REQUIREMENTS
PRODUCTBACKLOG
OPSBACKLOG
MonitorSprint
WORKING SOFTWARE
Ideas
Priorities
Code & Tests
Testing
Live Site
User Experience
Operational Acceptance (Production)
User Acceptance Testing
System, Performance, Other -ility Testing
Integration Testing
Continuous Integration *
Check-In *
Developer Tests Pass
Compile and Link
IntelliSense
Custo
do
erro
Destaque para execução dos testes unitários no momento do build e a evidência da quebra.