SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
É só mais um
Vandré M. Ramos
Software Development Manager
Lucas Rosa
Software Development Team Lead
campinho na tela!
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
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
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
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
EUA + Índia
+ América Latina
+ 4.000
funcionários
+ 12 milhões de
domínios no mundo!
+ 5MM de
clientes ativos
Do you want it fast
or
do you want it to last?
Quem nunca...
● Gambiarra
● Puxadinho
● Bigode
● Baca
● Arame
● Enjambre
● Improviso
● Quebra-galho
● Jeitinho
● Adaptação técnica
● Borracha
Quem nunca...
● // TODO
● // FIXME
● // REMOVER
● // NÃO REMOVER
● Navegador -> stackoverflow -> ctrl+c -> IDE -> ctrl+v
Aqui é
diferente!
=
Versão
2.0
Desenvolvimento
de Software
Supondo que surgiu a necessidade
de adicionar um campo de CEP no
seu carrinho de compras
Simples! Abre o HTML, coloca isso:
<div class="form-group">
<input type="text" class="form-control" placeholder="CEP">
</div>
Commit, deploy e pimba!
#SQN
Estamos falando de
software enterprise que
serve centenas de
milhares de clientes e é
responsável
diretamente pelas
vendas.
O que fazer?
“Crie uma organização que
tenha autonomia sem
perder os benefícios da
escalabilidade e da
repetibilidade.”
Discovery
Development
Documentation
knowledge base
Define
Monitoring
Impact
Analysis
Tests
Validation
Communication
Deploy
Projects + Process + Agility + People
Training
Monitoring
Benefícios
● Autonomia
● Organização
● Controle
● Apoio à decisão
● Qualidade
● Rastreabilidade
● Urgente, importante ou desejo
Na vida real...
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...
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.
Medindo impacto de alterações
● Clientes internos
● Clientes externos
● Funcionalidades impactadas
● Regras de negócio
● Fluxo completo de testes
Validar segurança e performance
e tem mais...
E o QA?
Papel do QA
● Análise de requisitos
● Testes de regressão
● Testes manuais
● Automação
● Instigar a cultura de testes (unitários, de
integração…)
Como estamos
estruturados?
“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.”
Feature, Bug Fix e Hot Fix!
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.
Urgente, Importante ou Desejo
● Como avaliamos a urgência
● Score do incidente
● Bom senso
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.
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!
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”
Do you want it fast
or
do you want it to last?
Vandré M. Ramos
https://www.linkedin.com/in/vandreramos/
Lucas Rosa
https://www.linkedin.com/in/lucas-rosa-b0282061/
Dúvidas?
Imagens
https://orig00.deviantart.net/1c79/f/2007/200/3/5/chibi_wicket_and_c3po__by_hedbonstudios.jpg

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaFernando Boaglio
 
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Leonardo Ferreira Leite
 
Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsGilmar Pupo
 
Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Leonardo Kobus
 
Criação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileCriação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileRobson Agapito Correa
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous DeliverySamanta Cicilia
 
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...João Clineu - CTFL, CSM, CSD
 
Taise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosTaise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosminastestingconference
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Wagner Mendes Voltz Fusca
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPRobert Silva
 

Was ist angesagt? (20)

Times plataforma-tdc2020
Times plataforma-tdc2020Times plataforma-tdc2020
Times plataforma-tdc2020
 
Refactoring
RefactoringRefactoring
Refactoring
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do Java
 
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
 
Testes Automatizados
Testes AutomatizadosTestes Automatizados
Testes Automatizados
 
Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com Jenkins
 
Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.
 
Criação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileCriação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao Agile
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
Jenkins
JenkinsJenkins
Jenkins
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery
 
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
 
Taise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosTaise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passos
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
 

Ähnlich wie Desenvolvimento de software: do planejamento à entrega de valor

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareAragon Vieira
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure FunctionsCDS
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Gestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágilGestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágilSabrina Mariana
 
Gestão da qualidade metodologia ágil v01 (2)
Gestão da qualidade   metodologia ágil v01 (2)Gestão da qualidade   metodologia ágil v01 (2)
Gestão da qualidade metodologia ágil v01 (2)Sabrina Mariana
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
RPA - Portfólio de Serviços iProcess com RPA uiPath
RPA - Portfólio de Serviços iProcess com RPA uiPathRPA - Portfólio de Serviços iProcess com RPA uiPath
RPA - Portfólio de Serviços iProcess com RPA uiPathEduardo Britto
 
Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito Anderson Silveira
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
Desenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoDesenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoMarcos Petry
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 

Ähnlich wie Desenvolvimento de software: do planejamento à entrega de valor (20)

Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure Functions
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Gestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágilGestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágil
 
Gestão da qualidade metodologia ágil v01 (2)
Gestão da qualidade   metodologia ágil v01 (2)Gestão da qualidade   metodologia ágil v01 (2)
Gestão da qualidade metodologia ágil v01 (2)
 
Apresentação Executiva
Apresentação ExecutivaApresentação Executiva
Apresentação Executiva
 
Webinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros ÁgeisWebinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros Ágeis
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
RPA - Portfólio de Serviços iProcess com RPA uiPath
RPA - Portfólio de Serviços iProcess com RPA uiPathRPA - Portfólio de Serviços iProcess com RPA uiPath
RPA - Portfólio de Serviços iProcess com RPA uiPath
 
Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
Desenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoDesenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certo
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 

Mehr von Vandre Ramos, MSc, MBA, CSM

Competências dos profissionais de TI: Um estudo de caso de como as competênci...
Competências dos profissionais de TI: Um estudo de caso de como as competênci...Competências dos profissionais de TI: Um estudo de caso de como as competênci...
Competências dos profissionais de TI: Um estudo de caso de como as competênci...Vandre Ramos, MSc, MBA, CSM
 
Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos Vandre Ramos, MSc, MBA, CSM
 
ALM - Ciclo de vida de aplicações, onde fica o PO e o PM
ALM - Ciclo de vida de aplicações, onde fica o PO e o PMALM - Ciclo de vida de aplicações, onde fica o PO e o PM
ALM - Ciclo de vida de aplicações, onde fica o PO e o PMVandre Ramos, MSc, MBA, CSM
 
Alm e ATLM - A importância dos lifecycles no desenvolvimento de software
Alm e ATLM - A  importância dos lifecycles no desenvolvimento de softwareAlm e ATLM - A  importância dos lifecycles no desenvolvimento de software
Alm e ATLM - A importância dos lifecycles no desenvolvimento de softwareVandre Ramos, MSc, MBA, CSM
 
Deixando de publicar em horas para publicar em minutos
Deixando de publicar em horas para publicar em minutosDeixando de publicar em horas para publicar em minutos
Deixando de publicar em horas para publicar em minutosVandre Ramos, MSc, MBA, CSM
 

Mehr von Vandre Ramos, MSc, MBA, CSM (7)

Competências dos profissionais de TI: Um estudo de caso de como as competênci...
Competências dos profissionais de TI: Um estudo de caso de como as competênci...Competências dos profissionais de TI: Um estudo de caso de como as competênci...
Competências dos profissionais de TI: Um estudo de caso de como as competênci...
 
Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos
 
ALM - Ciclo de vida de aplicações, onde fica o PO e o PM
ALM - Ciclo de vida de aplicações, onde fica o PO e o PMALM - Ciclo de vida de aplicações, onde fica o PO e o PM
ALM - Ciclo de vida de aplicações, onde fica o PO e o PM
 
Management 3.0 - Os beneficios na pratica
Management 3.0  - Os  beneficios na praticaManagement 3.0  - Os  beneficios na pratica
Management 3.0 - Os beneficios na pratica
 
Alm e ATLM - A importância dos lifecycles no desenvolvimento de software
Alm e ATLM - A  importância dos lifecycles no desenvolvimento de softwareAlm e ATLM - A  importância dos lifecycles no desenvolvimento de software
Alm e ATLM - A importância dos lifecycles no desenvolvimento de software
 
Management 3.0 direto das trincheiras
Management 3.0 direto das trincheirasManagement 3.0 direto das trincheiras
Management 3.0 direto das trincheiras
 
Deixando de publicar em horas para publicar em minutos
Deixando de publicar em horas para publicar em minutosDeixando de publicar em horas para publicar em minutos
Deixando de publicar em horas para publicar em minutos
 

Desenvolvimento de software: do planejamento à entrega de valor

  • 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
  • 7. Do you want it fast or do you want it to last?
  • 8. Quem nunca... ● Gambiarra ● Puxadinho ● Bigode ● Baca ● Arame ● Enjambre ● Improviso ● Quebra-galho ● Jeitinho ● Adaptação técnica ● Borracha
  • 9. Quem nunca... ● // TODO ● // FIXME ● // REMOVER ● // NÃO REMOVER ● Navegador -> stackoverflow -> ctrl+c -> IDE -> ctrl+v
  • 10.
  • 11.
  • 12.
  • 13.
  • 15.
  • 17.
  • 19. Supondo que surgiu a necessidade de adicionar um campo de CEP no seu carrinho de compras
  • 20. Simples! Abre o HTML, coloca isso: <div class="form-group"> <input type="text" class="form-control" placeholder="CEP"> </div> Commit, deploy e pimba!
  • 21. #SQN
  • 22. Estamos falando de software enterprise que serve centenas de milhares de clientes e é responsável diretamente pelas vendas.
  • 23.
  • 25. “Crie uma organização que tenha autonomia sem perder os benefícios da escalabilidade e da repetibilidade.”
  • 27. Benefícios ● Autonomia ● Organização ● Controle ● Apoio à decisão ● Qualidade ● Rastreabilidade ● Urgente, importante ou desejo
  • 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
  • 32. Validar segurança e performance e tem mais...
  • 34.
  • 35. Papel do QA ● Análise de requisitos ● Testes de regressão ● Testes manuais ● Automação ● Instigar a cultura de testes (unitários, de integração…)
  • 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.”
  • 38.
  • 39. Feature, Bug Fix e Hot Fix!
  • 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?
  • 46.
  • 47. Vandré M. Ramos https://www.linkedin.com/in/vandreramos/ Lucas Rosa https://www.linkedin.com/in/lucas-rosa-b0282061/ Dúvidas?