Quais métodos estão disponíveis para mostrar aos colegas as vantagens de uma solução de banco de dados + aplicativo em relação ao Excel?

12

Eu trabalho em uma empresa onde existem planilhas do Excel em todos os lugares. Como meus colegas não são programadores, tenho certeza de que não contemplaram que possa haver uma maneira melhor / mais fácil / mais produtiva de gerenciar seus dados. Naturalmente, defendo um tipo de aplicativo que pode alavancar os recursos encontrados em bancos de dados relacionais e front-ends interativos, adaptados às necessidades dos vários fluxos de trabalho atualmente distribuídos em planilhas diferentes.

O problema que tenho é que tentei explicar os méritos de tais sistemas para várias partes, mas, na falta de realmente escrevê-los do zero, estou tendo dificuldades para convencê-los ou até mesmo de expô-los à grama mais verde. As pessoas em geral entendem o Excel (mesmo que não sejam usuários avançados), mas talvez fiquem confusas quando a palavra 'banco de dados' aparecer ou você começar a falar sobre 'código'.

Alguém pode sugerir um método, com evidências de como um fluxo de trabalho foi aprimorado mudando de planilhas para um aplicativo real?

boatingcow
fonte
26
Não descarte a possibilidade de que as desvantagens do seu plano proposto superem as vantagens. O Excel é uma ferramenta maravilhosa para não programadores.
Avner Shahar-Kashtan
2
Não é rentável impor sua visão de mundo a especialistas em seu domínio. O que você pode fazer, no entanto, é criar um protótipo de um aplicativo e mostrá-lo. Comece pequeno, facilite a interface com as planilhas existentes do Excel e sempre teste suas idéias antes de exibi-las.
Deer Hunter
@ Avner - Eu concordo que em algumas situações você está 100% certo, como aponta o cervo. Embora um dos problemas que vejo o tempo todo seja o fato de meus colegas não serem necessariamente especialistas ...!
boatingcow
1
Talvez não sejam especialistas em bancos de dados ou mesmo no Excel, mas, comparados à maioria, podem ser especialistas em seu domínio comercial e, como tal, devem conduzir as decisões.
22613 Michael Durrant
1
O banco de dados + aplicativo pode muito bem ser banco de dados + Excel. Meu colega o utiliza para apresentar números do banco de dados ao usuário interno do Excel. Você acabou de dizer ao Excel para ler no banco de dados (dsn). Para usuários externos, temos o aplicativo para gerar html a partir do mesmo banco de dados.
22813 Imel96 #

Respostas:

15

Quando as pessoas gerenciam dados, há três maneiras fundamentalmente diferentes de agregar valor:

  1. Informática
  2. Armazenamento e Recuperação
  3. Encaminhamento e compartilhamento.

Para computar no nível da aritmética simples, você não pode vencer o Excel. Mesmo se você for um programador experiente, poderá criar uma planilha em uma fração do tempo necessário para escrever e depurar um programa de computador. Você pode até agrupar dados em tabelas e usar funções de pesquisa para obter algumas das vantagens que obtém com as consultas. A tabela dinâmica e os recursos gráficos tornam os dados resumidos simples e fáceis.

Para armazenamento e recuperação no nível de arquivo / documento, o Excel é tão útil quanto o MS Word ou o MS Access. Para recuperação no nível de consultas SQL, o MS Access funciona muito melhor que o Excel, embora o Access seja severamente limitado, como você saberá se já comparou o Access com um DBMS de força industrial.

Para compartilhamento de dados, o Excel é extremamente primitivo. A maioria das lojas que adotam o Excel por contágio enfrentam problemas neste momento. Sua pergunta sugere que esse é o caso de sua loja.

Existem vários problemas na introdução de bancos de dados em um local que não está pronto para bancos de dados. Um é político. As pessoas que manipulam suas planilhas podem reconhecer o problema geral do sistema, mas estão extremamente satisfeitas com o controle que têm sobre seus pequenos dados. Você pode esperar resistência se tentar substituir o gerenciamento e o controle central pela solução descentralizada que você tem agora. Parte dessa resistência é justificada.

Outro é o custo dos bancos de dados. Como já foi afirmado em outra resposta, as desvantagens do banco de dados podem superar as vantagens.

Outra é a credibilidade dos bancos de dados. As pessoas que colocam dados nos bancos de dados geralmente o fazem porque é o trabalho delas ou talvez ganhem algo por si mesmas, como fazer um pedido em um site. Eles não fazem isso por espírito comunitário. Pelo menos não muito. Sem boas entradas, o banco de dados nunca ganha credibilidade.

Uma solução em que estou trabalhando agora em um site em que as planilhas estão apenas pegando é a criação de um protótipo de banco de dados no MS Access. Há uma desvantagem nítida nisso: as pessoas podem aprender a coisa errada sobre os bancos de dados, algo que terão que desaprender em um estágio posterior da evolução. Eu também acho que os recursos de relatórios do Access estão muito ausentes. e se você estiver pensando em usuários simultâneos, precisará pensar além do Access, embora o Access esteja fazendo progressos nesse sentido.

Gosto de três coisas sobre o Access: é simples, rápido e barato produzir protótipos primitivos. Quase não há curva de aprendizado, especialmente se você já entende a análise de dados e a composição da tabela.

Segundo, é menos intimidador do que um grande DBMS centralizado. Quando os usuários são mostrados como abrir uma tabela do Access no modo de exibição de tabela, apenas clicando nela, perdem o medo de tabelas. E o fato de um único arquivo armazenar os dados, as definições de dados e o aplicativo mantém as coisas simples para as pessoas que não pensam em termos de sistemas.

Terceiro, ele funciona bem com o Excel e o Word. copiar uma tabela ou consulta em uma planilha do Excel é tão simples quanto clicar em um botão.

Antes de chegar a esse ponto, tive que superar uma atitude esnobe que tinha sobre o Access. Não é SQL Server ou Oracle. Mas tem seus usos, desde que você entenda as limitações

Dito tudo isso, você ainda terá uma tarefa monumental quando chegar a hora de mudar sua loja de muitos bancos de dados do Access para um único banco de dados integrado em larga escala, com gerenciamento profissional e recursos compartilhados.

Walter Mitty
fonte
Obrigado pela sua resposta considerada. Acesso é uma palavra suja na maioria dos lugares em que estive, mas me pergunto se não seria útil o suficiente como uma 'ferramenta de prototipagem' para esta empresa. Além disso, eu aprecio o poder do Excel (como nas funções gráficas), portanto sempre haverá um conector disponível para conectar o Excel a qualquer solução que eu criar.
boatingcow
1
Entendo por que o Access é uma palavra suja entre muitos especialistas. Eu mesmo teria diminuído a votação antes de me livrar da minha atitude esnobe. O problema é que, como Wyatt disse, há uma classe de problemas para os quais o Access é uma ferramenta totalmente adequada e onde você não precisa da capacidade de um DBMS completo. O problema geralmente ocorre quando alguém que nunca aprendeu os princípios do design de banco de dados de som (incluindo, mas não se limitando à normalização) tenta montar um banco de dados do Access usando apenas intuição ingênua. O resultado é geralmente terrível.
Walter Mitty
2
Muitas das deficiências do Access podem ser atenuadas usando um banco de dados do SQL Server Express para o armazenamento de dados em vez de um .MDB ou .ACCDB. Você obtém melhor desempenho, melhor estabilidade e todas as vantagens da RAD que o Access oferece.
Robert Harvey
@RobertHarvey - bom plano, mesmo que você mantenha apenas a interface do usuário em um projeto de acesso e o armazenamento de dados em outro que possa percorrer um longo caminho.
26613 James Snell
5

Gostaria de acrescentar algumas idéias / pensamentos à boa resposta de @ WalterMitty.

Ele está certo no que realmente depende da finalidade dos arquivos do Excel. Eu acrescentaria, no entanto, que se eles contêm regras E dados complexos, você pode pensar em aproveitar o poder dos mecanismos de regras. Os mecanismos de regras, como Drools , OpenRules ou OpenL Tablets, permitem que você use arquivos do Excel para armazenar as regras de negócios e (pelo menos para os Drools que eu conheço), para atualizar essas regras rapidamente.

É uma excelente maneira para as pessoas de espírito empresarial manterem o controle de seus ... negócios e separarem adequadamente os negócios dos dados que são seu trabalho, ou pelo menos o trabalho do departamento de TI. Acho que os empresários concordam que o armazenamento, a manutenção e o backup devem ser tirados de seus ombros. Você deve assustá-los um pouco com a parte de backup:

  • O que aconteceria se o disco rígido do cara morresse repentinamente?
  • O que aconteceria se o arquivo fosse corrompido, excluído e redefinido inadvertidamente?
  • Se migrarmos para o Excel 2013 a partir do Excel 2007, tudo ficará bem?

Agora, se você seguir esse caminho, pense também no fato de que, se você adicionar bancos de dados, será seu trabalho manter a saúde e a integridade deles. Ou seja, você deve conceber uma maneira ou preparar sua infraestrutura de TI para manter os backups de dados. Embora não seja tão sofisticado quanto os bancos de dados da Oracle ou da IBM, o Microsoft Access pode produzir backups (embora não tenha certeza de que isso possa ser automatizado).

Por último, mas não menos importante, se eles aceitarem, não esqueça que você precisaria de alguém para analisar os dados de negócios, conceber o banco de dados, preparar um plano de migração, permitir que as pessoas de negócios enviassem planos de evolução etc. Dependendo da quantidade de dados, pode ser um projeto de TI de um determinado tamanho e você provavelmente será responsável por ele . Prepara-te! :-)

Jalayn
fonte
4

Ao tentar persuadir as pessoas sobre as vantagens de usar um sistema diferente, evite tentar persuadi-las.

Eu sei que isso soa muito estranho.

Mas o que eu quero dizer é o seguinte:

Pessoas gostam de usar o sistema atual. Isso funciona para eles. É fácil de usar e rápido para fazer alterações. Para convencer as pessoas a usar outro sistema, trate-as como adultos:

Estabeleça os prós e contras do excel e de uma abordagem de banco de dados. Explique as conseqüências de curto e longo prazo de cada uma. Se você pode mencionar todos os benefícios de AMBOS e ainda persuadir as pessoas a mudarem, você fez um argumento convincente o suficiente. A chave é permitir que ELES tomem a decisão de que uma abordagem de banco de dados seja melhor baseada nos fatos e conceitos que você apresentou.

Michael Durrant
fonte
1

O problema que tivemos foi o de diferentes planilhas do Excel com propósitos diferentes, mas com os mesmos contatos. Então, quando um contato mudava de endereço, seria difícil sincronizar todo o excel e, embora o endereço fosse alterado na planilha 1 do excel, ele ainda recebia correio porque a planilha 2 do excel não era atualizada.

Resolvemos isso com um banco de dados central de clientes.

Pieter B
fonte
1

Eu trabalhei para uma organização que tinha planilhas em todo o lugar, principalmente porque os recursos de TI estavam irremediavelmente sobrecarregados. Eles teriam movido isso para um aplicativo se fosse possível - simplesmente não era possível.

Uma das coisas que fiz depois que saí dessa organização foi criada uma ferramenta para gerar programas de manutenção de tabela C # / SQL Server a partir de planilhas do Excel. Ele assume que o cabeçalho da coluna é o nome da coluna para fins de construção de tabela e rotulagem de campo. No entanto, este é um instrumento bruto. Acabou se acostumando a coisas que não tinham nada a ver com o Excel.

Os problemas que tivemos em várias categorias:

  • Validação: Quando as regras de validação são complicadas, as pessoas precisam manter os procedimentos em mente. É possível projetar a planilha com instruções 'if' em todo o lugar, desde que as pessoas entendam como elas funcionam.

  • Compartilhamento: como indicado em outro lugar, se uma pessoa tiver uma planilha de compartilhamento de rede aberta para leitura / gravação, outros usuários poderão apenas ler. Não estávamos no ponto em que poderíamos abrir uma planilha no modo de colaboração. Isso era outra coisa que o pessoal de TI não conseguia lidar no momento.

  • Consistência do esquema: na situação em que estávamos, tínhamos uma planilha para cada estado: o formato era comum, mas os dados do estado por estado viajavam em arquivos separados. Se alguém fez um uso criativo de uma coluna, todos tiveram que concordar com esse uso, o que nem sempre foi garantido.

As planilhas estavam sempre em um compartilhamento de rede e o backup do servidor todas as noites; portanto, nada disso era um problema. Havia também a possibilidade distinta de um deles ser acidentalmente enviado por e-mail para um destino ao qual não pertencia. Embora a probabilidade de dano real fosse pequena nesse caso, a organização era aquela em que "liderar pelo exemplo" era fundamental para sua credibilidade. Esse tipo de bagunça teria sido embaraçoso.

Vi um anúncio no Craigslist onde alguém precisava de um "Excel Guru". Passei isso para um amigo que estava entre os empregos, e ele descobriu que a empresa tinha um sistema de estimativa de contratação de obras operando em locais em todo o estado. Alguém aqui havia arbitrariamente manipulado o sistema para "fazê-lo funcionar mais em seu estilo". Qualquer que fosse esse estilo, causou muitos danos. Ele passou vários dias consertando. Dificilmente ele entregou o trabalho e foi pago, o chamaram de volta para consertar outro em outra cidade. Mesma história: alguém arbitrariamente o "corrigiu" para fazer o que queria. Este foi ainda pior.

Sistemas complicados como esse precisam estar 'fora do alcance' da personalização ad-hoc.

Meredith Poor
fonte