2PHP_Metodologia

1.615 visualizações

Publicada em

Publicada em: Educação, Tecnologia, Negócios
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.615
No SlideShare
0
A partir de incorporações
0
Número de incorporações
20
Ações
Compartilhamentos
0
Downloads
18
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

2PHP_Metodologia

  1. 1. PHP Ágil: Metodologias
  2. 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. 3. Seus Projetos ●Quantos projetos foram lançados nos últimos 6 meses? Quantos foram bem sucedidos? ● Quantos foram mal sucedidos? ●
  4. 4. Chaos Report - 2009 2009 2006 2004 2002 Falhou Mudou/Desafio 2000 Sucesso 1998 1996 1994 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Fonte - http://tinyurl.com/kveufw
  5. 5. Métodos milagrosos
  6. 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. 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. 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. 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
  10. 10. Entregas Sushi x Entregas Sashimi
  11. 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. 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%
  13. 13. Alta produtividade Sob pressão ?
  14. 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. 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. 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;
  17. 17. Comprometimento
  18. 18. Scrum – Quem usa?
  19. 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. 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. 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. 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. 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
  24. 24. Links Subversion - http://subversion.tigris.org/ Tortoise - http://tortoisesvn.tigris.org/ Phing - http://phing.info/trac/ CruiseControle - http://cruisecontrol.sourceforge.net/ PHPUnderControl - http://www.phpundercontrol.org/ PHPUnit - http://www.phpunit.de/ SimpleTest - http://www.simpletest.org/ PHPDoc - http://www.phpdoc.org/ ClockingIT - http://www.clockingit.com/ ScrumShark - http://scrumshark.com/ Scrum Adaptworks - http://www.adaptworks.com.br/ ScrumAlliance - http://www.scrumalliance.org/
  25. 25. Dúvidas ?
  26. 26. Contatos Bruno Emanuel Email - bemanuel.pe@gmail.com Skype – bemanuel.pe MSN - bemanuel@uol.com.br Fone – (98) 8126-1190

×