O documento discute as virtudes e ferramentas de um ambiente web moderno para desenvolvimento e produção de software, incluindo controle de versão, sistemas de documentação, repositórios de módulos, gerenciamento de projetos e assistência remota. O futuro trará interfaces mais semelhantes a aplicativos desktop e autenticação simplificada.
1. Um Ambiente Web Moderno
para Desenvolvimento e
Produção de Software
Paulo Mattos
Diretor Técnico
Olympya
paulo.mattos@olympya.com
2. Objetivo
• Apresentar uma visão geral de algumas
ferramentas web, no estado da arte, capazes
de prover uma suíte integrada de
desenvolvimento e produção de softwares.
3. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
4. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
5. Virtudes do Ambiente Web
• Cliente ubíquo e largamente distribuído
– também conhecido como browser
• Solução independente do OS
– plataformas cliente e servidor
• Mecanismo quase universal de hyperlinks
– ponteiro genérico p/ recursos Web
• Possibilita telecommuters (trabalho remoto)
– meio-período e período integral
6. Virtudes do Ambiente Web
• Pronto para Intranet & Internet
• Alavanca funções internas dos navegadores web
– buscas, hyperlinks, verificação ortográfica, plugins,
múltiplos tabs, caches, etc
• Alavanca funções internas de servidores web
– segurança, caching, logging, etc
• Compatibilidade
• Compatível com estratégia best-of-breed
– integração básica de ferramentas é relativamente fácil
• Várias ferramentas boas (e livres) disponíveis:
– Google Web Toolkit, Ruby on Rails, JSF, etc
7. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
8. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
9. • Software livre @ Tigris
• Grandes melhorias em relação ao CVS
• Suporta paradigmas
– copy → modify → merge
– lock → modify → unlock
• Integração com muitos IDEs
– Visual Studio, Eclipse, IntelliJ, etc
• Boa combinação para equipes XP
– compatível com alto grau de refactorings
10. • Várias interfaces gráficas disponíveis
– TortoiseSVN é escolha default p/ Windows
• É uma alternativa real e acessível ao
– ~US$800 por usuário
– ferramenta padrão em várias indústrias
– altamente escalável
• ideal p/ bases de código massivas
• http://subversion.tigris.org
11. • Software livre @ Sun
• Integra-se com o Subversion (entre outros)
• Busca incrivelmente rápida!
• URLs usáveis (e estáveis)
– funciona bem como ponteiro de códigos
• Funciona como ferramenta limitada de SCM
– isto é, acesso somente de leitura
– ...no entanto é acessível a toda equipe
• www.opensolaris.org/os/project/opengrok
12. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
13. • Software livre @ Fundação Wikimedia
• Edição colaborativa de docs
• Controle de versão interno
• Sistema de busca integrado
• Excelente para base de docs
– mas ruim quando é necessária formatações
específicas
• Curva de aprendizagem acentuada para
usuários WYSIWYG
• http://www.mediawiki.org
14. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
15. • Software livre @ Apache
• Armazena módulos proprietários ou de terceiros
– 100% integrável ao processo de build (e.g., Ant)
• Dependências são explicitamente declaradas
– dependências transitivas
• Altamente baseado em tecnologias XML
– XSD, XSLT, Xpath, etc
• Documentações de APIs com referência cruzada
• http://incubator.apache.org/ivy
16. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
17. • Software comercial
– versão Server (~$99 / usuário)
– versão On Demand ($21 / usuário por mês)
• Projetado pelo guru de usabilidade Joel Spolsky
– desenvolvido para equipes de desenvolvimento
– extrema atenção com usabilidade
• FogBugz suporta três tipos de casos:
– bug → coisas que não funcionam direito
– features → novas coisas sendo planejadas
– emails → dúvidas, incluindo emails dos clientes
• trata emails com um cidadão de 1ª classe!
18. • Suporta grupos de discussão
– públicos: clientes e entusiastas
– privados: forum p/ toda equipe
• Induz um workflow muito leve (e eficaz!)
– abrir → delegar → executar → resolver → fechar
• Cobre todo ciclo de vida de um software
• Integra bem com outras ferramentas
– Sistemas de controle de versão
• listagem de check-ins por caso
19. • Novas funcionalidades da versão 6.0
– Wiki integrado com WYSIWYG!
• UI próxima ao MS-Word
– Mecanismo de busca semelhante ao Google
• tipo:’caso’ prazo:’amanhã’ java OU c#
– Escalonamento estatístico baseado em evidências
• suporta cronogramas fuzzy
– 100% em Português!
• incluindo suporte...
20. • Agora no Brasil!
– Olympya é distribuidora exclusiva da Fog Creek
– info@fogcreek.com.br
• Pacote para 10 usuários por $949
– 90 dias de suporte em Português
• com direto a todos upgrades neste período
– versão 5.0, mas 6.0 sai em Setembro!
• http://try.fogbugz.com
– trial online de 45 dias
• http://www.fogcreek.com.br/FogBugz
21. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
22. • Software comercial com pricing flexível:
– day pass por $5/24 horas
– assinatura mensal ≤ $0.25/minuto
– cobrança pode ser feita por ambos os lados
• Nenhuma instalação/configuração necessária
– somente um pequeno download temporário (~½ MB)
• Funciona através de qualquer firewall
• Altamente seguro
– criptografia SSL de 128-bits
• http://www.copilot.com
– teste gratuito por 2 minutos
23. Tópicos
• Virtudes do Ambiente Web
• Desenvolvendo com ferramentas Web
– Controle de versão & navegação
– Sistema de documentação
– Repositório de módulos
– Gerência de projetos
– Assistência remota
• Futuro das aplicações Web
24. Futuro das aplicações Web
• Interface de usuário mais próxima das aplicações desktop
– novas tecnologias web
• e.g., AJAX, Flex, etc
• FogBugz ≥ 5.0 já faz uso de AJAX
• Autenticação única nativa e mais simples
– Single Sign On (SSO)
– Linux Yellow Pages
– Windows Active Directory
• Maior compatibilidades entre os navegadores
– “O legal de padrões é que existem tantos para se escolher.” -
Andrew Tanenbaum
• Autenticação mais forte
– ainda sem suporte nativo para métodos baseado em chaves/PKI
– …mas HTTPS pode prover alguma segurança extra