O documento discute metodologias ágeis para desenvolvimento de software, incluindo:
- Scrum é um framework ágil iterativo e incremental para gerenciamento de projetos.
- Testes automatizados são essenciais para garantir a qualidade do código em desenvolvimento ágil.
- Ferramentas como PHPUnit, SVN e wikis podem apoiar o desenvolvimento ágil em PHP.
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.
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
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.
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.
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
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.
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.
- Antipadrões de Entrega de Software;
- Princípios de Continuous Delivery
- Gerência de Configuração
- Integração Contínua
- Estratégias de Teste
- Pipeline de Implantação
- Case da Infoglobo
- Gerência de Dados
- Estratégias de Implantação
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
Nesta apresentação são colocados alguns pontos/papéis do testador em uma equipe ágil e as principais dúvidas de uma equipe quando alguém "veste o chapéu" de teste ou teremos um testador na equipe.
Levando seu SCM à outro nível com Feature FlagsAndré Paulovich
Você já passou horas realizando merges de branchs logo antes de ter que ativar algo novo em produção? Já sentiu receio de fazer uma ativação em produção e queria ter uma maneira simples de ter um "fall back" em caso de identificar um problema? Acredite, já existem maneiras mais modernas de controlar seu SCM (Source Control Management). Com uma estratégia de Trunk Based aliada à ferramentas de Feature Flags, também chamados de toggles, você pode manter uma integração contínua de verdade e ainda ganhar a possibilidade de testes A/B, soft-launchs e muito mais.
Albert Tanure - Projeto Exemplo
https://github.com/codefc/vssummit-sp-2019
A metodologia Lean, desenvolvida no Japão, gerou o sistema Toyota de produção (TPS) que também pode é conhecido como Lean Manufacturing. Surgiu logo após a Segunda Guerra mundial. O objetivo de detecção e eliminação de desperdícios pode ser considerado como a grande contribuição do Lean em termos de processos.
Alcançando qualidade de software através de entrega contínuaSamanta Cicilia
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. Processos de desenvolvimento são muitas vezes burocráticos. O desenvolvimento ágil veio para nos mostrar que a forma que pensávamos em software podia ser melhorada. A Entrega Contínua veio para potencializar a entrega desde a primeira linha de código até produção. 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
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.
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.
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.
- Antipadrões de Entrega de Software;
- Princípios de Continuous Delivery
- Gerência de Configuração
- Integração Contínua
- Estratégias de Teste
- Pipeline de Implantação
- Case da Infoglobo
- Gerência de Dados
- Estratégias de Implantação
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
Nesta apresentação são colocados alguns pontos/papéis do testador em uma equipe ágil e as principais dúvidas de uma equipe quando alguém "veste o chapéu" de teste ou teremos um testador na equipe.
Levando seu SCM à outro nível com Feature FlagsAndré Paulovich
Você já passou horas realizando merges de branchs logo antes de ter que ativar algo novo em produção? Já sentiu receio de fazer uma ativação em produção e queria ter uma maneira simples de ter um "fall back" em caso de identificar um problema? Acredite, já existem maneiras mais modernas de controlar seu SCM (Source Control Management). Com uma estratégia de Trunk Based aliada à ferramentas de Feature Flags, também chamados de toggles, você pode manter uma integração contínua de verdade e ainda ganhar a possibilidade de testes A/B, soft-launchs e muito mais.
Albert Tanure - Projeto Exemplo
https://github.com/codefc/vssummit-sp-2019
A metodologia Lean, desenvolvida no Japão, gerou o sistema Toyota de produção (TPS) que também pode é conhecido como Lean Manufacturing. Surgiu logo após a Segunda Guerra mundial. O objetivo de detecção e eliminação de desperdícios pode ser considerado como a grande contribuição do Lean em termos de processos.
Alcançando qualidade de software através de entrega contínuaSamanta Cicilia
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. Processos de desenvolvimento são muitas vezes burocráticos. O desenvolvimento ágil veio para nos mostrar que a forma que pensávamos em software podia ser melhorada. A Entrega Contínua veio para potencializar a entrega desde a primeira linha de código até produção. 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
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.
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.
O principal objetivo do GUTS Universitário é aproximar o GUTS-RS com a comunidade acadêmica através de encontros e palestras dentro de universidades. Queremos levar temas relacionados a qualidade e testes de software para alunos de graduação com o intuito de reforçar a importância da nossa área e instigá-los a buscar respostas para os desafios enfrentados por nós como tema para trabalhos de conclusão de curso (TCC) e artigos acadêmicos. Com isso, podemos aproveitar o conhecimento acadêmico para melhorar o nosso dia-a-dia dentro das nossas empresas, equipes ou projetos.
Tem como objetivo mostrar a importância de investir na qualidade de software.
Nela terá casos onde a qualidade está diretamente ligada ao sucesso ou insucesso de um projeto de software.
Versão 2 - 2019
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
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
Com uma infinidade de opções disponíveis, qual caminho seguir? Como se tornar um desenvolvedor melhor? Em qual tecnologia se especializar? Quais tecnologias utilizar em seus projetos? “A Carreira de Desenvolvedor: Do Jr ao Sênior” apresenta uma visão pessoal do atual mercado de trabalho e das tecnologias comumente utilizadas.
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfenpfilosofiaufu
Caderno de Resumos XVIII Encontro de Pesquisa em Filosofia da UFU, IX Encontro de Pós-Graduação em Filosofia da UFU e VII Encontro de Pesquisa em Filosofia no Ensino Médio
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Livro de conscientização acerca do autismo, através de uma experiência pessoal.
O autismo não limita as pessoas. Mas o preconceito sim, ele limita a forma com que as vemos e o que achamos que elas são capazes. - Letícia Butterfield.
2. Sobre mim
Bruno Emanuel é Certificado LPI 1, Scrum Master, Novell CLA,
Java SCJP 6
- Estudante contínuo de tecnologias Orientadas a Objeto e Design
Patterns
- Consultoria em Gestão de Projetos
- Desenvolvedor Java e PHP
- Analista de Sistemas
- Adepto de tecnologias OpenSource
- Consultor de segurança e auditoria na área de TI
3. Seus Projetos
●Quantos projetos foram lançados nos
últimos 6 meses?
Quantos foram bem sucedidos?
●
Quantos foram mal sucedidos?
●
6. Metodologia de
Desenvolvimento de
Sistemas
As metodologias de desenvolvimento de
software servem para não tornar a tarefa,
complexa por natureza, um verdadeiro caos.
●A qualidade de um software não está associada
apenas ao seu funcionamento correto
●Engloba o processo:
● como desenvolver software
● executar a manutenção no software existente, e
● suprir a demanda crescente por novos softwares
●Se o processo de desenvolvimento de um produto é
ruim, sem dúvida o produto obtido é ruim.
7. Modelo em Cascata
●No modelo em cascata, o desenvolvimento de um
software se dá de forma sequencial, a partir da
atividade de verificação da viabilidade do
desenvolvimento
●Para cada etapa cumprida, segue-se a etapa
imediatamente posterior, daí a idéia de uma cascata
8. Modelo em Cascata -
Desvantagem
●A busca de requisitos só ocorre no inicio do
projeto, ou seja, quando o projeto termina, o
sistema pode estar obsoleto, ou não atende às
necessidades atuais do cliente.
●Testes são feitos só ao término do processo, o
que pode causar maior custo na entrega de um
produto viável.
9. Modelo Iterativo e
Incremental
●Segue basicamente o modelo em Cascata, porém,
quebra o processo em partes menores
● O desenvolvimento de um produto passa a ter ciclos
●Cada ciclo é composto de: Análise, Projeto,
Implementação e Testes
●Dessa forma problemas ou mudanças no projeto são
detectados/aplicados mais rápido e com menor custo
11. Definições de Pronto
• O que significa “pronto” em seu projeto atual?
• Você concorda com essa definição? Por que?
• Quais problemas de engenharia você percebe com
essa definição de “pronto”?
• Como você pode corrigir isso?
12. Uso de
funcionalidades
Nunca
Raramente
Às vezes
Frequentemente
Sempre
0,00% 5,00% 10,00% 15,00% 20,00% 25,00% 30,00% 35,00% 40,00% 45,00%
14. Metodologia Ágil
●Oferecem ao desenvolvedor total flexibilidade
●Aproxima a equipe de T.I do usuário final do software
●Homologação dos projetos é feita em etapas
●Tempos de entrega mais curtos
●Capacidade de promover alterações rapidamente.
15. Metodologia – Qual
usar?
Todos os projetos são adequados para os
●
métodos ágeis?
“No caso de sistemas maiores, como um ERP (sistema de
gestão), as metodologias tradicionais são mais indicadas”
“Pode demorar até seis meses para definir os requisitos
identificar as necessidades de negócios da empresa. Mas
depois é possível usar os métodos ágeis em qualquer
projeto”,
●Desde o surgimento das metodologias ágeis,
entusiastas de ambos os lados tentam provar
qué o seu método é o melhor. Mais maduro, o
mercado agora vê que cada caso é um caso e
tenta tirar o melhor proveito de ambos os
métodos.
16. Scrum ?
• É um processo iterativo e incremental para
o desenvolvimento de qualquer produto e
gerenciamento de qualquer projeto;
• É mais um framework que uma
metodologia, mais atitude que um processo;
19. Ágil
Qual o ambiente ?
Ferramentas colaborativas
●
Wiki dos Projetos
●
Controle de Versão
●
Testes
●
Automação de Testes
●
Integração do código
●
Ambiente de Homologação
●
20. Wiki – Pra que?
Por ser desenvolvimento ágil, não significa que não
haverá nenhuma documentação.
O Wiki por ser prático e fácil pode ser utilizado para
identificar problemas/soluções no projeto e
acompanhar o decorrer do mesmo
Podendo até ser utilizado para identificar erros
recorrentes.
21. Testes – Está mesmo
fazendo?
O desenvolvimento ágil é iterativo.
Logo, haverá refatorações constantes no código para
melhorar a aderência ao modelo.
Todas essas refatorações, devem ter uma garantia de que
estejam funcionando e, principalmente, que nada que estava
funcionando antes pare de funcionar.
Se não garante a qualidade do seu código através de testes,
lamento, mas não estás utilizando uma metodologia ágil para
desenvolver software.
22. Testes Automatizados
Os testes são um dos alicerces do desenvolvimento de software
ágil.
O testador ágil tem uma tarefa muito importante e totalmente
diferente dos 'testers' (também conhecidos como "apertadores
de botão") das fábricas de softwares.
Os testes devem ser automatizados. E feitos sempre.
23. Em PHP
No ambiente, que ferramentas?
● IDE + Framework ( CakePHP, Code Igniter )
●CruiseControl + PHPUnderControl
●SVN + TortoiseSVN – Controle de versão
●PHPUnit ou SimpleTest – Teste unitário
●PHPDoc - Documentador
●MediaWiki/DokuWiki
●Phing – para deploy
●Kanban
●ClockingIT / ScrumShark – Gestão do projeto