É um paradoxo permanente a questão entre desenvolver uma aplicação ou utilizar pacotes de software já prontos. Os pacotes prontos disponíveis no mercado falam muito em flexibilidade. Esta tal flexibilidade é uma forma de confundir os usuários e tornar a curva de aprendizado muito maior. Uma série de funções que a empresa não irá utilizar ficam disponíveis nos manuais, telas e opções do menu dificultando a operação e o entendimento dos usuários.
Entretanto, podem existir determinadas situações que a aplicação, por mais flexível que seja, não atende e são definidos procedimentos administrativos não muito simples para que possam ser processadas, exigindo um procedimento especial manualizado. Juntando estes dois pontos a curva de aprendizado é muito grande e, portanto, dispendiosa. O Desenvolvimento tem maior chance de ter uma curva de aprendizado mais curta porque considera a nomenclatura do cotidiano operacional do cliente evitando um choque cultural. As telas e manuais ficam mais limpos e somente ficam disponibilizadas as informações realmente utilizadas. Os usuários terão uma curva de aprendizado bem mais curta e se identificarão mais facilmente com as opções necessárias ao seu cotidiano operacional.
Por outro lado, desenvolver com equipe própria é um risco em função da escassez de recursos, das indefinições e mudanças de foco. Quando esta atividade é feita por nossos especialistas, o simples entendimento da operação da empresa já norteia muitas definições e focos. Desenvolvemos um raciocínio empresarial e ele norteia a maioria das decisões que precisam ser tomadas ao longo do tempo. Entender a operação da empresa e raciocinar a partir desta operação já norteia boa parte do que é necessário e de como organizar as informações para que atendam a operação.
Se os pacotes estão prontos, testados e operacionais porque demoram tanto para serem implantados? A resposta é muito simples: os usuários não entenderam como alimentar suas telas. Se não fosse isto, a implantação seria rapidíssima. Bastaria fazer alguns cadastros básicos e pronto o sistema está implantado. O fator limitante para a implantação é o aprendizado dos usuários. Quanto mais rápido eles aprenderem, maiores são as chances de implantação ser rápida e com sucesso. No final o que se discute é a curva de aprendizado, portanto, treinamento.
Dentro do contexto de ter um pacote pronto e que possa facilmente ser customizado pesquisamos o mercado e existem uma infinidade de tecnologia disponíveis. Das existentes procuramos as de maior performance e de melhor custo benefícios para nossos clientes. Elegemos como linguagem o JAVA em função de ser gratuita e de atender nossas premissas com maior presteza. Como banco de dados partimos do princípio multi banco de dados, ou seja, poder utilizar qualquer banco de dados relacional. Já usamos nossos aplicativos com MySQL, Oracle, Posgree, SLQServer e outros. Criamos uma ferramenta própria para nos ajudar na tarefa de desenvolver em Java, que chamamos de Framework-Quarks. Atualmente estamos num processo de conversão e adaptação de nosso Framework-Quarks para que possa funcionar além do Desktop na Web e em dispositivos portáteis.
Vamos a seguir enumerar as características que fazem de nosso framework uma poderosa ferramenta no auxílio de customizações de nosso ERP:
Menus configuraveis por usuário
Telas padrões com icones para cada função
Possibilidade de histórico de manutenções a nível de campo ou registro
Possibilidade de anexar a qualquer registro outros documentos que ficam gravados direto no banco de dados