sábado, 31 de outubro de 2020

Etapas de implantação de um DW

A implementação de um projeto de DW depende de ações políticas e técnicas. No campo político, é necessário que exista o suporte da alta direção da empresa e o comprometimento dos gerentes e analistas de negócios. No campo técnico existem diferentes abordagens de implementação que devem ser analisadas para que a escolha possa ajudar que os benefícios do projeto possam ser mais rapidamente visíveis e acelerar o processo de obtenção de apoio interno.

Um DW deve estar em consonância com as necessidades de negócio da empresa. Assim, a área de negócio deve ser a patrocinadora da iniciativa. Muitos projetos iniciados pela área de sistemas ou de TI fracassaram por não terem o apoio político necessário da direção da empresa ou por não terem definido um caso de negócio concreto.

Para implantar um projeto de DW, uma das primeiras atividades é a extração dos dados, que têm origem em diversas fontes com diferentes formatos. Após a extração, os dados são transformados e carregados no DW. Este processo é denominado ETL (Extract, Transformation, Load). Os dados podem ser inseridos no DW e depois transferidos para os DMs, ou os DMs podem ser criados antes do DW, com dados específicos de cada departamento da empresa, e depois transferidos para o DW. O DW é um repositório de dados multidimensional e dá suporte às ferramentas OLAP que extraem informações dos dados, permitindo que a análise dos negócios da empresa seja realizada. Essa análise apoia os tomadores de decisão, fornecendo aos gestores respostas rápidas para as questões mais importantes para os negócios.

A figura ilustra as etapas de elaboração de um DW.

Etapas e componentes do processo de implantação de um DW.

De acordo com a UEM (2011),

A primeira fase do processo de data warehousing consiste em “isolar” a sua informação operacional atual, preservando a segurança e integridade de aplicações de OLTP críticas ao mesmo tempo em que permite o acesso à mais ampla possível base de dados. O banco de dados ou data warehouse resultante pode consumir centenas de gigabytes - ou mesmo terabytes - de espaço em disco. O que é necessário então são técnicas eficientes para armazenar e acessar grandes quantidades de informação. Além disso, grandes organizações analisaram que somente sistemas de processamento paralelo podem oferecer largura de banda suficiente para estas aplicações.

O DW reúne dados que são extraídos de diferentes bancos de dados, e estes dados são transformados e enviados para o DW de forma seletiva. Sempre que uma atualização nos dados do DW é requerida, é necessário que ocorra novamente o processo de transformação e movimentação de dados, portanto, é importante que isso seja feito de forma automatizada, controlada e bem gerenciada.

Um outro conceito importante ligado ao DW são os metadados. Os metadados se referem à informação que descreve o modelo e a definição dos elementos das fontes de dados, sendo os meios que permitem que o usuário final possa compreender o que representam os dados no DW.

sexta-feira, 30 de outubro de 2020

Pessoas envolvidas no processo de data warehousing

Por sua abrangência, o processo de data warehousing envolve desde profissionais de TI até analistas de negócios que podem ser considerados usuários do ambiente.

 Equipes.

 

Fonte: Rawpixel.com/ Shutterstock.

Esse ambiente inclui administradores do projeto, administradores de dados, projetistas de banco de dados, administradores de bancos de dados e dos sistemas operacionais, que têm uma importância muito grande no processo de integração entre os ambientes transacionais e os ambientes dimensionais. Há também os programadores e os analistas de sistemas para a extração e limpeza dos dados, além dos analistas dos aplicativos, que acessarão as informações, e os usuários finais.

De acordo com Machado (2012, p. 32), essas pessoas encontram-se agrupadas por papéis da seguinte forma:

  • Analistas responsáveis pela carga dos dados: representam os programadores que necessitam conhecer o mapeamento entre o DW e os sistemas transacionais, além de todos os requisitos necessários à filtragem e à integração dos dados.
  • Usuários finais: são os gerentes, executivos e analistas de negócio que utilizam a informação para apoio à tomada de decisão. Esses usuários apresentam uma grande familiaridade com os termos do negócio e estão sempre em busca da solução de um problema ou de novas oportunidades. Eles podem ser divididos em dois grupos: os usuários diretos e os usuários indiretos. Os usuários diretos são aqueles que acessam livremente o DW como um todo e os usuários indiretos acessam os data marts (DMs) especializados.
  • Analistas responsáveis pelo desenvolvimento e manutenção do DW e dos DMs: equivalem aos administradores de bancos de dados e administradores de dados dos SGBDs. Estabelecem o nível de preocupação com os metadados, com a arquitetura de armazenamento e com a estrutura dos dados, visando, principalmente, melhorar o desempenho das consultas. É comum o estabelecimento de equipes diferentes para os dois ambientes.
  • Administradores de dados: têm um papel de fundamental importância nesse contexto novo, pois seu papel de integrador dos ambientes transacional e dimensional é fator de garantia de qualidade e da existência íntegra do DW, por meio de metodologias de acompanhamento e administração dos metadados entre os sistemas transacionais e seu processo de manutenção de extração, transformação e carga do DW.

quinta-feira, 29 de outubro de 2020

Características de um DW

De acordo com Inmon (1997), que é considerado o criador do conceito de data warehousing, existem basicamente quatro características que descrevem um DW:

  • Orientado ao assunto: os dados são organizados de acordo com o assunto ao invés da aplicação.
  • Integrado: todos os atributos e convenções de tipos são unificados e integrados, de forma que signifiquem sempre a mesma coisa.
  • Variação em relação ao tempo: há espaço para o armazenamento de dados que têm cinco, dez ou mais anos, de forma que possam ser utilizados em comparações, tendências e previsões.
  • Não-volatilidade: os dados não são atualizados ou modificados em nenhum momento; uma vez que entram no DW, passam a ser somente acessados, nunca alterados.

Características de um Data Warehouse

 

Os dados de um DW são precisos em relação ao tempo, representam resultados operacionais realizados em um determinado momento de tempo: precisamente o momento em que foram capturados. Assim, os dados do DW são um snapshot (fotografia instantânea), um conjunto estático de registros de uma ou mais tabelas. Isso implica que não podem ser atualizados. Para ficar mais claro este conceito, imagine apenas que um dado relativo às vendas de um certo produto em um determinado mês nunca mais terá seus valores modificados.

Nos DWs, a data é um elemento essencial e um componente-chave, pois faz parte de um projeto estruturado sobre janelas do tempo. Nos DWs, os espaços de tempo são significativamente maiores do que os armazenados em um sistema transacional, situando-se entre três, cinco ou dez anos, podendo até se estenderem por maiores períodos de tempo.

Outra característica de suma importância em um DW é que todos os seus dados têm um alto nível de integração. Isso significa que um mesmo atributo não pode significar coisas diferentes em dados semelhantes. As convenções de nomes, valores de variáveis, e outros atributos físicos de dados, como tipos de dados, são formalmente unificados e integrados nessa base única. Assim, ao se referir ao sexo, por exemplo, não se podem usar valores diferentes, como “f” e “m” e “feminino” e “masculino”, ou, ainda, “0” e “1”.

Em ambientes de múltiplas plataformas, a característica de integração se torna fundamental, pois é necessária a unicidade de informações. A existência de sistemas mais antigos com padrões de codificação de dados diferentes pode levar à existência de diferentes convenções entre os sistemas operacionais. Neste caso, quando forem carregados para o DW, devem ser resolvidos pelos processos de filtragem e agregação.

No DW, os dados são organizados por assunto e contém informações importantes para o suporte à decisão. O fato de estes dados estarem organizados por assunto (como vendas, produtos, clientes etc.) permite que os usuários determinem como está o desempenho da empresa em termos de lucratividade e também permite que se determinem as razões deste desempenho.

Por exemplo, uma empresa de seguros utilizando um DW poderia organizar seus dados por consumidor, prêmio e franquia, ao invés de diferentes produtos (automóvel, vida etc.). Os dados são organizados por assunto, contendo somente as informações necessárias para o processo de suporte à decisão. (TURBAN et al., 2009)

quarta-feira, 28 de outubro de 2020

Data warehouse

Definições de data warehouse e data warehousing

Como vimos até aqui, as ferramentas de BI têm por objetivo prover a informação certa à pessoa certa na forma certa no tempo certo .

A hierarquia das informações em uma organização empresarial começa pela coleta de dados, que são transformados em informação, mas essas informações precisam ser organizadas de tal forma que ganhem componentes “inteligentes” para que possam ser usadas em favor das melhores decisões. As ferramentas de BI reúnem os processos que tornam as informações “inteligentes”.

Mas, para que isso aconteça, é necessário que os dados sejam armazenados em repositórios diferentes dos tradicionais bancos de dados transacionais: é necessária a construção de um DW ( data warehouse) .

Os bancos de dados tradicionais são transacionais, ou seja, foram projetados para inclusões, alterações, exclusões e consultas simples aos dados. Estes bancos são conhecidos como OLTP ( O n Line Transaction Processing ), ou bancos que realizam processamento online de transações. Já os DW têm a característica distinta de que são direcionados principalmente para aplicações de apoio às decisões. Eles são otimizados para a recuperação de dados, não para o processamento rotineiro de transações.

Data warehouse .
Fonte: Aa Amie/ Shutterstock.

O DW funciona como um repositório de dados, integrando e consolidando as informações de fontes internas, que em sua maioria provêm de fontes heterogêneas e fontes externas. Além disso, os dados do DW são filtrados e limpos, permitindo que análises gerenciais e estratégicas dos principais processos de negócio sejam realizadas de forma a oferecer suporte à tomada de decisão.

“O Data Warehouse (DW) representa uma grande base de dados capaz de integrar, de forma concisa e confiável, as informações de interesse para a empresa, que se encontram espalhadas pelos sistemas operacionais e em fontes externas, para posterior utilização nos sistemas de apoio à decisão. Um DW tem, normalmente, informações sobre assuntos de negócio da empresa por um período histórico de no mínimo três anos, podendo, em alguns casos, chegar até os primeiros anos de informação, pois seu objetivo é determinar padrões de comportamento, indicadores de crescimento por tempo etc.”

(Fonte: MACHADO, 2012, p. 44.)

O DW possibilita a análise de grandes volumes de dados que são coletados de sistemas transacionais. Os dados em um DW não são voláteis, ou seja, eles têm registros permanentes e não podem ser alterados. Quando é necessário fazer correções ou atualizações, os dados obsoletos são descartados e as alterações são inseridas como novos dados (TURBAN et al., 2009).

Pela sua capacidade de armazenar grandes volumes de dados e de possibilitar importantes análises sobre estes dados, os DWs são elementos fundamentais, formando o “núcleo” dos sistemas de informações gerenciais e de apoio à decisão no ambiente de BI.

Existe um termo correlato à utilização de DWs, conhecido como data warehousing . O termo data warehousing não se refere a um produto, mas a uma estratégia que reconhece a necessidade de armazenar os dados provenientes de diferentes sistemas de informação e consolidá-los, de forma a fornecer informações aos diversos profissionais de uma empresa para que possam tomar as decisões do negócio de modo rápido e eficaz.

Geralmente o DW armazena informações sobre os processos de várias atividades do negócio, de forma que possam ser realizados cruzamentos e consolidações das diferentes unidades de negócios da empresa.

Muitas empresas necessitam criar DWs, que, como vimos, são enormes repositórios de dados, para que possam melhorar o processo de tomada de decisões. Os dados são importados de várias fontes diferentes, são “limpos” e organizados de forma adequada às necessidades da empresa. A integração dos dados permite ao executivo ter uma visão corporativa dos dados. No entanto, essa integração, ou seja, a migração dos dados mantidos pelos sistemas transacionais para o DW, não é um processo fácil, nem barato e exige muito planejamento. A figura ilustra os principais componentes necessários à criação de um DW.

Criação de um data warehouse.
Fonte: < gooddata.com.br >.

Os motivos que justificam um alto investimento para a implantação de um DW em uma organização reúnem a existência, na empresa, de:

  • Várias plataformas de hardware e de software não integradas;
  • Constantes alterações nos sistemas transacionais corporativos;
  • Dificuldade acentuada na recuperação de dados históricos em períodos superiores ao ano em que as operações são realizadas;
  • Existência de sistemas e “pacotes” de fornecedores diferentes;
  • Falta de uma padronização e integração dos dados existentes nos diversos sistemas;
  • Carência de documentação e segurança no armazenamento dos dados.

O resultado de um projeto de DW traz grandes benefícios à organização, dos quais se destacam:

  • Informações ficam disponíveis para os gestores;
  • Permite uma visão das curvas de comportamento do negócio;
  • Confere agilidade às ferramentas para apoio à decisão;
  • Fornece segurança e confiabilidade das informações para a decisão;
  • Permite uma maior abrangência da visão dos indicadores de desempenho;
  • Fornece recursos mais abrangentes para a análise de negócios;
  • Necessidades e expectativas executivas são atendidas por TI.

terça-feira, 27 de outubro de 2020

CPM e BI

Neste ponto é interessante, fazermos uma discussão sobre as fronteiras que separam e/ou unem os conceitos de CPM e BI. Como já dissemos, o CPM, de acordo com o Gartner Group, é “um termo genérico que descreve todos os processos, metodologias, métricas e sistemas necessários para medir e gerenciar a performance de uma organização”. O CPM pode ser considerado, então, uma solução mais abrangente e complementar aos tradicionais sistemas de gestão, na qual regras de negócio complexas, ligadas à administração do negócio e governança corporativa, são utilizadas de forma a se conseguir mensurar o desempenho do negócio.

De acordo com Macedo (2011), uma solução de BI de alto desempenho deve possuir no mínimo as seguintes características:

  • Permitir rápido desenvolvimento e alta flexibilidade de implementação;
  • Interagir com todas as fontes de dados da empresa;
  • Preservar e complementar os investimentos em DW;
  • Permitir ajustes aos novos requerimentos de negócio;
  • Realizar análises consistentes com dados corporativos;
  • Incorporar planilhas com informes corporativos;
  • Realizar consultas ad hoc , ou seja, com objetivos específicos;
  • Ter conectividade bidirecional com múltiplas bases de dados;
  • Permitir rápida assimilação do ambiente pelos usuários;
  • Ter precisão e unicidade dos dados de origem.

Ainda de acordo com Macedo (2011), para se alcançar o CPM seria necessário adicionar às características listadas anteriormente as seguintes possibilidades:

  • Orçamento, planejamento e simulação flexíveis;
  • Personalização de qualquer requisito de negócio;
  • Controle direto do usuário na aplicação e publicação no tempo do negócio;
  • Gerência dos requisitos de planejamento estratégico;
  • Fluxos de trabalho e dados integrados consistentemente, com planilhas centralizadas;
  • Reporting baseado em pesquisas na web de forma intuitiva;
  • Acesso às informações gerenciais e estratégicas em qualquer lugar e a qualquer momento;
  • Alta escalabilidade e suporte para grande volume de dados e usuários;
  • Altíssima satisfação dos usuários.

Assim, de forma simplificada, um resumo sobre a diferença de BI e CPM poderia ser: BI fornece soluções para mostrar o porquê do status atual dos negócios, respondendo à pergunta: Por que estamos desta maneira? , e CPM adiciona as respostas às perguntas: Como estamos? Como deveríamos estar? , além de responder a: Quanto capacitamos, produzimos, satisfazemos ou lucramos?

Macedo (2011) afirma que outra maneira de ajudar a explicar o CPM é dizendo o que ele não é. CPM não é simplesmente uma solução de BI, não é uma ferramenta de análise de dados a ser implementada em um único departamento, não é uma tecnologia e não é um software complicado. CPM pode ser, então, definido como a integração de vários componentes em um só ambiente, capaz de agrupar de forma consistente e integrada soluções para análise, orçamento, planejamento, BI, integração de dados, previsões, simulações, scorecards e dashboards.

Aconteceu 

Alemanha e a vitória na Copa do Mundo 2014

A edição 2014 do maior evento esportivo do mundo trouxe o assunto Business Intelligence à tona em nível mundial e mostrou que a solução pode auxiliar a alcançar de objetivos nos mais diversos ramos de desempenho e busca de resultados.

Um software desenvolvido na Alemanha analisava dados extraídos numericamente, como velocidade de corrida e número de passes. Também escaneava comportamentos individuais de atletas e do time como um todo.

Os relatórios foram passados aos jogadores e à comissão técnica. Com a utilização deles, o grupo se preparou para executar jogadas mais rapidamente, envolver as outras equipes e reter a bola. O resultado? O mundo todo viu e o Brasil sentiu na pele.

(Fonte: < knowsolution.com.br >)

A FIAT Automóveis tinha o desafio de deixar o novo Uno com “a cara do consumidor”, e com as soluções de Business Intelligence e pesquisas nas ferramentas de mídias sociais e mobilidade, oferecidas pela empresa SAS, a FIAT teve ótimos resultados. A tecnologia atendeu às expectativas quanto à capacidade de processar todos os dados, ajudar em uma pesquisa inovadora, colaborar na tomada de decisão e ainda trazer uma visão de futuro para entenderem melhor as demandas do mercado. O novo Uno foi sucesso de vendas e críticas, fazendo a empresa ter a honra de receber o prêmio Carro do Ano 2011, pela Revista AutoEsporte.

(Fonte: < unisalgp.wordpress.com >)

segunda-feira, 26 de outubro de 2020

Arquitetura e ferramentas de BI

A complexa situação que envolve a tomada de decisões pode ser apoiada com a utilização de SADs que utilizem um DW e ferramentas para o gerenciamento e tratamento dos dados e das informações, buscando vantagens competitivas para o negócio.

Há controvérsias entre especialistas sobre a arquitetura e quais ferramentas e componentes constituem um sistema de BI. A figura ilustra uma arquitetura possível, e os componentes ferramentas mais importantes são descritas a seguir.

Arquitetura e Ferramentas de BI.
Fonte: SANTOS, 2017.
  • DW – Data Warehouse: um repositório de dados especial preparado para dar suporte a aplicações de tomada de decisões. O DW transforma o conjunto de dados históricos, obtido com base na estratégia de negócios da empresa, em informações unificadas que são armazenadas em um repositório central confiável, através de uma base de dados integrada.
  • Ferramentas OLAP – On Line Analytical Processing : ou ferramentas de processamento analítico online. Permitem a análise dos dados por diversas dimensões, de forma que seja possível identificar com rapidez e facilidade o desempenho dos negócios. São ferramentas de análise e exploração de dados para atividades mais interativas e investigativas, possibilitando o cruzamento, detalhamento e resumo de dados de maneira mais rápida. Podem utilizar ferramentas de Query & Report ou de consulta e reporte para execução e extração periódica de informações com médio ou alto grau de detalhamento, possibilitando a construção de relatórios através de comandos simplificados.
  • Ferramentas de monitoramento de performance: incluem dashboards e scorecards que fornecem uma visão dos indicadores de desempenho corporativo, gráficos e planilhas, e podem incluir sistemas mais sofisticados, como cubos tridimensionais e até ferramentas de realidade virtual.

Gerentes e executivos se beneficiam muito com as soluções de BI, pois essas ferramentas os ajudam a gerenciar melhor o seu negócio. As empresas que não conseguem implementar de forma adequada essas soluções acabam ficando em séria desvantagem competitiva.

Gartner Group.
Fonte: < iot.do >.

Os consultores do Gartner Group sugerem as seguintes questões essenciais para a análise das soluções de BI:

  • Como a empresa pode maximizar seus investimentos em BI?
  • De que funcionalidades do BI as empresas precisam e o que estão usando hoje?
  • Quais são os custos ocultos associados ao investimento em BI?

Sendo assim, o processo de criação e implantação de inteligência nos negócios deve ser realizado de forma cuidadosa, seguindo uma metodologia para que a empresa seja bem sucedida com sua utilização.

O processo de criação de inteligência nos negócios de uma empresa começa pela identificação e priorização de projetos ligados ao BI. Nesse processo, a empresa utiliza medidas de ROI (Return on Investment – retorno sobre investimento) e TCO (Total Cost of Ownership – custo total de propriedade) para estimar a relação custo/benefício da implantação do projeto de BI. Além disso, são analisados os impactos da implantação do BI na tomada de decisões dentro da organização em cada um dos níveis de administração.

De acordo com Turban et al. (2009), questões importantes ligadas ao processo de implantação e gerenciamento do BI incluem a definição de:

  • Quem deve atuar como tomador de decisão na priorização dos projetos de BI;
  • Como realizar a integração em nível gerencial;
  • Como estabelecer parcerias entre chefes de áreas funcionais e líderes de áreas de produtos e serviços;
  • Como estabelecer uma harmonia entre os clientes do BI (ligados ao negócio) e os fornecedores (ligados à TI).

De acordo com Turban et al. (2009, p. 35), definidas estas questões, a equipe responsável pela governança do BI deve partir para as ações:

  1. Criar categorias de projetos (estratégicos, de investimentos, de oportunidades de negócios etc.);
  2. Definir critérios de seleção de projetos;
  3. Estabelecer uma estrutura para se determinar os riscos do projeto;
  4. Gerenciar as interdependências do projeto;
  5. Monitorar e ajustar a composição do portfólio de serviços e demandas do BI.

O sucesso do BI depende de uma boa governança, e as razões fundamentais para o investimento em seus projetos devem estar alinhadas com a estratégia de negócios da empresa. O BI deve servir como uma forma de mudar a maneira como a empresa conduz suas operações de negócio, melhorando seus processos e transformando a tomada de decisões em processos mais orientados à análise de dados.

domingo, 25 de outubro de 2020

Sistemas transacionais x sistemas de apoio à decisão

Antes de prosseguirmos nos conceitos ligados ao BI, convém conceituarmos e definirmos a diferença entre um sistema transacional e um sistema de apoio à tomada de decisão.

De acordo com Terribili Filho (2009), “é no sistema transacional que ocorrem as transações de negócio, através dos quais se realizam as operações básicas das empresas como compras, vendas, saques bancários, pagamentos etc.”. Estes sistemas apresentam como principais características alta velocidade no tempo de resposta e baixo volume de dados envolvidos na transação. Para estes sistemas, as informações históricas não são relevantes.

Um sistema transacional fornece apoio à execução e monitoramento dos negócios de uma organização, gerando e armazenando os dados destas transações operacionais. Estes sistemas têm como características básicas alta taxa de atualização e acesso pontual a um grande volume de dados, com pesquisas que resultam em pequena quantidade de dados. Geralmente são sistemas operacionais não integrados, conhecidos como OLTP ( Online Transactional Processing ), que realizam transações, como sistemas de contabilidade, de compra, de controle de estoque, de inventário, de folha de pagamento, de controle financeiro, além de ERPs e CRMs.

(Fonte: SILBERSCHATZ et al., 2012)

Os sistemas transacionais manipulam dados que ficam armazenados em bancos de dados, gerenciados por um Sistema Gerenciador de Banco de Dados (SGBD). Estes sistemas são chamados de transacionais, pois toda atualização dos dados é feita dentro de uma “transação”. Essas transações podem ser bem sucedidas, resultando na gravação de dados ou, em caso de problemas, não são finalizadas, permitindo que o banco de dados retorne ao estado anterior, garantindo a integridade dos dados.

Para ficar mais claro o conceito, imagine você diante de um caixa eletrônico, ou ATM ( Automated Teller Machine ), para efetuar um saque de sua conta bancária. Você certamente vai querer que a resposta seja muito rápida, não é mesmo? Neste tipo de operação (saque), o volume de informações envolvidas é relativamente baixo (agência, conta corrente, senha, valor requisitado, saldo disponível e limite de cheque especial) e não é necessário que seus dados históricos sejam considerados (se você tem financiamentos, há quanto tempo é cliente, qual é seu saldo médio dos últimos meses etc.).

Um Sistema de Apoio à Decisão (SAD) tem características completamente distintas de um sistema transacional, pois utiliza “inteligência” para efetuar suas transações, como prover informações para se definir uma campanha de marketing, elaborar as táticas futuras para o lançamento de novos produtos, descobrir qual a melhor estratégia para se aumentar as vendas de um dado produto etc. Um SAD geralmente utiliza como repositório de dados um DW, que está desvinculado das bases de dados que dão sustentação aos sistemas transacionais, também chamadas de On Line Transaction Processing (OLTP).

Financiamento.
Fonte: Indypendenz/ Shutterstock.

Novamente, para ficar mais claro, voltemos ao caso da instituição bancária. Um exemplo de SAD poderia ser conhecer os potenciais clientes para se realizar uma campanha de financiamento de veículos. Neste caso, o banco poderia considerar como potenciais clientes somente aqueles que já sejam proprietários de veículos, que realizaram algum tipo de financiamento com o banco nos últimos cinco anos, cujo saldo médio nos últimos 12 meses seja superior a R$ 5.000,00 e com a restrição de que sua idade acrescida do prazo de financiamento não supere 70 anos. Para se chegar à lista de clientes potenciais para esta campanha, seria necessário consultar as informações que estão no DW e não na base de dados dos sistemas transacionais.

Segundo Terribili Filho (2009), em função das particularidades do tipo de processamento e de transação, o ambiente dos sistemas de BI deve ser dissociado do ambiente transacional, uma vez que no BI as pesquisas são mais complexas e há um volume muito maior de informações, das quais os dados históricos são de grande importância. Assim o tempo de resposta de uma transação de BI pode ser muito mais lento do que o de uma operação transacional.

Um exemplo interessante de BI é o utilizado pela rede de supermercados Pão de Açúcar. Em sua estratégia, o cliente da rede, quando efetua suas compras, recebe determinada pontuação como “Cliente Mais”, que lhe dá algumas facilidades e benefícios futuros, porém, o mais importante para o BI é que o sistema registre o seu histórico de consumo no DW.

Grupo Pão de Açúcar.

Assim, a rede pode utilizar esta base de dados para direcionar campanhas de marketing como, por exemplo, fazer uma promoção de venda de vinhos estrangeiros para clientes que tenham comprado vinhos nacionais nos últimos seis meses, acima de uma determinada quantidade. O direcionamento da campanha aumenta o nível de retorno, reduz os custos de divulgação e tende a aumentar a fidelidade do cliente. Talvez não seja uma mera coincidência dizer que o grupo está entre as maiores redes varejistas do Brasil.

Ainda para melhorar as explicações acerca das diferenças entre os sistemas transacionais e os SADs, é importante dizermos que periodicamente os dados são extraídos dos sistemas transacionais para serem armazenados no DW. Para estas operações são utilizadas ferramentas chamadas ETL ( Extract, Transform and Load ), que estudaremos mais à frente. Este processo de criação e manutenção dos DWs inclui a extração dos dados dos vários sistemas transacionais, a transformação (padronização) e sua carga no DW.

Saiba mais      

Empresa: antigo Grupo Pão de Açúcar, agora GPA, do grupo francês Casino

Cliente: Diretoria de Marketing e Diretoria de TI

Objetivo: Cada item, de cada caixa, de cada loja, de cada bandeira do Grupo podendo ser analisada no dia seguinte pela área de marketing e isso ser o cerne de uma operação de inteligência e relacionamento poderia trazer novos insights e feedbacks para organização, como também alimentar o Programa Mais com detalhes dos hábitos de consumo de cada cliente, de forma a nutrir a área de Inteligência de Mercado com informação estratégica interna valiosa para competir para vencer.

Objetivo: Construir e implantar uma solução que permitisse à área de Inteligência do Grupo Pão de Açúcar conhecer o comportamento de vendas, a partir de cada ticket de venda. Incluir novas informações e dar manutenção.

Solução: Foi desenhado o modelo de dados e implantado o Data Mart de Tickets e seus processos, em conjunto com um parceiro, em um processo que carregasse informações de cada venda de cada loja do Grupo, armazenando-as em um repositório central (Data Mart) para uso da área de Inteligência de Mercado.

Resultados Alcançados: Crescimento, mais resultados e informações estratégicas para o posicionamento de bandeiras, ofertas de produtos e relacionamento com clientes.”

Fonte: < brainworks.com.br >.

sábado, 24 de outubro de 2020

Business Intelligence e Business Intelligence 2.0

Um cenário que ainda é bastante comum de se encontrar nas empresas atualmente são sistemas que não se comunicam, não têm documentação ou sua documentação é ruim e deficiente, fazendo que a disponibilização e consulta às informações seja muito dificultada. Neste ambiente, as inconsistências são grandes, fato que leva o tomador de decisão a não usar o seu sistema e, muitas vezes, a tomar suas decisões baseado apenas na sua experiência de mercado. 

 Business Intelligence

 

Fonte :✓.com/ Shutterstock.

No mundo corporativo, nos tempos atuais, tomar decisões exige um volume de dados cada vez maior, assim como mais e melhores informações. As organizações, de forma geral, possuem muitos dados, porém pouca informação. A falta de informação pode prejudicar sobremaneira a tomada de decisão dentro das organizações corporativas. Para ajudar neste processo, existem métodos e procedimentos que realizam a extração e a análise de informações que permitem aos executivos lidarem com problemas de decisão cuja dimensão ultrapassa a capacidade cognitiva normal, ou excede os recursos temporais e financeiros disponíveis.

A maioria destes métodos, procedimentos e ferramentas são genericamente chamados de Business Intelligence .

IMPORTANTE!

Business Intelligence é um termo guarda-chuva que inclui arquiteturas, ferramentas, bancos de dados, aplicações e metodologias que objetivam permitir o acesso interativo aos dados (às vezes em tempo real), proporcionar a manipulação desses dados e fornecer aos gerentes e analistas de negócios a capacidade de realizar a análise adequada para a tomada de decisão”.

(Fonte: TURBAN et al., 2009, p. 27)

O conceito de Business Intelligence , ou Inteligência de Negócios, surgiu na década de 1980, introduzido pelo Gartner Group, para descrever a capacidade das organizações em acessarem dados e explorarem as informações, geralmente armazenadas em DWs, analisando e desenvolvendo interpretações que permitem tomadas de decisões mais seguras e consistentes.

Ao analisarem as informações correntes e o desempenho histórico da empresa, os tomadores de decisão conseguem notar importantes relações entre estas informações, que as tornam muito valiosas, servindo de base para melhores e mais precisas decisões.

Transformação de dados.
Fonte: elaborado pelo autor.

De acordo com Turban et al. (2009), o processo de BI se baseia na transformação de dados em informações, depois em decisões e, finalmente, em ações.

As vantagens que o BI pode trazer para uma empresa incluem:

  • Elimina a sobrecarga dos sistemas operacionais;
  • Facilita o acesso à informação;
  • Facilita a navegação dos usuários de negócios pelos dados e informações da empresa;
  • Consolida informações de diversas fontes;
  • Preserva dados históricos da empresa;
  • Fornece informação única e consistente para toda a empresa.

Com o advento da internet/web 2.0, o conceito de BI também ganhou a denominação de Business Intelligence 2.0 , indicando uma extensão da web 2.0 no cenário corporativo. O BI 2.0 estende o uso das informações, buscando utilizar o fluxo de dados que é gerado em tempo real e extrair conhecimento das informações.

O BI 2.0 é uma visão renovada do uso das informações pelas empresas, ampliando o uso dos DWs e das ferramentas de consulta analítica por meio de um processo automatizado e mais dinâmico de tomada de decisão, permitindo ações mais inteligentes.

Check-in realizado por aplicativo móvel.

O cenário corporativo atual é formado por processos que ocorrem em tempo real, em que notícias que chegam a cada minuto podem fazer diferença, e o BI 2.0 visa deixar estas informações disponíveis para que a organização as utilize no momento em que precisar delas. Como exemplos podemos citar os aplicativos de bancos online, que oferecem oportunidade de realização de transações financeiras em tempo real, e os aplicativos de empresas aéreas, com passagens sendo vendidas online, check-in realizados fora dos balcões e cartões de embarque usando QR codes enviados para os e-mails e apresentados em telas de dispositivos móveis. Ocorre que todos estes processos geram muitos, muitos dados!

De acordo com Santos (2017), para adaptar os modelos de negócios para o cenário em tempo real, os aplicativos de software utilizam programação dirigida a eventos, ou event-driven programming . Os dados fluem em tempo real em arquiteturas orientadas a serviços, ou SOA ( Service-Oriented Architecture ), utilizando serviços interoperáveis, que permitem a integração de aplicativos.

sexta-feira, 23 de outubro de 2020

BI ( Business Intelligence )e ferramentas de apoio ao CPM

Os indicadores de performance corporativos podem ser estudados e implementados a partir de uma combinação composta por soluções como Business Intelligence , Business Planning e Business Scorecard.

De acordo com Novato (2017) “Business Intelligence (BI) refere-se ao processo de coleta, organização, análise, compartilhamento e monitoração de informações que oferecem suporte à gestão de negócios”. Ferramentas de BI capacitam as organizações a acessarem dados e explorarem as informações geralmente presentes em um data warehouse (DW). O DW, por sua vez, é criado a partir de operações de Extract, Transform, Load (ETL) advindas de diversas fontes e repositórios de dados transacionais. As informações no DW são analisadas, permitindo que a organização desenvolva interpretações que permitam tomadas de decisões mais assertivas e consistentes.

As soluções de BI em uma organização são de fundamental importância para seu o crescimento estruturado. Assim como nas soluções de BI, os bancos de dados gerenciais (data marts e DW) são utilizados para auxiliar as equipes de planejamento no desenvolvimento da estratégia corporativa, garantindo o acesso facilitado e estruturado às informações necessárias para o desenvolvimento do planejamento. A figura ilustra este cenário. 

Business Intelligence
Fonte: < senior.com.br >

Usando soluções de business scorecard , o acompanhamento dos resultados da empresa pode ser realizado por meio de números, gráficos, mapas e tendências, apresentados por indicadores de desempenho que informam a situação de cada variável analisada de acordo com suas estruturas, estratégicas e filosofias de trabalho. Relatórios gerenciais, emitidos a partir do balanced scorecard, servirão de suporte às organizações na tomada de decisão.

O processo de tomada de decisões

Até aqui, falamos de soluções de apoio às decisões estratégicas para o negócio. Aqui vamos discutir e esclarecer a que se refere, afinal, o processo de tomada de decisões no ambiente corporativo.

Uma das principais atividades que qualquer executivo tem que exercer é a tomada de decisões. Os executivos passam grande parte de seu tempo estudando o ambiente externo no qual os negócios da empresa estão inseridos e procurando orientar o planejamento estratégico da empresa e identificar as melhores ações a serem tomadas.

A tomada de decisão é muito mais do que o momento da escolha da ação, é um processo que envolve processos comparativos, escolha de parceiros, exame da capacidade operacional da empresa, análise de cenários, projeção de futuro, identificação de riscos e de oportunidades, análise da concorrência, dentre outros tantos requisitos (FRANCO, 2009).

Os requisitos de informação gerencial dependem muito do nível de administração envolvido. Existem diferentes níveis de tomada de decisão. Estes níveis são classificados como estratégico , tático e operacional

Níveis estratégico, tático e operacional.
Fonte: < i2.wp.com >

No processo de tomada de decisões é muito importante saber a quantidade e a qualidade de dados e informações à disposição do gestor ou administrador. Para ajudar o executivo neste processo crucial, é necessário utilizar as ferramentas de apoio à decisão em uma hierarquia capaz de diferenciar as necessidades dentro das diversas situações na organização, o que reforça a importância da informação.

Cada nível de administração, seja estratégica, tática ou operacional, possui diferentes necessidades de informação. Isso tem implicações importantes para a escolha das ferramentas de apoio à decisão que a empresa deva adquirir. A figura ilustra os tipos de informação e ferramentas de acordo com o nível de tomada de decisão. 

Informações nos níveis decisórios – utilização dos dados.
Fonte: < jkolb.com.br >.

De acordo com Leme (2017), em função do nível administrativo, estas são as principais atividades com as quais o gestor deve lidar:

  • Planejamento e controle estratégico: “[...] o planejamento estratégico envolve as grandes decisões e os objetivos que a empresa deseja atingir, sendo de responsabilidade da diretoria, do CEO, do proprietário ou de outros profissionais envolvidos na administração.” Estes profissionais também realizam a confecção da missão, da visão e dos valores do negócio, bem como a definição e o efetivo uso dos recursos disponíveis. O planejamento estratégico define os rumos que a empresa deve seguir, visando atingir determinados cenários no futuro. Os planos são mais amplos, com foco no longo prazo – geralmente entre 5 e 10 anos – e devem ser feitos em sintonia com o mercado, usando instrumentos que permitam mensurar e analisar fatores internos e externos para a elaboração dos objetivos.
  • Planejamento e controle tático: O planejamento tático é mais detalhado que o estratégico, pois contém passos e metas para o alcance dos propósitos traçados pela alta administração. Os objetivos da empresa são segmentados para cada departamento ou setor organizacional. “O planejamento tático deve ficar sob responsabilidade da gerência intermediária, que elabora processos e adota ferramentas com o objetivo de atingir as estratégias da empresa. O tempo para execução de cada plano proposto varia de 1 a 3 anos.” (LEME, 2017)
  • Planejamento e controle operacional: “No planejamento operacional do negócio, os processos e as ações elaborados pelo nível tático se tornam rotinas e tarefas concretas. Esse é o nível que demanda menos tempo de abrangência – normalmente apenas alguns meses.” (LEME, 2017) O nível de detalhamento é alto e inclui as pessoas responsáveis pelas atividades, os procedimentos básicos a serem realizados, os recursos e equipamentos para a execução de tarefas, os resultados pretendidos e até mesmo a análise de riscos. O planejamento operacional está diretamente ligado às atividades que os funcionários fazem no desempenho de suas funções. Por isso, as ações operacionais devem ser planejadas em conjunto com eles. As ações operacionais costumam ser mais formalizadas, com procedimentos bem estruturados.

quinta-feira, 22 de outubro de 2020

Definição de CPM – Corporate Performance Management

De acordo com Veras (2014), o termo CPM – Corporate Performance Management , ou Gestão de Performance Corporativa – foi introduzido pelo Gartner Group em 2001. O Gartner Group é um instituto de pesquisa, execução de programas, consultoria e eventos que desenvolve tecnologias que auxiliam seus clientes na tomada de decisões para o desenvolvimento de suas organizações, independente do seu porte. O Gartner, desde meados dos anos 1990, tem acompanhado o desenvolvimento das soluções de Business Intelligence e a evolução do próprio CPM por meio de renomados e reconhecidos especialistas, o que garante à instituição uma posição de respeito e confiabilidade junto a fabricantes e consumidores de soluções corporativas.

O termo CPM também pode ser referenciado como BPM (Business Performance Management) ou EPM (Enterprise Performance Management).

Saiba mais

Gestão do Desempenho Empresarial: saiba o que é CPM, BPM ou EPM e

como o Corporate Perfomance Management pode ser útil em sua empresa

“...os termos CPM, BPM ou ainda EPM são amplamente utilizados para definir os modelos de gestão utilizados para o planejamento e acompanhamento dos resultados de uma empresa.

Mas o que realmente significam e qual sua utilidade? Essas siglas, respectivamente, vêm do inglês Corporate Performance Management, Business Performance Management e Enterprise Performance Management e em bom português significam a mesma coisa: Gestão do Desempenho Empresarial.

[...] o que importa mesmo é o propósito, e todos eles têm o mesmo objetivo: realizar a Gestão do Desempenho Empresarial, buscando sempre o máximo de resultados com o menor esforço (ou com o menor uso de recursos).

[...]

Uma plataforma de Corporate Performance Management não é necessariamente um software ou uma única ferramenta. É mais que isto. É o conceito geral que engloba toda a Gestão do Desempenho Empresarial.

Dentre outros aspectos, uma solução de CPM engloba:

  • Conceitos;
  • Processos;
  • Metodologias;
  • Ferramentas;
  • Sistemas; e
  • Indicadores

Que são utilizados para:

  • Planejar;
  • Medir;
  • Comparar;
  • Analisar;
  • Prever; e
  • Reportar

Todas as informações da organização, permitindo gerenciar o desempenho da empresa de maneira mais racional e integrada. Ou seja, realizar a Gestão do Desempenho Corporativo não é simplesmente implantar um BI. Não é uma ferramenta da área de planejamento e controladoria. Não é uma tecnologia. Não é um software de gestão orçamentária.

Cada um destes componentes é fundamental dentro do Corporate Performance Management, tendo cada um deles funções específicas que podem individualmente com geração de valor genuíno para a empresa. Porém, uma plataforma CPM é muito mais do que qualquer um destes componentes individualmente, é um verdadeiro exemplo de sinergia entre todos eles, que faz com que os resultados gerados com a adoção sejam ainda maiores.”

Corporate Performance Management.
Fonte: RUGGIERO, 2016

Dentre outros aspectos, o CPM engloba funcionalidades para orçamento, planejamento e previsão financeira ( budgeting, planning and forecasting financial ), consolidação de relatórios financeiros estatutários ( statutory financial reporting consolidation ), simulação de rentabilidade ( profitability modeling ), otimização do planejamento estratégico ( optimization strategic planning ) etc., ajudando as organizações a gerenciarem sua performance de maneira racional, eficiente e integrada, como mostra a figura 3.

O CPM contribui para que as organizações empresariais consigam identificar as necessidades do negócio e, a partir de um cenário mais preciso, executem o planejamento, o monitoramento e a análise de ações visando o atingimento das metas empresariais propostas.

Para o sucesso de uma organização é essencial que seus gestores tenham uma definição clara da situação atual da empresa e se as diretrizes adotadas em seu planejamento estratégico estão de acordo com o planejamento realizado. Outro aspecto de extrema relevância é saber determinar os fatores responsáveis pela condição atual da organização, seja esta condição favorável ou desfavorável.

De acordo com Ruggiero (2016), o CPM promove o acompanhamento e a medição da performance de toda a organização e não apenas de departamentos ou unidades de negócio específicas. Pontos críticos e KPIs ( Key Performance Indicators ), como lucro, fluxo de caixa, retenção de clientes, rotatividade de funcionários etc. são frequentemente medidos como parte da estratégia de gerenciamento corporativo.

Um dos princípios do CPM, que é fator crítico para o sucesso de um negócio, está baseado em um aspecto que indica que muitas organizações ainda não possuem um sistema adequado para responder de maneira completa, rápida, segura e pertinente algumas questões simples, como “Como estamos?”:

Perguntas que as organizações fazem
Fonte: Elaborado pelo autor.

Ou ainda questões como: Quanto capacitamos, produzimos, satisfazemos ou lucramos? O quê? Quando? Como? Onde?

Na maioria das vezes, quando uma organização não consegue identificar tais características em seu negócio, também não consegue se organizar melhor para aprender e, no futuro, construir um planejamento adequado que auxilie a corrigir os defeitos e potencializar os acertos, gerando um importantíssimo diferencial competitivo.

Por estes motivos, o CPM tem entrado e permanecido na agenda de muitas pessoas e organizações. As empresas reconhecem que o conhecimento necessário para mantê-las competitivas no mercado e melhorar significativamente seu desempenho já se encontra, em boa parte, dentro da própria empresa, muitas vezes espalhado em diversos sistemas ou depositado em bancos de dados sem o acesso adequado. Isso indica que, para a maioria das empresas, o caminho a seguir não é a geração de informações e conhecimento, mas seu gerenciamento (identificação, classificação em categorias, armazenamento, beneficiamento, disseminação e uso).

quarta-feira, 21 de outubro de 2020

Gestão de Desempenho Corporativo

 Cenário do mundo corporativo

 Mundo dos negócios.
Fonte: Toria/ Shutterstock.

Podemos dizer que, atualmente, estamos diante de um cenário de rara complexidade no mundo corporativo e na sociedade como um todo. Diversos acontecimentos e fenômenos econômicos e sociais, de alcance mundial, têm sido responsáveis pela reestruturação do ambiente de negócios. A globalização da economia, impulsionada pela TI e pelas comunicações, é uma realidade da qual as organizações empresariais e sociais não podem escapar. Com o advento dessa globalização o mundo ficou mais competitivo, as empresas e os clientes ficaram muito mais ágeis e exigentes, e passou a ser fundamental para as organizações empresariais contar com processos automatizados eficientes para apoiar as decisões, que se tornam cada vez mais difíceis. Certamente não somente percebe estas mudanças, como sofre diariamente a influência delas, pois vive em um mundo que lhe oferta novos produtos, frutos das modernas tecnologias, de forma intensa e constante.

As empresas fazem parte do mundo dos negócios que visa o lucro e o retorno dos capitais investidos no menor tempo possível. Nesse ambiente de alta competitividade, as informações assumem um papel importante para o sucesso das empresas. Com a enorme quantidade de informações que são geradas e disponibilizadas todos os dias, são necessários critérios para sua seleção e organização.

Isso porque apenas “saber muito” sobre o negócio não proporciona, por si só, maior poder de competição para uma organização. As informações e os dados, quando aliados a um sistema capaz de realizar a sua gestão, é que começam a fazer a diferença. Assim, a criação e a implantação de processos que gerem, armazenem, gerenciem e disseminem o conhecimento representam o mais novo desafio a ser enfrentado pelas corporações. Termos como “capital intelectual”, “capital humano”, “capacidade inovadora”, “ativos intangíveis”, “big data”, “plano de contingência” e “inteligência empresarial” fazem parte do dia a dia de muitos executivos que estão despertos para essa nova realidade.

Mas é importante ressaltar que dados, informações, conhecimento e sabedoria são conceitos diferentes. Hoppen e Santos (2015) apresentam o gráfico da figura abaixo que ilustra estes conceitos. Dados são valores que quantificam algo capturado da realidade, são a matéria prima da escala do conhecimento. Informações são os dados agrupados e organizados de forma a dar sentido aos dados. Conhecimento se refere às informações de forma contextualizada, de maneira a se poder tomar decisões inteligentes e raciocinadas com base nelas.

Dados, informações, conhecimento e sabedoria.
Fonte: < aquare.la >

A sabedoria indica um conjunto mais complexo de raciocínios que se baseiam nos dados, informações e conhecimento, ampliando o potencial das decisões. De acordo com Hoppen e Santos (2015), o gráfico da figura abaixo apresenta cores cujos significados são:

Azul escuro representa o ser humano com seus sentidos, práticas e vivências.

Laranja representa os elementos potencializadores da inovação.

Verde representa as fases de desenvolvimento do potencial de inovação até a tomada de decisão.

Azul claro indica as ferramentas digitais e computadores que servem de apoio ao trabalho humano, as quais nos ajudam a executar tarefas criativas em crescente complexidade.

O dado é um elemento puro, é um valor que quantifica alguma coisa. Os dados são usados no ambiente operacional e podem ser registrados, selecionados e recuperados de um banco de dados ou obtidos das mais variadas formas de documentos. Pode-se citar como exemplo de dado o valor do faturamento de vendas de uma empresa.

A informação é o dado contextualizado e analisado. Por exemplo, podemos comparar o faturamento de vendas da empresa na região Sul (R$ 500 mil) com o faturamento da região Sudeste (R$ 900 mil). Mesmo havendo diferenças numéricas entre os dados, não é possível dizer qual região teve o melhor desempenho... é necessário estabelecer um parâmetro de comparação, ou seja, criar a informação. Se a meta para a região Sul fosse de R$ 200 mil e a da região Sudeste fosse de R$ 5 milhões, ficaria claro que a região Sul foi a que teve um desempenho melhor!

O conhecimento está relacionado à habilidade de se criar um modelo que descreva dados e informações e aponte ações a serem implementadas e as decisões a serem tomadas. A compreensão, análise e síntese, necessárias para a tomada de decisões inteligentes, são realizadas a partir do nível do conhecimento. No caso do exemplo do faturamento da empresa, o conhecimento dos dados e da informação sobre o baixo desempenho da região Sudeste deveriam implicar em ações corretivas.

A sabedoria está relacionada à pergunta: o que você vai ou pode fazer com base nos dados, informações e conhecimentos? A prática e a experiência proporcionada pelo conhecimento leva à sabedoria, que torna o gestor mais capacitado a realizar raciocínios mais complexos. No exemplo da empresa, a sabedoria poderia levar à busca de soluções inovadoras para aumentar o faturamento.

(Fonte: HOPPEN; SANTOS, 2015)

As informações, para terem ou manterem o seu valor, devem ser consistentes e ter o mesmo significado para todos os membros da organização, ou seja, a informação deve ser transformada efetivamente em conhecimento e distribuída, tornando-se acessível aos interessados. A informação aplicada torna-se conhecimento e passa a ser um ativo da empresa, sendo utilizada para definir estratégias de curto, médio e longo prazos, e não mais apenas um suporte à tomada de decisão. A sabedoria, fruto da experiência, dá um passo em direção à busca por soluções mais complexas e inovadoras. Essa realidade já é percebida, pelo menos em parte, por muitas empresas.

Um grande problema encontrado nas empresas são muitos dados distribuídos por diferentes sistemas. Por exemplo, caso seja necessária a emissão de um relatório com informações de um certo departamento que estão armazenadas em um determinado sistema, cruzando com os dados de um outro sistema, isso pode se tornar uma tarefa de semanas. Mas, geralmente, as empresas não podem esperar semanas por um relatório. As decisões estratégicas devem ser tomadas em pouco tempo, pois o mercado movimenta-se rapidamente e é muito dinâmico, e qualquer atraso pode representar grandes prejuízos para uma empresa, implicando até mesmo na sua perda de competitividade.

Turban et al. (2009), ao definir a dificuldade e a deficiência em se obter informações nos ambientes corporativos, afirma que a TI tem sido mais uma produtora de dados do que de informação, relegando a um segundo plano as estratégias de negócios. Os altos executivos não têm conseguido usar as novas tecnologias porque não têm acesso às informações necessárias em tempo hábil e de forma adequada. Assim, como já dissemos, o uso de sistemas e processos automatizados de gestão do conhecimento e apoio às decisões se torna essencial.

terça-feira, 20 de outubro de 2020

Refatoração e TDD – Test Driven Development

Uma programação de qualidade deve envolver um processo de melhoria contínua, com o mínimo de erros e total compatibilidade com o código existente. Não é incomum, depois de algum tempo, o código ficar poluído e desorganizado, e a refatoração pode ajudar a introduzir melhorias no código existente. 

 Desenvolvimento Orientado a Testes.

 

 

De acordo com Fowler (2004), refatoração

é o processo de alteração de um sistema de software de modo que o comportamento observável do código não mude, mas que sua estrutura interna seja melhorada. É uma maneira disciplinada de aperfeiçoar o código que minimiza a chance de introdução de falhas. Em essência, refatorar é melhorar o projeto do código após este ter sido escrito.

Assim, como benefício, o código se tornará mais simples, legível e com boa qualidade.

Falhas de software são tão comuns quanto danosas. É certo que a experiência diz que é quase impossível remover todos os erros de programação, no entanto, quando aplicamos testes adequados durante o desenvolvimento conseguimos eliminar a maioria dos erros comuns.

O sucesso do processo de refatoração depende da sua associação com testes, senão fica difícil saber se a refatoração foi feita corretamente, ou seja, não alterou o comportamento e as funcionalidades originais do código, e não introduziu erros em partes que estavam funcionando corretamente antes.

Desta forma, a refatoração e o processo de desenvolvimento dirigido a testes ou TDD ( Test Driven Development ) são conceitos relacionados, pois um apoia o trabalho do outro e funcionam de forma harmoniosa.

De acordo com o artigo da Caelum (2014), no TDD você escreve seus testes antes mesmo de escrever o código de produção, e o conjunto de testes automatizados gerados pela prática oferecem mais segurança ao desenvolvedor quando alterações no código são necessárias. Isso porque os testes automatizados, que podem ser executados em segundos, podem ser utilizados sempre pelo desenvolvedor e, caso ocorra algum erro, ele é rapidamente notificado e consegue corrigir o problema antes de enviar a versão para o cliente.

Muitos o consideram uma técnica de desenvolvimento. Alguns também o consideram como uma forma de criar um código limpo. Mas o fato preponderante é que atua como um grande apoio na qualidade do desenvolvimento de software.

O funcionamento do TDD é simples: o desenvolvedor escreve um teste que falha, faz este teste passar da maneira mais simples possível e, por fim, refatora o código. Esse processo é conhecido como Ciclo Vermelho-Verde-Refatora, conforme ilustra a figura 49.

  1. Vermelho – Escrever um teste automatizado simples que não passa, e provavelmente não compile na primeira execução;
  2. Verde – Fazer o teste passar rapidamente;
  3. Refatorar – Melhorar o código que já está escrito, tornando-o mais fácil de entender e modificar.

Estudos nos mostram que desenvolvedores que praticam TDD gastam menos tempo debugando , escrevem mais testes automatizados para uma funcionalidade e defeitos são encontrados mais rapidamente do que por aqueles que não praticam TDD. Em termos de qualidade interna, os estudos mostram que os desenvolvedores tem uma forte percepção de que a prática os ajuda a pensar melhor sobre seu projeto de classes (CAELUM, 2014).

segunda-feira, 19 de outubro de 2020

Programação em Pares

Nesta prática, dois programadores atuam juntos na criação do código. Geralmente um deles fica com a responsabilidade de escrever o código, enquanto o outro atua como observador, revendo cada linha do código. Depois os papéis são trocados.

Um dos grandes benefícios é a troca de experiências entre as partes.

A redução do tempo de desenvolvimento é gradual, à medida que ocorre um sincronismo natural entre os pares. Muitas vezes, o amadurecimento da equipe chega ao ponto de haver sempre um remanejamento entre os pares, permitindo uma grande interação e amplo conhecimento de todos por todas as fases em andamento.

Além de contribuir para o intercâmbio entre os componentes da equipe, favorece um maior entrosamento e melhor relacionamento entre seus membros, o que contribuirá para o amadurecimento pessoal de cada um.

A crítica a esta método ocorre quando há uma diferença muito grande no nível dos profissionais, como por exemplo, níveis júnior e sênior.

Metáfora

A metáfora destaca uma similaridade entre duas coisas bem diferentes. Uma metáfora bem escolhida, em geral, não precisa de muita explicação, e às vezes não precisa de nenhuma.

O uso de metáfora é uma forma de tentar entender a necessidade do cliente entendendo a realidade dele.

O que é ser rápido para um cliente? Um profissional da área vai entender de uma forma, enquanto um profissional de outra área vai entender de forma completamente diferente.

Metáforas são usadas para a compreensão da real necessidade do cliente de acordo com padrões aceitáveis para ele. Boas interpretações dos requisitos dos clientes podem gerar metáforas que explicam suas necessidades. Os modelos ágeis investem em metáforas visando a simplicidade na linguagem e facilidade na comunicação.

Como exemplo, vamos explicar ao cliente, por metáfora, a necessidade de uma reunião para planejamento de uma nova versão do sistema sendo desenvolvido.

Para uma vitamina ser saudável, não basta apenas bater ingredientes escolhidos aleatoriamente. De acordo com sua necessidade ou carência nutricional, você vai escolher as frutas adequadas, com a qualidade desejável, na quantidade correta, e vai batê-las em um liquidificador. Após algum tempo de atividade, você vai retirar do liquidificador um resultado vitamínico que poderá não apenas ser nutritivo, mas também agradável ao seu paladar. Assim se dá com as reuniões de planejamento. Todas as ideias dos participantes, como que batidas juntas, vão fornecer um agradável resultado nutritivo ao negócio.

domingo, 18 de outubro de 2020

Práticas XP

De acordo com Teles (2014, p. 81),

práticas em XP representam aquilo que você verá as equipes XP fazendo diariamente. Práticas por si só são estéreis. A menos que haja algum propósito, dado por um conjunto de valores, elas não fazem muito sentido. Programação em par, por exemplo, não faz sentido como algo para simplesmente ir fazendo. Fazer par simplesmente para agradar o chefe é frustrante. Programação em par para comunicar, obter feedback, simplificar o sistema, capturar erros e aumentar sua coragem faz bastante sentido. Assim, práticas dependem da situação e do contexto. Se a situação muda, você seleciona práticas diferentes para abordar estas condições. Seus valores, por sua vez, não têm que mudar para se adaptar a uma nova situação.

Na XP as práticas mais utilizadas incluem: jogo do planejamento, programação em pares, pequenas versões, propriedade coletiva, metáfora, integração contínua, projeto simples, semana de 40 horas, testes, cliente presente, refatoração, padronização de código e reunião diária.

A seguir, vamos estudar algumas destas práticas.

Integração contínua

A integração contínua envolve uma atividade relativamente sofisticada e complicada. Esta prática normalmente utiliza ferramentas automatizadas, de forma que qualquer alteração no código provoca uma reavaliação de todas as rotinas e, considerando a possibilidade de erro, dispara mensagens para os responsáveis, acusando uma integração mal sucedida. No caso de sucesso, também dispara mensagens informando que a operação foi realizada de forma bem-sucedida. A isto se aplica um conceito chamado servidor de construção. Este servidor de construção atua como “juiz”, julgando ou considerando as alterações, validando-as quando detectado sucesso nos procedimentos. Em suma, integração contínua envolve a construção de um código e seu teste de forma automática, e em intervalos frequentes, em um servidor de integração. A figura ilustra esta prática.

Integração contínua
Fonte: MOREIRA, 2010

sábado, 17 de outubro de 2020

Simplicidade

O sucesso repousa sobre a simplicidade. Sofisticação normalmente envolve tempo e, consequentemente, dinheiro. 

 Simplicidade.

 

Por Ilin Sergey / shutterstock.com.

Sempre que for possível, seja simples, não invente, faça primeiro o básico e funcional. Depois de isto feito e o problema resolvido, pode tentar sofisticar, se tiver tempo, mas deixe o simples em funcionamento.

Evite soluções genéricas, pois, em médio prazo, podem provocar um volume maior de atividades para torná-la específica.

Coragem

Fazer o certo pode envolver atitudes positivas e corajosas. Isso envolve aprender com os erros.

Como você se sairia para desmontar o motor de um carro sem qualquer manual de instrução? Tudo bem, você não é um mecânico, mas é um desenvolvedor, então como será seu desenvolvimento sem um projeto definido e aprovado? Muito embora seja um assunto de seu conhecimento, a manutenção ou ampliação deste sistema podem se tornar tão complexos quanto um não mecânico desmontar um motor sem manual nenhum.

A coragem lhe induz a fazer o que precisa ser feito apenas uma vez. Significa deixar o cliente ciente do que está acontecendo, seja bom ou ruim. O medo pode levá-lo a fazer o errado várias vezes. Pode significar ter que jogar um código ruim fora e iniciar novamente a partir do marco zero. Isto pode significar ser mais rápido do que ficar consertando uma situação complicada e mal desenvolvida.

No XP, à medida que o desenvolvimento vai ocorrendo, o código é colocado em prática, antecipando, assim, possíveis dificuldades com a qualidade do código ou lógica usada para o desenvolvimento.

É importante entendermos que tanto o Scrum como a XP aplicam o manifesto ágil, praticando iterações e fornecendo maior visibilidade no desenvolvimento.

Respeito

Respeito é um valor que serve de base para todos os outros. A comunicação entre as pessoas envolvidas em um projeto somente fluirá se um se importar com o outro, respeitando-se mutuamente. Se não houver respeito em um projeto, este estará fadado ao fracasso. Saber ouvir, compreender e respeitar o ponto de vista dos membros da equipe é fundamental para que um projeto de desenvolvimento de software seja bem sucedido, por isso é um dos pilares do XP. 

Respeito

e fornecendo maior visibilidade no desenvolvimento.