Administração de Dados e o Desenvolvimento de Sistemas

Figura 1: Administração de Dados e o Desenvolvimento de Sistemas

Independentemente do estilo da empresa, as mudanças no contexto de negócio surgem de forma constante e muitas vezes sem previsibilidade, mesmo assim estas mudanças são conduzidas nas áreas de Tecnologia da Informação das corporações devendo satisfazer as necessidades do negócio através da construção ou manutenção das aplicações.

Atualmente os ambientes corporativos mostram-se altamente complexos, dinâmicos e competitivos, onde várias transformações ocorrem quando o assunto é desenvolvimento de sistemas. Nestes ambientes onde muitas vezes o desenvolvimento é feito de maneira projetizada, seguindo metodologias tradicionais consolidadas no mercado, tais como os modelos Cascata (Waterfall), Prototipagem Evolutiva, RUP, entre outras, ou em algumas iniciativas conciliando com as metodologias ágeis (Scrum, XP, etc.), a influência da Administração de Dados com uma visão corporativa tende a gerar conflitos e empecilhos para o andamento das entregas das implementações de software. Por isto a Administração de Dados é conhecida como mais um processo oneroso e que gera atrasos e gargalos no andamento do fluxo de desenvolvimento das soluções.

A Administração de dados é responsável por desenvolver e administrar de modo centralizado as estratégias, procedimentos e práticas para o processo de gerência dos recursos de dados e aplicativos, incluindo planos para sua definição, padronização, organização, proteção e utilização. Segundo o DMBOK (Corpo de Conhecimento em Gerenciamento de Dados), a Administração de Dados, conhecida como Desenvolvimento de Dados tem como definição “Projetar, implementar, e manter soluções para atender as necessidades de dados da organização”.

Como principais funções uma área de Administração de Dados tem por objetivos:

  • Definir as regras, padrões e princípios da Administração de Dados;
  • Elaborar, propor e manter os modelos de dados;
  • Prezar pela qualidade dos modelos de dados;
  • Avaliar os modelos desenvolvidos para equipes de desenvolvimento;
  • Apoiar a construção dos modelos conceituais, lógicos e físicos;
  • Gerenciar os Glossários de Termos e Naturezas.

A Administração de Dados por vezes implantada nas empresas de forma centralizada deve prezar, além de garantir o uso de padrões na modelagem dos sistemas, pela aderência dos modelos de dados das aplicações com o modelo de dados corporativo, que rege e disponibiliza as principais fontes de dados para a implementação e a integração das aplicações da corporação. Esta responsabilidade deve ser aplicada em todas as frentes de desenvolvimento, o que muitas vezes afeta o planejamento das entregas de manutenção dos modelos, e faz com que isto vire uma tarefa extremamente crítica e complexa de ser gerenciada. Esta complexidade torna as liberações dos artefatos de manipulação dos objetos de banco de dados uma arte no planejamento e controle das versões dos modelos versus entregas das aplicações.

Além de garantir que as mudanças nas aplicações sejam versionadas e atendam as necessidades das entregas de novos projetos a equipe administradores de dados tende a se situar na empresa de forma centralizada, pois sem esta centralização e sem uma governança adequada, os projetos e as manutenções de sustentação das aplicações incorrem sérios riscos de conflitos nas versões.

O formato estruturado e metodológico dos processos de Administração de Dados além de coincidir com os processos das metodologias de gerenciamento de projetos, afeta o planejamento e o andamento das entregas das iniciativas. Pois as mudanças de manutenções corretivas nas aplicações que já estão em ambiente produtivo e/ou as mudanças ocasionadas pela sustentação das entregas dos próprios projetos conflitam e ocasionam novos pontos de mudanças nas entregas já planejadas pelas demandas em desenvolvimento.

Muitas iniciativas de estruturação dos processos de administração de dados dentro das corporações foram idealizados pensando em atender as entregas dos produtos de modelagem de dados e não em como mitigar os problemas e os impactos no desenvolvimento de sistemas em ambientes projetizados. Estas propostas projetam a inserção de processos estruturados de gerenciamentos de modelos de dados nas estruturas de desenvolvimento, mas não contemplam as estruturas de projetos concomitantes que na grande maioria das empresas é uma realidade e um grande desafio para os gestores de tecnologia e de projetos.

Pensando em auxiliar a minimizar alguns dos problemas apresentados pela interferência da Administração de Dados juntos a gestão dos projetos de desenvolvimentos, algumas possibilidades no convívio harmônico entre a modelagem de sustentação de sistemas e a modelagem de projetos, podem ser utilizadas, são elas:

  • a descentralização do grupo de modelagem das aplicações, pois devem ser mantidas as decisões corporativas de forma centralizada, deixando para os grupos descentralizados somente as decisões específicas de cada produto;
  • a implantação de um grupo de direcionadores de modelagem de dados (arquitetos de dados), que devem acompanhar as definições de negócios das aplicações e utilizar o modelo de dados corporativo para insumo dos direcionadores de desenvolvimento;
  • a flexibilização nos processos de AD com a adoção de modelos departamentais que integrem as principais informações de forma única, prezando assim pelo conceito primordial da Administração de Dados a não redundância das informações nas diversas aplicações.

O importante na condução do gerenciamento de desenvolvimento de sistemas que presam pela centralização de administração de dados é o bom censo no planejamento das entregas de projetos com manutenções de sistemas que afetem as estruturas de bases de dados. Este bom senso é adquirido envolvendo constantemente o Administrador de Dados no planejamento e na execução dos processos de desenvolvimento das aplicações.

Em suma, para a implantação de uma equipe de Administração de Dados nas empresas não existe um modelo ou um formato padronizado de atuação, a decisão do envolvimento desta equipe no desenvolvimento das soluções deve ser uma prática adquirida e definida conforme as diretrizes, características e experiências da empresa.

Agradeço a atenção de todos os leitores.