Quem nunca ouviu, "mas é só mais campinho na tela?". Nesta palestra compartilharemos com vocês como estamos conscientizando a equipe e os demais setores da empresa da importância de avaliar o impacto de alterações nos sistemas, mesmo que sendo apenas uma linha de código. Iremos apresentar os aprendizados, desafios e erros que já enfrentamos nestes 12 meses de uso e evolução do processo de desenvolvimento na HostGator America Latina com fases/atividades mais bem definidas e a importância de perpetuar esta visão para os demais setores da empresa. Além disso, apresentar sobre o presente, o crescimento e o futuro desta nova cultura voltada a usabilidade, qualidade, escala e segurança.
Entregar software que atenda as objetivos do negócio, em pouco tempo e com um alto padrão de qualidade ainda é um desafio para muitas empresas já que processos de desenvolvimento são muitas vezes burocráticos Nessa palestra vamos mostrar como estamos implementando Entrega Contínua na Infoglobo. Serão abordados os seguintes temas:Introdução à Entrega Contínua de software - Pipeline de Entrega - Estágio de Commit - Deploys nos ambientes de teste - Smoke Tests -Testes de Performance Automatizados - Análise de Log - Promoção dos pacotes para cada ambiente - Testes Regressivos (Automatizados/Manuais) - Deploy em Produção - Desafios Culturais -Próximos Passos
[Palestra do TDC - POA 2016] casperJS - Um novo amigo para automatizar teste funcionais, ajudando a melhorar nossas entregas.
código em:
https://github.com/RFigueira/casper-tdc
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Trends
Apresentação / Demonstração da importância da automação dos testes para uma melhor eficiência do processo de DevOps. Vamos apresentar uma solução para incorporar automação dos testes ao desenvolvimento ágil (SCRUM) de forma a obter melhores resultados do DevOps.
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceRaphael Paiva
Apresentado no Scrum Gathering Rio 2015.
Nesta apresentação falo sobre os princípios de Continuous Delivery e como implementar um release pipeline apenas com ferramentas gratuitas e de código aberto, como Docker, Fabric e Jenkins.
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
Para muita gente teste exploratório é sinônimo de algo sem processo nem organização – apenas um pretexto para sair navegando pela aplicação e tentar achar algum erro. Nada mais longe da verdade! Venha ver nesta palestra como um simples plugin no Chrome pode ajudar a organizar seu processo de testes exploratórios, ajudando na coleta e registro de evidências.
Palestra apresentada no GDG São Luís Conf em 2016 na Instituição Devry. Além do conteúdo teórico, foi demonstrado de forma prática como utilizar o jenkins para automatização do processo de desenvolvimento de software.
Entregar software que atenda as objetivos do negócio, em pouco tempo e com um alto padrão de qualidade ainda é um desafio para muitas empresas já que processos de desenvolvimento são muitas vezes burocráticos Nessa palestra vamos mostrar como estamos implementando Entrega Contínua na Infoglobo. Serão abordados os seguintes temas:Introdução à Entrega Contínua de software - Pipeline de Entrega - Estágio de Commit - Deploys nos ambientes de teste - Smoke Tests -Testes de Performance Automatizados - Análise de Log - Promoção dos pacotes para cada ambiente - Testes Regressivos (Automatizados/Manuais) - Deploy em Produção - Desafios Culturais -Próximos Passos
[Palestra do TDC - POA 2016] casperJS - Um novo amigo para automatizar teste funcionais, ajudando a melhorar nossas entregas.
código em:
https://github.com/RFigueira/casper-tdc
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Trends
Apresentação / Demonstração da importância da automação dos testes para uma melhor eficiência do processo de DevOps. Vamos apresentar uma solução para incorporar automação dos testes ao desenvolvimento ágil (SCRUM) de forma a obter melhores resultados do DevOps.
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceRaphael Paiva
Apresentado no Scrum Gathering Rio 2015.
Nesta apresentação falo sobre os princípios de Continuous Delivery e como implementar um release pipeline apenas com ferramentas gratuitas e de código aberto, como Docker, Fabric e Jenkins.
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
Para muita gente teste exploratório é sinônimo de algo sem processo nem organização – apenas um pretexto para sair navegando pela aplicação e tentar achar algum erro. Nada mais longe da verdade! Venha ver nesta palestra como um simples plugin no Chrome pode ajudar a organizar seu processo de testes exploratórios, ajudando na coleta e registro de evidências.
Palestra apresentada no GDG São Luís Conf em 2016 na Instituição Devry. Além do conteúdo teórico, foi demonstrado de forma prática como utilizar o jenkins para automatização do processo de desenvolvimento de software.
Como organizar as interações (humanas) entre devs e ops num contexto de entrega contínua? Em uma pesquisa com 46 pessoas, de 44 empresas, em 8 países, em meu doutorado na USP, identifiquei 4 estruturas organizacionais. Entre elas, destaca-se a que denominei de ?times de plataforma?: o time de infra passa a fornecer serviços altamente automatizados para empoderar os desenvolvedores, que por sua vez se tornam responsáveis pela operação de seus serviços. Apesar dos desafios, esse esquema contribui para um alto desempenho de entrega. Nesta palestra, você entenderá o que é um time de plataforma e suas consequências; somada à minha experiência no Serpro, discutirei essa abordagem para as empresas.
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
Visto que hoje cada vez mais os profissionais de qualidade e desenvolvimento de software trabalham em par, precisamos falar das duas áreas juntas para disseminar essa cultura. Esta apresentação aborda boas práticas importantes e utilizadas em desenvolvimento de software, falando sobre como elas são aplicadas no dia a dia das empresas.
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
Visto que hoje cada vez mais os profissionais de qualidade e desenvolvimento de software trabalham em par, precisamos falar das duas áreas juntas para disseminar essa cultura. Esta apresentação aborda boas práticas importantes e utilizadas em desenvolvimento de software, falando sobre como elas são aplicadas no dia a dia das empresas.
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Wagner Mendes Voltz Fusca
Quantos dos nossos projetos estão na web? E quanto sabemos que eles estão seguros? A OWASP é um projeto aberto que dissemina conteúdo sobre software seguro e uma das práticas é o Cornucopia que consiste num game onde os participantes identificam possíveis ataques e vulnerabilidades através de cartas pré estabelecidas. Os participantes podem ser desenvolvedores, PO, Scrum Master, entre outros. O resultado do game é uma lista de backlog de vulnerabilidades e que será validada pelos participantes e adicionado ao backlog do produto.
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
Apresentado para o Pop-ES e NPD da Ufes. Conheça o significado de DevOps e como ele pode apoiar entregas mais rápidas de software por meio da mudança de cultura, automatização entre outras...
Como organizar as interações (humanas) entre devs e ops num contexto de entrega contínua? Em uma pesquisa com 46 pessoas, de 44 empresas, em 8 países, em meu doutorado na USP, identifiquei 4 estruturas organizacionais. Entre elas, destaca-se a que denominei de ?times de plataforma?: o time de infra passa a fornecer serviços altamente automatizados para empoderar os desenvolvedores, que por sua vez se tornam responsáveis pela operação de seus serviços. Apesar dos desafios, esse esquema contribui para um alto desempenho de entrega. Nesta palestra, você entenderá o que é um time de plataforma e suas consequências; somada à minha experiência no Serpro, discutirei essa abordagem para as empresas.
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
Visto que hoje cada vez mais os profissionais de qualidade e desenvolvimento de software trabalham em par, precisamos falar das duas áreas juntas para disseminar essa cultura. Esta apresentação aborda boas práticas importantes e utilizadas em desenvolvimento de software, falando sobre como elas são aplicadas no dia a dia das empresas.
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
Visto que hoje cada vez mais os profissionais de qualidade e desenvolvimento de software trabalham em par, precisamos falar das duas áreas juntas para disseminar essa cultura. Esta apresentação aborda boas práticas importantes e utilizadas em desenvolvimento de software, falando sobre como elas são aplicadas no dia a dia das empresas.
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Wagner Mendes Voltz Fusca
Quantos dos nossos projetos estão na web? E quanto sabemos que eles estão seguros? A OWASP é um projeto aberto que dissemina conteúdo sobre software seguro e uma das práticas é o Cornucopia que consiste num game onde os participantes identificam possíveis ataques e vulnerabilidades através de cartas pré estabelecidas. Os participantes podem ser desenvolvedores, PO, Scrum Master, entre outros. O resultado do game é uma lista de backlog de vulnerabilidades e que será validada pelos participantes e adicionado ao backlog do produto.
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
Apresentado para o Pop-ES e NPD da Ufes. Conheça o significado de DevOps e como ele pode apoiar entregas mais rápidas de software por meio da mudança de cultura, automatização entre outras...
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
Veremos como uma pessoa ou time dedicado ao controle de qualidade pode trabalhar com o gerente do projeto e/ou líder técnico/arquiteto para garantir uma melhor cobertura de casos de usos e testes em múltiplos projetos, e como isso impactará a entrega final. Além disso, também precisamos ensinar os clientes que essa estratégia é importante e devemos investir dinheiro nisso cedo para evitar grandes perdas depois Já passou o momento de levarmos controle de qualidade mais a sério.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
RPA - Portfólio de Serviços iProcess com RPA uiPathEduardo Britto
Apresentação que mostra como a iProcess consegue apoiar as organizações de ponta a ponta nas suas demandas de licenciamento, modelagem, redesenho, automação e sustentação com RPA.
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
O mercado tem exigido cada vez mais rapidez nas entregas dos times de desenvolvimento, para atender as demandas de negócio e manter a competitividade. Para garantir que essas entregas aconteçam no tempo esperado e com qualidade, é muito importante investir em todos os níveis de teste automatizados. Vamos ver quais são esses níveis de teste e alguns exemplos práticos usando Python de testes unitários, integração, funcionais, performance e mutação.
Modelo Espiral de Boehm, prototipação em etapas, RUP - Rational Unified Process, Desenvolvimento Ágil, manifesto ágil, Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor, Envolvimento do cliente, Manter a simplicidade, O que é Scrum, Reunião Diária, Retrospectiva da , Planning Poker
Agilidade, automação, processos, tudo isto e muito mais está interligado no mundo do desenvolvimento de software e muitas vezes nos questionamos o nível e maturidade de agilidade em que estamos. Pensando nisso, o departamento de defesa dos EUA criou um documento que auxilia seus times em detectar o uso da metodologia ágil em seus projetos e assim validar a necessidade de mudanças ou não. Toda a avaliação é feita pelo time com uma visão direta dos usuários do sistema, desenvolvedores, gestores e lideres. Nesta palestra irei navegar pelo framework e apresentar sua aplicabilidade no dia a dia
Apresentação realizada no dia Lean Meetup, Florianópolis, no dia 24/05/2018. Foram abordados assuntos como ALM, Papel do Product Owner, do Product Manager, Ciclo de vida de produtos e como eles se relacionam.
Palestra apresentada no #TheDevConf Florianópolis 2018. Nesta palestra apresentado como o Management 3.0 tem me apoiado diretamente na implantação de desenvolvimento ágil na HostGator Brasil. A partir da organização de um time multiprojeto para Squads se construiu uma cultura de empoderamento, melhoria continua, pessoas energizadas e inspiradas focadas na entrega de valor para os clientes externos e internos. Será apresentado como foi o dia a dia na organização do time de desenvolvimento nos últimos 3 meses e a melhoria continua constante que influenciou a organização de forma que resultados positivos foram percebidos na qualidade das entregas, no comprometimento das pessoas e na inspiração das demais áreas.
Palestra apresentada no #TheDevConf Florianópolis 2018. Param muitos, desenvolver software se resume a escrever um código, compilar e disponibilizar para o usuário final. Mas e o ciclo de vida desta aplicação? Que implica em seu controle de versões, controle de requisitos, controle de bugs, qualidade de software, métricas de desenvolvimento, etc. Nesta palestra buscarei apresentar conceitos e sugestões de aplicações do ALM (Application LifeCycle Management) e do (ATLM) Automation Test LifeCycle Management na prática explorando e compartilhando os ganhos que a utilização destes ciclos podem trazer para as pessoas, times e a organização.
O objetivo é apresentar um caso real do ganho que tivemos numa equipe de desenvolvimento aplicando melhorias baseadas em management 3.0.
Este é o resultado prático da aplicação de melhorias, numa equipe de desenvolvimento, baseadas em management 3.0. Aqui é apresentado como abordamos cada uma das 6 visões do management 3.0, como energização das pessoas, empoderamento dos times, alinhamento das restrições, desenvolvimento de competências, crescimento das estruturas e na busca por melhorar o todo, sempre buscando a evolução das pessoas, times e do ambiente de trabalho.
Apresentação dos ganhos obtidos através da implantação do deploy automatizado de aplicações nos ambientes de desenvolvimento e de produção na NeoGrid.
Isto nos permitiu deixar de publicar em horas para publicar em minutos, além da garantia de feedbacks rápidos e assertivos ao final de cada processo. Em todo este processo utilizamos conceitos de integração contínua e ferramentas como Bamboo e Liquibase.
Deixando de publicar em horas para publicar em minutos
E so mais um campinho na tela
1. É só mais um
Vandré M. Ramos
Software Development Manager
Lucas Rosa
Software Development Team Lead
campinho na tela!
2. Mestrado em
Administração (UFRGS)
Vandré M. Ramos
MBA em
gerenciamento
de projetos (FGV)
Pós-graduado em
Web Sistema de
Informação (UFRGS)
Bacharel em TI
(UEPG)
Gerente de Desenvolvimento
Casado
+ uma filha
de 8 anos
CSM e trabalhando
com agilidade há mais
de 11 anos ;)
Extra: Esposa ja foi QA e hoje é Agile Coach
3. Técnico em programação e bacharel em Ciência da
Computação pelo Instituto Federal Catarinense e
University of Prince Edward Island.
Tem 6 anos de atuação em desenvolvimento de
sistemas, incluindo experiência internacional com o
desenvolvimento de pesquisa no laboratório de
Interface humano-computador da UPEI no Canadá.
Lucas Rosa
Team Leader de Desenvolvimento
4. Especialidades
● Deploys com FTP;
● Testes unitários com consulta no banco;
● Automação de testes com BDD com testes unitários;
● Reverter versão do Google Chrome para funcionar
com versão desatualizada do Selenium WebDriver;
Lucas Rosa
Team Leader de Desenvolvimento
5. Fundada em 2002
nos USA
Há + de 10 anos
no Brasil
Parte do Grupo
EnduranceFundada em
2002 nos USA
Há 10 anos
no Brasil
Parte do grupo
Endurance
6. EUA + Índia
+ América Latina
+ 4.000
funcionários
+ 12 milhões de
domínios no mundo!
+ 5MM de
clientes ativos
29. Tarefas
● Análise do requisito
● Definir KPIs
● Criar o campo no front-end
○ Criar componente no React
○ Inserir o campo no estado do Redux
○ Implementar chamada de API
● Contratar um serviço externo de validação, vamos chamá-lo
de CEP3PO
● Criar contar de testes e de produção no CEP3PO
● Liberar IPs dos servidores de desenvolvimento, staging e
produção na API do CEP3PO e atualizar o nosso firewall
com os IPs deles.
● Criar lib de autenticação com CEP3PO
● Criar API no back-end utilizando o CEP3PO
e tem mais...
30. Tarefas
● ...
● Documentar integração, código, componentes e fluxo
● Testar e validar a funcionalidade
● Definir como funcionará o monitoramento das APIS, tanto a criada
por nós, quando a do CEP3PO
● Treinar o suporte interno com a nova funcionalidade
● Enviar comunicação para toda a empresa informando que uma
nova funcionalidade será implementada (com link para a
documentação)
● Deploy
● Configurar os sistemas de monitoramento com as novas APIs
● Acompanhar fluxo de clientes e relatórios de performance.
31. Medindo impacto de alterações
● Clientes internos
● Clientes externos
● Funcionalidades impactadas
● Regras de negócio
● Fluxo completo de testes
37. “Todo squad é responsável
pelos recursos que cria
durante o ciclo de vida do
produto e consegue
enxergar perfeitamente
onde cada recursos desses
acertou ou errou.”
40. Diferença entre feature, bugfix e
hotfix
● Feature: qualquer nova funcionalidade ou atualização
de funcionalidade existente;
● Bufgix: correção de não conformidade;
● Hotfix: qualquer alteração que precisa ser feita com
urgência;
○ Exemplo: alteração do valor mínimo de boletos
registrados.
41. Urgente, Importante ou Desejo
● Como avaliamos a urgência
● Score do incidente
● Bom senso
42. O tempo que se leva com retrabalho, correções de
última hora e bugs em produção é muito maior do
que o tempo investido na análise dos requisitos.
43. Quanto custa um bug em produção
1. Cliente encontra o bug.
2. Cliente reporta para o atendente de suporte.
3. Atendente de suporte reporta para supervisor.
4. Supervisor analisa o problema e reporta para o setor de produtos.
5. Product owner analisa o problema e reporta para os
desenvolvedores.
6. Desenvolvedor analisa o problema e replica em seu ambiente local.
7. Desenvolvedor corrige o problema e envia para teste cruzado.
8. Colega desenvolvedor efetua teste cruzado em ambiente local e
aprova a alteração.
9. Analista de qualidade testa a correção em ambiente de
homologação.
10. Desenvolvedor envia o código para aprovação.
11. Colegas aprovam (ou não) o código.
12. Desenvolvedor envia código para publicação.
13. Administrador do sistema faz o deploy do código.
Isso se tudo der certo!
44. Conclusão
● Sair da confusão e parar de entrar nela
● Entender o processo de negócio que a tecnologia ampara
● Estruturar um processo que apoie a empresa entregando valor
ao cliente
● Estruturar formas de medir o impacto de alterações
● Alinhar expectativas
● Investir em automação de testes
● Respirar antes de “commitar”
45. Do you want it fast
or
do you want it to last?