Your SlideShare is downloading. ×
0
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
2PHP_Metodologia
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2PHP_Metodologia

1,304

Published on

Published in: Education, Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,304
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
16
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PHP Ágil: Metodologias
  • 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? ●
  • 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. Métodos milagrosos
  • 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
  • 10. Entregas Sushi x Entregas Sashimi
  • 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%
  • 13. Alta produtividade Sob pressão ?
  • 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;
  • 17. Comprometimento
  • 18. Scrum – Quem usa?
  • 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
  • 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. Dúvidas ?
  • 26. Contatos Bruno Emanuel Email - bemanuel.pe@gmail.com Skype – bemanuel.pe MSN - bemanuel@uol.com.br Fone – (98) 8126-1190

×