Este documento apresenta o PHP no modelo de desenvolvimento ágil Scrum. Resume que o PHP é adequado para o Scrum devido à sua capacidade de entregar resultados rapidamente através de frameworks. O Scrum organiza o desenvolvimento em sprints curtos para entregas frequentes, o que combina bem com a produtividade do PHP. Juntos, o PHP e o Scrum podem formar times eficientes.
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
1. A linguagem PHP no modelo de
Fábrica de Software
Fábrica de Software
Sistemas e aplicações sob medida para as
necessidades do seu negócio. www.dextra.com.br
2. Sobre a Dextra
Fundada em Campinas em 1995, com sede no
Polo de tecnologia de software de Campinas
Unidades em São Paulo e Campo Grande/MS
Eleita uma das melhores empresas para se
trabalhar em 2009 de TI & Telecom
Certificação MPS.Br nível F
Reconhecida no mercado pela complexidade
dos projetos
www.dextra.com.br
3. Áreas de atuação
Através dos nossos serviços de Fábrica de Software,
Consultoria e Treinamento, auxiliamos médias e grandes
organizações dos mais variados segmentos a elevarem o seu
patamar competitivo, adaptando-se às novas exigências
tecnológicas do mercado.
www.dextra.com.br
6. A evolução das aplicações Web
Nos últimos 10 anos: todo conteúdo de estático para
dinâmico
O PHP nasceu com a web e precisar acompanhar o
crescimento dela
O modelo de desenvolvimento de 5 anos atrás não vale
mais hoje
www.dextra.com.br
7. A evolução das aplicações Web
Necessidade de escalabilidade
Cluster
Cache
Aplicações móveis
E prepare-se para o HTML 5:
2D e 3D drawing API
CSS transitions
Geolocation
Client-side storage
www.dextra.com.br
8. A evolução das aplicações PHP
A linguagem que gerou comunidades
www.dextra.com.br
9. A evolução das aplicações PHP
Frameworks: produzindo somente o que faz a diferença
www.dextra.com.br
10. A evolução das aplicações PHP
Frameworks
Posição Nome
1 Yii
2 CodeIgniter
3 CakePHP
4 Zend
5 Symfony
6 PHPDevShell
7 Prado
8 Akelos
9 ZooP
10 QPHP
Fonte: phpframeworks.com jun.2010
www.dextra.com.br
11. A escolha PHP
Feito para Web
Custo
Estabilidade e compatibilidade
Popular: aspectos positivos e negativos
Comunidade
Acessível aos novatos
Novatos: simplicidade
www.dextra.com.br
12. A escolha PHP
Linguagens mais populares
Posição em Posição em Posição em Linguagem de
Junho de 2010 Junho de 2009 junho de 2005 programação
1 1 2 Java
2 2 1 C
3 3 4 C++
4 4 5 PHP
5 5 6 (Visual)Basic
Fonte: www.tiobe.com / jun.2010
www.dextra.com.br
13. O novo perfil do programador PHP
Como era o programador PHP antes?
Webdesigner
Inexperiente com programação
Foco em visual, afinal o que está por trás ninguém vê
Não conhece segurança
Não conhece outras disciplinas
POG
O sobrinho do meu vizinho!!
www.dextra.com.br
14. O novo perfil do programador PHP
Aprender em outros ambientes
Conhecer outras linguagens
www.dextra.com.br
15. O novo perfil do programador PHP
Apto a realizar o desenvolvimento ágil:
Programar
Analisar
Testar
Entrar em contato com o cliente
Trabalhar em equipe
www.dextra.com.br
16. O novo perfil do programador PHP
Problemas que podem levar o melhor programador PHP
(e de outras áreas) ao fracasso
Falta de comunicação
Não aprender com seus erros
Não saber gerenciar tempo
Não ser de confiança
www.dextra.com.br
17. O programador PHP
O programador PHP pronto para a fábrica de software!
www.dextra.com.br
18. Fábrica de Software?
Quando usar?
Crescimento do tamanho e complexidade das aplicações
Necessidade de qualidade e tempo de resposta
Especialização do trabalho de desenvolvimento
Outros pontos
Aplicações “duradouras” x “descartáveis”
www.dextra.com.br
19. Fábrica de Software?
Boas práticas
Gestão de projetos
Ferramental adequado
Modelo MVC
Uso de frameworks
Controle de versão de código
Testes unitários
Indicadores de projeto (SPI, CPI, etc)
www.dextra.com.br
20. Metodologias ágeis
São construídos baseados em algumas estratégias
centrais:
Desenvolvimento iterativo e incremental
Entrega frequente de produtos completos (valor de negócio!)
Gestão ágil e adaptativa
Reflexão e melhoria contínua
Abordagem colaborativa
Integração da equipe
Estratégia de equilíbrio preferida é pelo escopo
www.dextra.com.br
21. O que é Scrum?
Um processo ágil de desenvolvimento
de software, que quebra o projeto em
pequenas partes, cada qual produzindo
um resultado tangível, que é executada
por times auto gerenciados
www.dextra.com.br
22. Algumas empresas que usam Scrum
Microsoft, Philips,
Yahoo, Time Warner,
Google, Salesforce.com,
SAP, Lockheed Martin,
Siemens, BBC,
Nokia, Globo.com,
...
www.dextra.com.br
23. Como é o Scrum?
Scrum reúne uma comunidade do projeto
Foca o trabalho com uma visão e objetivos claros
Provê visibilidade ao progresso
Exige que o time entregue resultados completos em períodos
curtos
Pede que eles reflitam sobre seus esforços e façam melhorias
regularmente
www.dextra.com.br
24. Como funciona?
Reúna um time, que tenha todas as competências necessárias
para executar o projeto
Passe uma visão clara dos objetivos do projeto
Crie uma lista priorizada do que deve ser feito (backlog)
Execute o projeto em diversas iterações (sprints), e em cada
uma delas a equipe:
Se compromete com um grupo de funcionalidades do topo da lista a
serem implantadas
Detalha estas funcionalidades
Implementa e testa
Entrega e valida
Analisa como foi o andamento da trabalho, e verifica o que pode ser
melhorado para o próximo ciclo
www.dextra.com.br
25. Diretrizes principais
Defina claramente o que significa “pronto”
Dê autonomia para a equipe
Priorize o Product Backlog pelo valor de negócio
Faça ciclos curtos
Mantenha o maior número de variáveis fixas possíveis nos
sprints
Equipe
Prazo
Escopo
Acompanhe os resultados e o andamento, e faça ajustes
Garanta a comunicação eficiente da equipe
Estime por comparação (e dentro do projeto)
www.dextra.com.br
28. Product Owner
Representa os interesses dos Stakeholders
Comunica os requisitos do produto
Colabora freqüentemente com o time
Prioriza os requisitos baseado no valor de negócio,
custo e riscos
Analisa mudanças e toma decisões de trade-off
Inspeciona e aprova os resultados
www.dextra.com.br
29. Scrum Master
Conhece a filosofia e as práticas Scrum
Trabalha para garantir que o time utilize corretamente
o processo
Facilita o trabalho do PO e do time
Protege o time dos impedimentos
www.dextra.com.br
30. Time
Equipe multidisciplinar
Constrói cada novo incremento do produto
Estima custo dos itens de backlog e comunica ao PO
Se compromete com o backlog do sprint
Se auto-organiza e auto-gerencia para a execução das
tarefas
www.dextra.com.br
32. Valores adicionais
Priorização do Product Backlog
Garante que os requisitos mais importantes são implementados primeiro
Maior valor no menor tempo
Permite que o projeto acabe no menor tempo possível
Mesmo que o projeto seja cancelado, um valor real (software funcional)
terá sido obtido
Flexibilidade do Backlog
O backlog pode mudar completamente de um sprint para o outro
Não temos “estoques” intermediários para nos preocupar
Possibilidade de se adequar a cenários de incerteza e mudanças
www.dextra.com.br
35. PHP e Scrum
PHP: Scrum:
Obter resultados Apresentar resultados
rapidamente! concretos logo nas
Frameworks feitos para a primeiras entregas
produtividade Realizar entregas em
Promover a curtos períodos
multidisciplina Promover a integração da
equipe
PHP + Scrum = Time do sonhos!
www.dextra.com.br