Upgrade to Pro — share decks privately, control downloads, hide ads and more …

javascript de ponta a pont

javascript de ponta a pont

Case de projeto de trabalhar com javascript entre frontend, backend e QA e qual é a relação entre a relação do projeto e o time.

Kirmayr Tomaz

October 19, 2017
Tweet

More Decks by Kirmayr Tomaz

Other Decks in Education

Transcript

  1. Sobre mim Kirmayr Tomaz • De Manaus/AM • Bacharel em

    Sistemas de Informação - UFAM • Organizador do Femug-AM • Mentor no Traning Center @kirmayrtomaz [email protected]
  2. Motivação • Experiência do meu dia a dia no projeto

    • Oportunidade de trabalhar com javascript de ponta a ponta • Oportunidade de aprender sobre as diversas áreas • Trazer mais interação entre as pessoas • Fazer com o time fique no círculo de segurança
  3. Back-end • Node.js 6.10 LTS • Lint Standard • Express

    • Não utilizamos transpiler • Documentação Swagger • Cobertura de código - istanbul • Log - Wiston • Validação de Contrato - Joi • Teste unitário ◦ Mocha ◦ Sinon ◦ ProxyQuire ◦ MockDate
  4. Back-end • Banco SQL ◦ Oracle ◦ Mysql • Bancos

    NoSQL ◦ Redis(cache) ◦ ElasticSearch • Docker • Wiremock • ELK • Kinesis • Lambda • E outros
  5. Front-end • Angular 1.5 • BootStrap • Lint Standard •

    SASS • Webpack • Babel • Teste unitário ◦ Karma ◦ Chai ◦ MockDate • Mock API - Apiary
  6. QA • Node 6.10 LTS • Teste End-to-End ◦ Protractor

    ◦ Cucumber • Teste de Contrato/integração ◦ Mocha ◦ Supertest ◦ Joi • Linter Standard • Serviços ◦ Zalenium ◦ Wiremock
  7. A sindrome do T-Rex • Estou bloqueado esperando a tela

    do front(QA); • Estou bloqueado esperando o Back-end(Front-end); • Eu sou o gargalo(Back-end); • O que eu tinha que fazer está feito;
  8. Outros problemas • Demora para automatizar os testes end-to-end: ◦

    Criar os id’s para facilitar na captura do DOM na execução dos casos de teste; • Problemas com falta de atualização da documentação ou mock; • Front-end espera um contrato diferente do back-end; • A criação das atividades guarda-chuva sao idênticas em todas as pontas;
  9. DoD está OK 1. Estória passou 100% nos testes (unitário)?

    2. Cobertura de testes atingiu 80%? 3. Passou análise estática do código? 4. Estória passou no teste de Contrato/Integração ? 5. Estória passou no teste end-to-end ? 6. PRs foram aprovados pelo time (BE/FE/QA)? 7. Branch/PR aprovado pelo CircleCI? 8. Atendemos todos os Critérios de Aceite? 9. Estória aprovada pelo QA? 10. Estória está de acordo com layout e fluxos? Aprovada pelo UX? 11. Estória passou por deployed (dev - AWS CS)? 12. Is Docker ready? 13. Documentação API/Swagger
  10. Pair Programming • Realização de Pair com membros do time

    de papéis diferentes; • Ajuda a entender os pontos onde são problemáticos para cada frente e onde podemos ajudar; • Ganho de aprendizado; • Facilidade ao avaliar o PR;
  11. Comunicação entre times remotos • Trocas de mensagens por canais

    de comunicação(Email, slack) demora mais de 30 minutos; • Reunião em excesso; • Bikeshedding;
  12. O time continua a falhar nas sprints • O time

    sempre entregará algo de valor • Reavaliar os esforços estórias
  13. Conclusão • Oportunidade de trabalhar num projeto com 100% de

    javascript, isso facilita com que o time possa atuar dentro das outras frentes do projeto • Todos passam a ser o dono do produto • Não é possível trocar pessoas nos papéis de imediato • Mudança de Mindset com relação aos papéis • Problemas complexos ficam para os especialistas de cada papel • Problemas com complexidade menores ficam pra todos os membros do projeto • Forma de criar empatia entre os membro do time e trazê-los para seu círculo de segurança
  14. Centro Av. Presidente Wilson, 231 - 29º andar (21) 2240-2030

    Cidade Monções Av. Nações Unidas, 11.541 - 3º andar (11) 4119-0449 Savassi Av. Getúlio Vargas, 671 Sala 800 - 8º andar (31) 3360-8900 www.concrete.com.br