Академический Документы
Профессиональный Документы
Культура Документы
projetos que administram. Esta pesquisa discute as perguntas fundamentais a serem feitas para
compreender como fazer isso.
Descobertas chave
Recomendações
ANÁLISE
• As aplicações para Internet customizadas devem se tornar de propriedade menos cara a cada
lançamento.
• Todo projeto deve incrementar as habilidades e permitir trabalho mais produtivo no futuro.
• Todo processo que você usa deve se tornar uma ferramenta mais refinada para entregar valor
corporativo.
Quando você recebe os requisitos do projeto, eles costumam já ter excluído qualquer menção
aos requisitos não-funcionais e às necessidades implícitas, que devem ser desenvolvidos de
forma colaborativa pela equipe de desenvolvimento de aplicações para Internet e os
patrocinadores do projeto (veja "A Primeira Chave para o Sucesso de um Projeto É a Definição
e Gestão dos Requisitos de Colaboração "). Os requisitos não-funcionais incluem atributos
tais como desempenho, disponibilidade e interoperabilidade. Além disso, geralmente as pessoas
não lhe dizem como implementar um projeto, embora seus padrões corporativos de TI possam
requerer que você use um conjunto de ferramentas, plataformas e processos em geral. O típico
gestor de desenvolvimento de aplicações para Internet tem amplo espaço de manobra ao escolher
uma estratégia tática para implementar um projeto.
A experiência do usuário está associada à usabilidade que descreve o "adequar e acabar" das
aplicações para Internet. Uma melhor experiência do usuário gera maiores receitas com
aplicações externas ou menores custos de uso para aplicações internas (veja "A Usabilidade
Impulsiona a Experiência do Usuário: A Experiência do Usuário Impulsiona o Valor
Corporativo"). Ao realizar testes de usabilidade antes e depois de um projeto ser
implementado, é possível prever o valor corporativo aproximado dos projetos de
desenvolvimento para Internet (veja "Um Processo de Design Impulsionado pelo Valor e Centrado
nos Usuários para Sítios e Aplicações de Internet"). Além dos testes de usabilidade, as
empresas podem incorporar aplicações web (Rich Internet Application, RIA), design voltado
para a acessibilidade e design centrado nos usuários para melhorar a experiência do usuário.
Uma experiência do usuário rica pode ser entregue usando tecnologias RIA tais como Ajax,
Flash e Silverlight (veja "Escopo de Mercado para Tecnologia Ajax e Plataformas RIA "). O
Ajax é singular porque não requer nada mais que um navegador e usa JavaScript, com o qual a
maioria dos desenvolvedores de Internet estão familiarizados. Criar valor corporativo com
Ajax não exige um profundo comprometimento com toda a RIA; pelo contrário, uma abordagem tipo
"Ajax Lite" que abra mão de uns poucos recursos de alto valor do Ajax em uma aplicação pode
ser uma estratégia que cria valor (veja "A Taxonomia de Ajax e RIA Demonstra o Abismo na
Adoção Pelo Mercado"). Acrescentar um simples recurso de auto-completar do Ajax pode fazer
com que uma aplicação pareça mais rápida e mais responsiva, e reduzirá a quantidade de tempo
que um usuário gasta completando uma transação.
Se sua empresa tiver optado por evitar a inclusão seletiva de recursos ricos, então há outras
oportunidades para melhorar a experiência do usuário através do design voltado para a
acessibilidade (veja "P&R sobre Acessibilidade de Sítios de Internet"). Sua estratégia deve
focar a separação entre conteúdo e apresentação, que tem a vantagem adicional da manutenção
simplificada. Faça isso alavancando as Cascading Style Sheets (CSS) para eliminar a inclusão
de estilo na marcação. Usar CSS não custa nada em termos de ferramentas e licenças, mas
oferece vantagens em termos de acessibilidade e por melhorar o desempenho, porque os modernos
navegadores ocultam os arquivos CSS, ao contrário de fazer o download deles, todas as vezes
em que uma página é solicitada por um usuário.
Além de captar os defeitos quando ocorrem com adequadas revisões do código do programador, os
testes unitários são um elemento impulsionador para construir softwares de qualidade (veja "
Impulsionando a Qualidade A Montante Usando Testes Unitários"). A disciplina de testes
unitários amadureceu durante a última década, e surgiu um ecossistema de ferramentas e
melhores práticas. Um robusto processo de testes unitários transforma os testes do
programador de uma reflexão tardia ad hoc em parte do design disciplinado de um software.
Suítes de integração contínua podem ser incorporadas ao seu processo de construção para
garantir que cada construção rode todos os testes. Se sua empresa tiver adotado o
desenvolvimento dinâmico de ferramentas para Internet, então o teste unitário se tornará
ainda mais importante, porque erros de sintaxe comumente encontrados durante a compilação não
serão descobertos até o tempo de execução do código dinâmico.
Favorecer uma abordagem de baixo para cima para construir seu WOA (veja "P&R: Uma Verificação
da Sanidade da SOA em Tempos Difíceis"). Você pode construir serviços modulares com base em
cada projeto, o que gerará oportunidades para obter maior eficiência com o passar do tempo e
conforme crescentes números de serviços partilháveis se tornem disponíveis para uso. Os
projetos futuros consumirão esses serviços para prover interoperabilidade entre as aplicações
para Internet, incluindo parceiros somente internos e parceiros corporativos externos, e seus
usuário finais internos terão oportunidades de incorporar esses serviços aos mashups (veja
"Aplicando Serviços de Internet Baseados em WS-* e Padrões de WOA Para os Desafios
Corporativos de Interoperabilidade Applicação-para-Applicação ").
Se seus desenvolvedores estiverem usando IDEs mais antigos, então avalie a possibilidade de
migrar para ferramentas de código aberto mais poderosas e eficazes tais como Eclipse,
NetBeans e Aptana. Eclipse e NetBeans são populares ferramentas de desenvolvimento centradas
em Java, mas também podem ser usadas para construir aplicações para Internet. Eclipse é
poderoso e é compatível com uma rica arquitetura de plug-ins, mas também é mais difícil de
configurar por causa dessa flexibilidade. A NetBeans é menos flexível do que a Eclipse, mas é
compatível com uma ampla variedade de opções prontas para instalar. Finalmente, a Aptana é um
kit de desenvolvimento para Internet rica de código aberto construído sobre a Eclipse, e
oferece amplo suporte para uma ampla variedade de estruturas e linguagens dinâmicas. Ela está
ganhando terreno junto aos desenvolvedores e deverá ter sido baixada mais de quatro milhões
de vezes até o final de 2009.
Como lingua franca dos navegadores de Internet, a JavaScript é a linguagem dinâmica mais
amplamente usada, mas outras linguagens estão ganhando terreno para o rápido desenvolvimento
de aplicações para Internet, e estão sendo apoiadas por bem sucedidas plataformas
corporativas tais como Java (veja "Tutorial para Maior Produtividade usando Linguagens
Dinâmicas Java para Internet "). Essas linguagens estão prontas para serem incorporadas aos
investimentos em tecnologia, e oferecem significativos aumentos de produtividade sobre as
linguagens tradicionais (veja "As Linguagens Dinâmicas de Programação Serão Fundamentais para
o Sucesso de Muitos Esforços de desenvolvimento de aplicações da Próxima Geração"). Além da
curva de aprendizado, a principal consideração ao se adotar linguagens dinâmicas é que elas
não são compiladas até que sejam executadas, aumentando a importância dos testes unitários.
Mashups são aplicações leves e compostas construídas a partir de componentes para Internet
(veja "Um Processo para Vender Mashups Com Sucesso para Lideres Corporativos"). Os protótipos
de mashups corporativos envolvem o consumo dos recursos disponíveis na Internet juntamente
com recursos ativados pelo mashup no firewall corporativo. Para se beneficiar dos mashups, as
empresas devem ser capazes de alavancar componentes reutilizáveis construídos de acordo com
os princípios da WOAs. Um dos melhores cenários para os mashups corporativos são os painéis
de controle que agregam dados de várias fontes em um estilo "portal" (veja "Uma Estrutura
para Padrões Chave de Integração e Tipos de Aplicações para Mashups Corporativos"). Quanto
mais "passíveis de fazer parte de um mashup" forem suas aplicações corporativas, mais
reutilizáveis elas serão.
Otimizando custos
Muitas estratégias de otimização de custos estão fora do escopo de decisões dos gestores de
desenvolvimento de aplicações para Internet. Por exemplo, a terceirização e a realocação de
fornecimentos no exterior poderão gerar valor, mas costumam ser o domínio de níveis
administrativos sênior. Porém, você ainda terá a oportunidades de incorporar aos seus planos
elementos para a otimização de custos através do código aberto, de elementos analíticos de
uso e da reutilização de componentes.
Você poderá economizar dinheiro ao desenvolver aplicações para Internet com blocos
construtores de código aberto, mas atenção — só porque um produto é de código aberto não
significa que gerará valor (veja "Descobertas: Sim, Você Pode Economizar Dinheiro com
Softwares de Código Aberto"). Os melhores candidatas de código aberto para criar sucessos
imediatos no seu grupo de desenvolvimento de aplicações para Internet incluem estruturas e
ferramentas de IDE. Por exemplo, as estruturas de código aberto já suplantaram as ofertas
comerciais como a melhor opção para desenvolver rapidamente recursos ricos com JavaScript no
navegador (veja "Tutorial para Ajax Com Estruturas de Código Aberto para JavaScript"), e os
principais IDEs para desenvolvimento de aplicações para Internet (além das ferramentas da
Microsoft) são de código aberto. Ao avaliar outras ofertas de código aberto, leve em
consideração a comunidade que apóia o produto como um dos diferenciadores mais importantes
(veja "A Comunidade É Fundamental para o Sucesso do Código Aberto ").
A eficiência de custos também significa usar aquilo pelo que você pagou. Os elementos
analíticos de uso podem ajudar a determinar se um projeto caro está efetivamente gerando
valor corporativo. Por exemplo, se um projeto de portal de um milhão de dólares resultar em
uma aplicação funcional usada por 50 usuários, então você poderá questionar com segurança se
vale a pena mantê-lo. Embora você não possa recuperar os custos já realizados, analisar as
estatísticas sobre uso poderá ajudá-lo a tomar melhores decisões sobre a próxima grande
iniciativa. Também, procure obter o que você pagou através da reutilização, para que a WOA e
os mashups se tornem impulsionadores ideais.