SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Proteja sua aplicação de você mesmo...
Gustavo das Neves
Gustavo das Neves
fb.com/gustavo.nevesgn
@gustavodasneves
gustavoneves.com
gustavo.nevesgn@gmail.com
Diretor de criação
Breve reflexão sobre código
● O que eu entrego para a
comunidade / cliente?
● Valor do código
● Responsabilidades do
desenvolvedor
● Todo desenvolvedor é um
Rockstar
Panorama atual do desenvolvimento
de software
Prazos quase sempre estourados / estourando
Problemas de comunicação interna
Poucos ou nenhum teste
Invista tempo na preparação do
ambiente
Lembre-se que seu
ambiente é como sua
casa!
Se estiver bagunçado,
fica complicado receber
visitas ;)
Estime
corretamente
Menos código, fazendo mais e melhor
Pense sempre no todo
Toda e qualquer alteração trará impacto no
resultado final da aplicação.
Então pense sempre nas consequências.
PSP - Personal Software Process
O PSP tem como objetivo prover engenheiros de software métodos bem definidos para
melhoria individual do processo de desenvolvimento de software. O PSP auxilia
engenheiros de software em:
● Melhorar sua capacidade de estimativa e planejamento;
● Assumir compromissos que possam cumprir;
● Gerenciar a qualidade dos seus projetos;
● Reduzir o número de defeitos no seu trabalho.
O objetivo do PSP é auxiliar aos desenvolvedores a produzir software sem defeitos, com
qualidade, dentro do prazo.
Nunca edite arquivos em produção
Não
encoste
nos
arquivos
em
produção
Versione, versione, versione
Você não está sozinho no mundo
Você nunca sabe o dia de amanhã
Código versionado facilita correções e
refatoração
Compartilhe conhecimento
Dry
Já deu manutenção em arquivos com código repetido em
50 lugares? Não? Eu já, e não foi legal!
TDD, BDD, “CDD”, “XDD”, “ADD”,
“ZDD”...
Mais, neste caso é melhor do que menos.
Valide requisitos, realize testes e garanta que o
software está de acordo com a especificação.
Refatore
Nunca deixe para depois, implemente um
“contrato” consigo mesmo.
Refatorar é fundamental, principalmente
quando se quer trabalhar com TDD.
É mais difícil chegar na “melhor” solução na
primeira tentativa.
Preocupe-se com a segurança da
aplicação
XSS
Criptografia
Sql Injection
“Uma ferramenta por si só não pode resolver o que fundamentalmente é um
problema de processo no desenvolvimento” (Neil MacDonald – Gartner Group)
“Segurança não é um produto que se pode comprar de prateleira, mas que
consiste de políticas, pessoas, processos e tecnologia“ (Kevin Mitinik).
Sempre que NECESSÁRIO, utilize um
Framework
Frameworks não são bengalas
Não implementam sua aplicação
Crie regras de negócio que
agreguem valor
Qual usar?
Documente seu código, seus netos
agradecem
Meu código já não é o documento?
Depende! Tem cliente? Você atenderá este
projeto para o resto da vida?
Software Livre é vida...
Inspire e expire software livre, contribua e seja feliz!
Agradecimentos e dicas finais
Momento jabá absurdo
Baixe o ebook

Contenu connexe

Tendances

Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
Milfont Consulting
 
Desenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme ProgrammingDesenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme Programming
luizeof
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Rodrigo Branas
 
Processos Firestream
Processos FirestreamProcessos Firestream
Processos Firestream
firemeeting
 

Tendances (20)

A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3 -  desenvolvimento ágilEs   capítulo 3 -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
 
Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Desenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme ProgrammingDesenvolvimento Ágil de Software com Extreme Programming
Desenvolvimento Ágil de Software com Extreme Programming
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Enter SCRUM
Enter SCRUMEnter SCRUM
Enter SCRUM
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
 
Usabilidade aplicada a dispositivos móveis
Usabilidade aplicada a dispositivos móveisUsabilidade aplicada a dispositivos móveis
Usabilidade aplicada a dispositivos móveis
 
Remote Design Sprint
Remote Design SprintRemote Design Sprint
Remote Design Sprint
 
Agilidade em projetos de software
Agilidade em projetos de softwareAgilidade em projetos de software
Agilidade em projetos de software
 
Engenharia Ágil
Engenharia ÁgilEngenharia Ágil
Engenharia Ágil
 
Metodologia ágil das Desenvolvimento Adaptativo Software
Metodologia ágil das   Desenvolvimento Adaptativo SoftwareMetodologia ágil das   Desenvolvimento Adaptativo Software
Metodologia ágil das Desenvolvimento Adaptativo Software
 
Agilidade no governo 02
Agilidade no governo 02Agilidade no governo 02
Agilidade no governo 02
 
Agile testing coach - Agile Trends Floripa
Agile testing coach - Agile Trends FloripaAgile testing coach - Agile Trends Floripa
Agile testing coach - Agile Trends Floripa
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
Framework JGenesis
Framework JGenesisFramework JGenesis
Framework JGenesis
 
Processos Firestream
Processos FirestreamProcessos Firestream
Processos Firestream
 

Similaire à Fisl 16 - Proteja sua aplicação de você mesmo

Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Gabriel Rubens
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Gabriel Rubens
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
Roberto Brandini
 

Similaire à Fisl 16 - Proteja sua aplicação de você mesmo (20)

Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Software
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
O programador pragmático
O programador pragmáticoO programador pragmático
O programador pragmático
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdf
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Previsibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwarePrevisibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de software
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 

Plus de Gustavo Neves

Plus de Gustavo Neves (8)

Rolagem infinita... o que muda realmente na experiência do usuário e no front...
Rolagem infinita... o que muda realmente na experiência do usuário e no front...Rolagem infinita... o que muda realmente na experiência do usuário e no front...
Rolagem infinita... o que muda realmente na experiência do usuário e no front...
 
Palestra - Sua ideia pode gerar uma startup de sucesso? E se você estiver err...
Palestra - Sua ideia pode gerar uma startup de sucesso? E se você estiver err...Palestra - Sua ideia pode gerar uma startup de sucesso? E se você estiver err...
Palestra - Sua ideia pode gerar uma startup de sucesso? E se você estiver err...
 
Software livre no brasil
Software livre no brasilSoftware livre no brasil
Software livre no brasil
 
Errar é bom e faz parte... mas não jogue sua ideia fora!
Errar é bom e faz parte... mas não jogue sua ideia fora!Errar é bom e faz parte... mas não jogue sua ideia fora!
Errar é bom e faz parte... mas não jogue sua ideia fora!
 
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e IncrementalEngenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
 
Comparativo de custo computacional / Tempo de carregamento das ferramentas de...
Comparativo de custo computacional / Tempo de carregamento das ferramentas de...Comparativo de custo computacional / Tempo de carregamento das ferramentas de...
Comparativo de custo computacional / Tempo de carregamento das ferramentas de...
 
DDoS - Ataque de negação de serviço
DDoS - Ataque de negação de serviçoDDoS - Ataque de negação de serviço
DDoS - Ataque de negação de serviço
 
Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!
 

Dernier

Dernier (9)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Fisl 16 - Proteja sua aplicação de você mesmo

  • 1. Proteja sua aplicação de você mesmo... Gustavo das Neves
  • 3. Breve reflexão sobre código ● O que eu entrego para a comunidade / cliente? ● Valor do código ● Responsabilidades do desenvolvedor ● Todo desenvolvedor é um Rockstar
  • 4. Panorama atual do desenvolvimento de software Prazos quase sempre estourados / estourando Problemas de comunicação interna Poucos ou nenhum teste
  • 5.
  • 6. Invista tempo na preparação do ambiente Lembre-se que seu ambiente é como sua casa! Se estiver bagunçado, fica complicado receber visitas ;)
  • 8. Menos código, fazendo mais e melhor
  • 9. Pense sempre no todo Toda e qualquer alteração trará impacto no resultado final da aplicação. Então pense sempre nas consequências.
  • 10. PSP - Personal Software Process O PSP tem como objetivo prover engenheiros de software métodos bem definidos para melhoria individual do processo de desenvolvimento de software. O PSP auxilia engenheiros de software em: ● Melhorar sua capacidade de estimativa e planejamento; ● Assumir compromissos que possam cumprir; ● Gerenciar a qualidade dos seus projetos; ● Reduzir o número de defeitos no seu trabalho. O objetivo do PSP é auxiliar aos desenvolvedores a produzir software sem defeitos, com qualidade, dentro do prazo.
  • 11.
  • 12. Nunca edite arquivos em produção Não encoste nos arquivos em produção
  • 13. Versione, versione, versione Você não está sozinho no mundo Você nunca sabe o dia de amanhã Código versionado facilita correções e refatoração Compartilhe conhecimento
  • 14. Dry Já deu manutenção em arquivos com código repetido em 50 lugares? Não? Eu já, e não foi legal!
  • 15. TDD, BDD, “CDD”, “XDD”, “ADD”, “ZDD”... Mais, neste caso é melhor do que menos. Valide requisitos, realize testes e garanta que o software está de acordo com a especificação.
  • 16. Refatore Nunca deixe para depois, implemente um “contrato” consigo mesmo. Refatorar é fundamental, principalmente quando se quer trabalhar com TDD. É mais difícil chegar na “melhor” solução na primeira tentativa.
  • 17. Preocupe-se com a segurança da aplicação XSS Criptografia Sql Injection “Uma ferramenta por si só não pode resolver o que fundamentalmente é um problema de processo no desenvolvimento” (Neil MacDonald – Gartner Group) “Segurança não é um produto que se pode comprar de prateleira, mas que consiste de políticas, pessoas, processos e tecnologia“ (Kevin Mitinik).
  • 18. Sempre que NECESSÁRIO, utilize um Framework Frameworks não são bengalas Não implementam sua aplicação Crie regras de negócio que agreguem valor Qual usar?
  • 19. Documente seu código, seus netos agradecem Meu código já não é o documento? Depende! Tem cliente? Você atenderá este projeto para o resto da vida?
  • 20.
  • 21. Software Livre é vida... Inspire e expire software livre, contribua e seja feliz!