Na semana passada, de 18 a 22/07, aconteceu o The Developer’s Conference (TDC) em São Paulo. Um mega evento com diversas trilhas dentro e a galera da Bluesoft não poderia ficar de fora. Veja algumas coisas que aprendemos.


Trilha de Testes

Como você testa seu software?

Nesta edição tivemos o orgulho de ter um representante da Bluesoft na trilha de Testes.
Ismael Soares, falou sobre 9 Lições e aprendizados que tivemos com testes aqui na Bluesoft. São elas:

1. Cuidado com a cilada do quanto mais abrangente o teste melhor. Na prática, para cada comportamento a ser testado tem tipo de teste mais adequado;
2. Não atribua a qualidade apenas ao testador, pois qualidade está em todas as etapas do desenvolvimento;
3. Não deixe os testes para o final, pratique TDD;
4. Incentive os desenvolvedores a testar;
5. Não se limite apenas aos cenários de testes previamente definidos. O objetivo é resolver o problema com qualidade e não seguir um roteiro de teste;
6. Trate o seu código de teste como de produção;
7. Defina padrões para reportar bugs encontrados durante o desenvolvimento;
8. Não tente automatizar tudo. Por melhor que sejam os testes, nada vai substituir a criatividade do usuário;
9. Não conviva com testes instáveis. Se forem importantes, resolva-os senão apague-os.

Gostou? Veja os slides.

Acredite, você pode agilizar feedbacks aplicando Dev Box Testing

Nesta palestra, Ariane Ferreira Izac nos apresentou uma prática chama Dev Box Testing.
Em sua apresentação, Ariane demonstrou como uma simples prática no processo de entrega de uma tarefa, pode economizar tempo e garantir melhor fluidez entre Dev e Qa.

A prática consiste em um pareamento entre o Dev o Qa, assim que o código estiver pronto para ser commitado. O Qa irá verificar diretamente no computador do Dev os pontos básicos da tarefa e realizar um teste rápido, validando possíveis bugs básicos que seriam testados posteriormente no processo de To Test.
Desta forma, como dito anteriormente, com uma simples prática, evitamos que o tempo do processo de Revisão dos Devs e a espera por um pull request seja economizado.

Testes Mobile com Appium, Cucumber e Ruby

Na palestra de Nàtali Cabral, foi apresentado sobre testes mobile com Appium, Cucumber e Ruby, nos demonstrando o uso do framework que é uma estrutura de automação de teste de código aberto para uso com aplicativos da Web nativos, híbridos e móveis. O Appium serve para aplicações iOS, Android e Windows usando o protocolo WebDriver. Este framework poderá ser utilizado para automação dos aplicativos mobile da Bluesoft, como o App de Venda Online, Força de Vendas e Consulta de Produtos.

Arquitetura básica de testes para seu projeto Java

Nessa palestra, Elias Nogueira toca em um assunto muito importante na arquitetura java. Já tínhamos assistido outras palestras falando sobre novas tecnologias, projetos inovadores, arquiteturas usadas para solucionar diversos problemas, e nessa palestra ele nos mostrou a importância da arquitetura de testes em um software, que às vezes é deixado de lado e não se tal importância.

Vimos que é necessário para uma boa arquitetura de testes ter um planejamento dos tipos de testes para sua aplicação, ter entendimento dos tipos de testes, testes e execução de testes das tarefas, testes funcionais e não funcionais e devemos pensar e se preocupar com isso quando estamos montando nossa arquitetura para o projeto.

Fora isso também nos foi orientado a montar um pipeline para nossa arquitetura de acordo com o nosso projeto. Ele nos deu um exemplo:

Testes unitários >> Testes integração >> Testes serviços >> Testes funcionais >> Testes aceitação. Podendo ser monitorado com Screenshots, Logs, Relatórios, Gerenciamentos de Dados e Parametrizações.

Slides


Trilha de Agile

RH Ágil – Práticas ágeis no Recrutamento e Seleção

Um case apresentado por André Suman e Tatiana de Araujo da Mattera mostrando com eles colocaram práticas de ágeis no departamento de RH. A principal dificuldade que eles tinham era no recrutamento e seleção de candidatos. Usando práticas já bem conhecidas do mundo ágil, como: retrospectiva, reunião diária, feedbacks, eliminar desperdícios, etc., eles melhoraram a visibilidade, transparência, cooperação além de evidenciar as falhas de um processo de contratação.

Os palestrantes deixaram claro que não conseguiram evidenciar através de números, a melhora na velocidade das contratações, entretanto, percebeu-se uma melhora drástica no processo do RH, o que já é uma grande vantagem.

Gostou da idéia? Veja os slides da palestra.

Um código de conduta para o desenvolvedor

Wagner Mendes Voltz é Agile Coach na DB1 e apresentou um “guia” ou “código de conduta” (como ele gosta de chamar) para os desenvolvedores, baseado no famoso livro do Uncle Bob: Clean Code. Este código de conduta é uma série de boas práticas para guiar os novos desenvolvedores e padronizar o que os mais experientes estão fazendo.

Wagner também falou sobre uma técnica de mediação de conflitos de interesses que ele chamou de Tentação. Uma alusão ao antigo programa do SBT onde o Silvio Santos fazia uma pergunta e as pessoas tinham que escolher uma resposta entrando em uma enorme porta.

Veja os slides aqui.

Pares de Policiais para segurança. Pares de Programadores para qualidade.

Nesta palestra, Herez Moise Kattan, falou sobre as vantagens da programação em par. Mostrou vários estudos que provam que esta prática melhora: qualidade do código, motivação, satisfação, foco e reduz a chance de bugs. Além disto, ele também apresentou a prática de Pair Coaching, que aqui na Bluesoft chamamos de Mentory. A idéia desta prática é um desenvolvedor mais experiente parear com um menos experiente, alinhando assim o conhecimento.

Um estilo até comum de programação pareada é 2 desenvolvedores trabalharem na mesma história mas cada um fazendo uma parte no seu computador. Depois um testa o do outro. Outra dica bacana é quando um dos pares já tiver a solução do problema na cabeça o outro é que começa. Isto vai forçar a hipótese ser validada antes de ser codificada. Vale a pena ver com mais detalhe os estudos científicos mencionados na palestra e ver como Pair Programming ou Pair Coaching podem ajudar seu time.

Veja os slides aqui.

Radar de Práticas: como avaliar métodos ágeis em uma organização

Apresentada por Anderson Diniz Hummel, uma palestra diferente onde os ouvintes tiveram que ficar de pé e interagirem entre si. A idéia do Anderson foi provocar nas pessoas a discussão sobre como ter certeza que estamos sendo ágeis e também trocar experiências. O Anderson e o Edson Souza, estão trabalhando em projeto que visa ajudar as empresas a medir a evolução das práticas ágeis. Para isso eles usaram um conceito conhecido como Shuhari ou Shu-ha-ri.

* Shu ou Obedecer (Iniciante): Esse é o momento em que o aprendiz precisa ser humilde e robótico, e obedecer quais são os principais pontos que devem ser seguidos (também conhecidos como regras). Nesse momento ele precisa repetir o que o mestre diz sem utilizar muito do pensamento durante o processo.
* Ha ou Desviar (Praticante): Nesse segundo momento, o aluno passa a quebrar pouco a pouco as regras anteriores, ainda com o resultado final em mente. É o momento que a teoria e o conhecimento passam a desafiar as técnicas, e os princípios passam a ser o diferencial para a evolução do conhecimento.
* Ri ou Separar (Expert): Agora não existem mais técnicas, princípios ou conhecimento útil que não venha de fora da mente. A partir de agora, as atividades são executadas de forma natural, a evolução dos processos e do conhecimento surgem do indivíduo e não de livros ou blog posts.

Agora é só medir em que nível está cada uma das suas práticas ágeis. Interessante? Clique aqui e veja um modelo. Slides da palestra.

Tabela Periódica das Retrospectivas

Cristiano Silveira Basso falou sobre as 5 etapas de uma retrospectivas: Abertura, Coleta de Dados, Gerar Insights, Decidir ações e Encerramento.

Em seguida, ele apresentou uma tabela no formato da Tabela Periódica com várias sugestões (resultado de suas experiência com agile coach) para cada uma das 5 etapas apresentadas anteriormente. Vale muito a pena conferir as dicas.


Trilha Internet das Coisas

As palestras sobre IOT foram bem abrangentes, delas podemos destacar os seguintes pontos:

* Segurança: Um item crítico que deve ser considerado antes de iniciar um projeto do gênero. Sempre devemos utilizar criptografia e políticas rígidas de segurança. Um caso que demonstra bem o tamanho da dor de cabeça que isso pode gerar foi o da boneca alemã Cayla. Uma boneca falante que foi proibida pelas autoridades alemãs porque o software dentro dela pode ser alvo de hackers, criando um risco de segurança e permitindo que dados pessoais sejam revelados.
* Prototipação: Criar um produto “IOT” hoje é extremamente caro, principalmente se tratando do Brasil. A melhor forma de conseguir evoluir com essas dificuldades e através de protótipos. Porém é importante manter em mente que os recursos utilizados para prototipação, na maioria dos casos não é adequado para o produto de produção. É necessário levar isto em conta pois certos recursos (principalmente hardware) muitas vezes não são nem mesmo encontrados para venda em grande escala e isso pode gerar mudanças drásticas no seu projeto.
* Android Things: O antigo Brillo está sendo renovado e apesar de não ser um sistema novo, o Google vem trabalhando ativamente nessa “nova” plataforma. Promete ser um sistema robusto e muito atrativa por funcionar no mesmo ecosistemas que já conhecemos do Android. Atualmente esta na versão Preview, mas vamos aguardar novidades.

Essas são somente algumas palestras e conteúdos que TDC trouxe para São Paulo. Esperamos que você tenha gostado da nossa curadoria e estamos ansiosos pelo próximo TDC em 2018.

Autor

Ismael Soares é Gerente de Engenharia de Software na Bluesoft em São Paulo. É formado em banco de dados pela Faculdade Impacta de Tecnologia e possui mais de 14 anos com experiências em análise e desenvolvimento de sistemas. Já trabalhou com diversas tecnologias, entre elas: VB6, ASP, PHP, C#.NET, VB.NET, ASP.NET, PL/SQL, T-SQL, Groovy, Ruby e Java. Já participou de diversos projetos com banco de dados entre eles: Oracle, MSSQL Server, MySQL e Postgree.

Deixe aqui o seu comentário