Básico 7 - Onde as Empresas Estão Tropeçando?

A maioria das empresas ainda não compreende o verdadeiro significado de componente e isso acaba impedindo melhorias nos seus processos de desenvolvimento de software.
17-Oct-2007 19:50 GMT

Atualmente muitas empresas utilizam tecnologias inovadoras de componentes achando que são líderes no desenvolvimento de software por esse motivo. A simples utilização dessas tecnologias para fornecer soluções aos seus usuários é, muitas vezes, uma falsa ilusão que limita as muitas vantagens do uso de componentes e reduz consideravelmente os ganhos passíveis de serem alcançados. Pior ainda, a falta de instrução, treinamento e controle sobre o uso de tecnologias e componentes impede que as equipes resolvam antigos problemas do desenvolvimento de software, como altos custos, baixa produtividade e qualidade duvidosa.

A grande maioria das pessoas ainda acredita que componentes reutilizáveis são aqueles componentes que são fornecidos junto com o compilador ou ambiente de desenvolvimento para facilitar, por exemplo, a montagem de janelas (como botões, menus, painéis, etc.) ou para permitir conexão com bancos de dados. De fato, estes componentes possuem o seu papel na aplicação, porém eles são apenas uma minúscula parcela de tudo que precisa ser considerado nesse tipo de desenvolvimento.

Infelizmente, as principais mudanças trazidas pelo desenvolvimento baseado em componentes são, muitas vezes, vistas como ameaças. Muitas organizações são intimidadas pelas novas tecnologias, incertas sobre como tirar vantagens delas, e ainda ficam se perguntando sobre como essas tecnologias serão acomodadas junto com os investimentos que foram feitos anteriormente em conhecimento e infra-estrutura.

Em primeiro lugar, as empresas precisam entender que a transição para o desenvolvimento baseado em componentes deve ser feita de forma progressiva, onde cada estágio forma uma base sólida para o estágio seguinte. Isso reduz os riscos de implantação do programa e avança com o conhecimento gradual da equipe, que se torna cada vez mais ágil nas atividades do processo.

Nesse sentido, o primeiro estágio consiste normalmente em fazer a equipe entender o significado de componente e retirar todas as dúvidas sobre arquitetura plugável, desacoplamento, coesão e projeto orientado a serviços. Assim, é possível ir aperfeiçoando os conceitos conforme a equipe avança, até conseguir chegar nos níveis mais altos, onde uma arquitetura de COTS (Commercial-Of-The-Shelf) é estabelecida.

Muitas empresas dizem fazer sistemas baseados em componentes, mas o que elas fazem são sistemas distribuídos ou usam algum tipo de tecnologia de distribuição de objetos. Embora exista nesses casos uma fronteira bem definidas na arquitetura, cada lado do sistema (cliente e servidor) continua sofrendo dos mesmos problemas de sempre, como componentes mal planejados, com regras pobres de conexão, arquitetura confusa e regras de negócio espalhadas por onde não deveriam estar.

O que acontece é que as empresas são tomadas pela iniciativa de uma determinada tecnologia (por exemplo, Java Beans, Enterprise Java Beans (EJB) e .NET) e moldam todo o seu processo em torno disso, esquecendo dos conceitos básicos que são vitais para o sucesso da arquitetura.


Comments

Total: 0 comments

Name

Enter your full name.

Your Comment

Please keep your comment relevant to the subject of the story.
HTML tags are not allowed. Use [b] and [/b] for bold text.
16 + 5 =