quinta-feira, 9 de julho de 2009

Quais são as 10 razões que levam SOA ao fracasso?

Saiba os motivos, na opinião de Mike Kavis, da CIO, EUA, que levam a arquitetura orientada a serviços ao fracasso retumbante.

Por CIO, EUA
30 de julho de 2008 - 07h00

Diversos artigos apontam que um grande número de iniciativas SOA fracassa. No início de julho, na conferência anual Catalyst promovida pelo Burton Group, a vice-presidente e diretora de pesquisa da companhia, Anne Thomas Manes, disse que a maioria dos fracassos de SOA é mais uma questão cultural e de pessoas do que de tecnologia.

Concordo. Mas por que, exatamente, as pessoas fazem SOA fracassar? Há muitas razões para isso.

1. Valor de SOA para o negócio não é explicado
Um dos erros mais comuns dos profissionais de TI é abordar SOA apenas como tecnologia. Eles gastam muito tempo com arquitetura, governança e avaliações de fornecedores (o que é bom), mas se esquecem que SOA precisa resolver problemas do negócio.

Recomendação: Comece com problemas de negócio reais. É por isso que a aplicação “killer” para SOA é gerenciamento de processos de negócio (business process management - BPM). Aprimorando e automatizando processos de negócio, BPM resolve vários problemas do negócio. Provê visibilidade da performance operacional, aumenta a agilidade ao permitir que as empresas mudem seus processos dinamicamente sem envolvimento de TI, elimina desperdícios – e, conseqüentemente, reduz custos – e muito mais.

2. Subestimam a resistência contra as mudanças
A resistência contra as mudanças pode matar um projeto. Como SOA produz mudanças gigantescas em uma organização, o resultado é óbvio. As pessoas precisam entender o que têm a ganhar e por que a mudança é boa para elas e para a empresa. Cada nível tem preocupações que precisam ser abordadas e resolvidas individualmente.

Recomendação: Elabore um plano de gerenciamento de mudança organizacional (organizational change management -- OCM). Eu iria um pouco além e contrataria um especialista em OCM externo para ajudar a equipe de liderança da iniciativa SOA a lidar com a mudança.

3. Não possuem patrocínio executivo
Sem um forte patrocínio executivo, é altamente improvável que uma iniciativa SOA aconteça. SOA é uma grande empreitada que abrange múltiplos departamentos e sistemas. Você precisa de um executivo forte, com poder e tempo para manter a iniciativa em andamento e superar obstáculos ao longo do caminho.

Recomendação: Se a implementação SOA está alinhada com os principais motores do negócio, o patrocinador executivo deve ser um profissional de alto nível da área de negócio que se beneficia substancialmente da implementação. O negócio deve nortear o road map de SOA.

4. Tentam implementar ‘mini SOA’
SOA não é algo que você compra, é algo que você faz. Algumas empresas tentam fazer SOA com orçamento limitados, sem o middleware, governança, treinamento, consultoria, infra-estrutura e segurança.

Gerenciar SOA em um ambiente de produção é desafiador por causa de sua natureza distribuída e frouxamente acoplada. Economizar em ferramentas de gerenciamento do ciclo de vida ou em resolução de problemas não é boa idéia, assim como eliminar consultores.

Recomendação: Trace um mapa com os benefícios de longo prazo que SOA proporcionará à empresa. Mostre o retorno sobre o investimento. Se você elaborar um caso de negócio suficientemente bom, haverá dinheiro bastante para financiar a iniciativa. Além disso, estão disponíveis ótimos produtos open source que reduzem enormemente os custos gerais de uma implementação SOA.

5. Não têm as pessoas necessárias para SOA

Você precisa de arquitetos de SOA, modeladores de processos de negócio, administradores das ferramentas, arquitetos de dados e muitas outras habilidades. Estas funções não são baratas. Tentar implementar SOA sem qualquer experiência em SOA é um grande erro. O negócio precisa de treinamento em melhoria de processos e, possivelmente, até nas próprias ferramentas BPM.

Recomendação: Elabore um plano abrangente para treinamento e inclua a previsão no orçamento inicial. Tente reduzir o número de vezes que você precisa pedir dinheiro e obtenha o máximo que puder no início. Do contrário, a gerência pode ver a iniciativa SOA como um ralo interminável de capital.

6. Fraca gerência de projetos
No fim das contas, tudo ainda se resume à capacidade da empresa de gerenciar projetos. Os gerentes de projeto têm que gerenciar o escopo, mitigar riscos, manter as pessoas dentro do cronograma planejado e prover a comunicação apropriada em todos os níveis. Se sua organização luta para viabilizar projetos normais, suas chances de êxito com SOA serão duas vezes desafiadoras.

Recomendação: Coloque seus melhores recursos de gerenciamento neste projeto. Ou saia e arranje um ou dois especialistas. Esta pessoa precisa ser técnica o suficiente para entender SOA em um nível conceitual.

7. Pensam em SOA como um projeto
Muitas empresas ingênuas acham que SOA é apenas um projeto. SOA é uma arquitetura de software e só alcança os benefícios quando a empresa adere aos fundamentos da orientação a serviço. SOA exige especialização. Um serviço de negócio é resultado dos esforços de um arquiteto SOA, um desenvolvedor, um arquiteto de dados e um especialista em segurança. Foi-se o tempo em que uma pessoa fazia tudo sozinha.

Recomendação: A estrutura padrão de equipe de TI não é eficaz para SOA. Pense de uma maneira não convencional. Derrube os cubículos e crie um espaço aberto para possibilitar que estes especialistas trabalhem bem próximos. Também ajudar ter pessoal de negócio e testadores neste mesmo local. Elimine ao máximo as reuniões e escolha técnicas mais colaborativas.

8. Subestimam a complexidade de SOA.
Conceitualmente, SOA é apenas a próxima evolução da TI. Não é um conceito difícil de entender, mas difícil de implementar. A beleza de SOA e de BPM está na simplicidade que proporcionam para os usuários finais ao integrar diversos sistemas back end de forma a aparecerem para estes usuários como um aplicativo composto. O lado negativo é aumentar muito a complexidade de criar e gerenciar software. Muitos desenvolvedores terão que se esforçar bastante para fazer a transição. SOA demanda aderência a padrões e melhores práticas (governança) e segurança.

Recomendação: Não importa quão conservador você seja, prepare-se para enfrentar vários obstáculos técnicos. Implemente na hora oportuna, pensando nos problemas de integração causados por código ou pelas próprias ferramentas. Os produtos dos fornecedores estão muito longe de serem amadurecidos e haverá problemas. Estabeleça expectativas realistas e não tente fazer coisas demais cedo demais. Comece pequeno, forneça valor com freqüência e capitalize isso.

9. Não conseguem aderir a governança SOA
Governança é um palavrão para muita gente. Chame de gerenciamento SOA e talvez as pessoas não tremam tanto.

De todo modo, para obter os benefícios de SOA (reutilização, flexibilidade, agilidade), a equipe precisa aderir às diretrizes arquiteturais que a empresa adota. É o que se chama governança “design time”. Sem ela, provavelmente você terá apenas um punhado de Web services. Em algum momento, o esforço de desenvolvimento passará de criar serviços para consumir serviços.

Há também a governança “run time”. Você gerencia pró-ativamente a “saúde” do seu ambiente de produção SOA e a governança run time permite ver quais serviços estão sendo consumidos, aplicar políticas e SLAs, diagnosticar, analisar a performance e gerenciar todos os ativos.

Recomendação: Trate a governança como parte integral de SOA. Deve haver uma equipe dedicada com seu próprio road map e visão de longo prazo. Governança é uma jornada, levará vários anos para atingir um alto nível de maturidade. À medida que a governança amadurece, o mesmo acontece com a implementação SOA. Invista em ferramentas de gerenciamento de serviços, registro e repositório.

10. Deixam os fornecedores direcionar a arquitetura
Apoiar-se demais em um fornecedor pode ser desastroso. A meta dos fornecedores é vender-lhe o máximo de produtos possível. Mas você tem a meta de implementar SOA com êxito e fornecer à sua empresa o máximo de benefícios com o mínimo de custo. Percebe o conflito de interesses?

Recomendação: Descubra o que você precisa antes de conversar com os fornecedores. Adote um processo muito abrangente de avaliação do fornecedor. Quando você reduzir a poucos fornecedores, faça-os vir até o local para realizar uma prova de conceito de acordo com requisitos que você fornece. Veja-os pessoalmente em execução. Assim os fornecedores não podem mais se esconder atrás de belos slides do PowerPoint. Isso impede que você cometa erros colossais.

Faça seu dever de casa. Leia blogs de profissionais, converse com empresas de consultoria que utilizam as ferramentas, com outras empresas que implementaram SOA e com referências fornecidas pelos fabricantes. Não siga atalhos. Você terá que conviver que as decisões que tomar.

Nenhum comentário: