Quanto mais padronizado o sistema, melhor!
Será mesmo que um sistema personalizado é o melhor para sua empresa? Neste post, você vai entender o que é customização de software, sua diferença com os softwares de prateleira e se, realmente, um software personalizado é a melhor solução.
Quer saber o que é customização de software? Não é difícil entender o que é customização de software, veja:
Vamos começar com uma explicação bem simples:
Customizar é fazer algo especialmente para um Cliente (do inglês “customer” ou Cliente). Em termos de sistemas esta expressão é usada para definir “rotinas” (programas) feitos ou ajustados especialmente para você, consumidor do sistema.
Poxa, se é de acordo com o desejo do Cliente, é bom, correto?! Sim e não.
“Sim” pois terá atendido à uma necessidade específica do seu negócio. Mas não porquê terá um custo adicional e possivelmente uma série de reflexos negativos num futuro próximo se não forem tomados os devidos cuidados que citaremos a seguir.
Agora que você entendeu o que é customização de software, vamos descobrir, por que preciso customizar meu software? Preciso mesmo de um sistema personalizado?
Vamos a algumas hipóteses:
Durante o processo comercial não foram observadas todas as características da sua operação. Em especial com os sistemas pouco especialistas e as vezes até mesmo sistemas especialistas são comercializados sem o devido cuidado.
Na Nérus, estamos sempre atentos.
Em primeiro lugar somos especializados em sistemas para varejo com redes de lojas, em ramos específicos (móveis, eletro, magazine, material de construção e mais alguns poucos ramos).
Não mexemos com mais nada. Além disso, nosso processo comercial prevê uma análise antecipada, visita a referências, etc. Isso tudo diminui o risco de encontrarmos algo inesperado.
Este é um dos principais fatores que faz com que a empresa precise de um software customizado.
Em especial grandes ERPs nasceram numa época em que customizar era uma forma de ganhar mercado atendendo com o mesmo software vários segmentos e ramos.
Essa era uma época em que a estratégia de marketing dos fornecedores era a generalização. Ou seja, o mesmo sistema deveria ser utilizado em todos os ramos.
Para conseguir resolver isso, desenvolveram tecnologias e ferramentas que permitiam que os sistemas fossem adaptados para cada cliente. E isso, quase sempre, era feito durante a implantação.
Os riscos dessa abordagem são vários e os citaremos à frente. Contudo essa era uma das principais causas.
Essa é outra justificativa para se customizar.
Ou seja, você precisa de algo que outros clientes do fornecedor não pediram.
Logo, a única saída é fazer para você mesmo ou esperar até que outros clientes precisem.
Contudo, quando você opta por um sistema personalizado, potencialmente será atendido pois caso uma demanda especial atinja um determinado segmento, a grande maioria dos clientes desse fornecedor vão precisar.
Um bom fornecedor de software está constantemente atento à mudanças no mercado. Assim, rotinas especiais são constantemente desenvolvidas e colocadas a disposição dos Clientes que podem utilizá-las ou não;
Sua empresa descobriu uma determinada prática de mercado e deseja mantê-la o máximo de tempo sob domínio da empresa.
Ok, essa é uma justificativa razoavelmente boa. Contudo, como processos são muito difíceis de serem mantidos em sigilo em breve alguém fará a mesma coisa e sua “customização de software estratégica” perde o valor.
É importante estar mais atento à questões mais relevantes como mix de produto, níveis de estoque, atendimento, ponto de venda e etc.
Leia também: Financiamento para desenvolvimento de software: use o Cartão BNDES
Bom vamos as questões críticas! Quais os reflexos de usar um software customizado:
O primeiro ponto é obvio, o custo. Tudo que é feito especialmente, tem um custo adicional.
Logo, sempre que puder evitar customizações seu orçamento irá agradecer. Quando se fala de customizações complexas, os custos podem ser altíssimos. Pois podemos estar falando de vários e vários aditivos de contrato para completar algo que não foi bem combinado ou entendido.
Outro reflexo negativo de um sistema personalizado é o grau de dependência que se cria do fornecedor. Ou, pior ainda, das pessoas que estão customizando.
Várias vezes a prática de customização é “ensinar alguns profissionais do cliente a customizar”. Essa é uma terrível opção.
Por quê? Fácil responder. Nessa hora o fornecedor transfere toda a responsabilidade para uma equipe menor ou até para o próprio Cliente.
Aliás, nos casos mais graves o cliente, “as vezes até de grande porte” fica dependendo de uma ou mais pessoas que fizeram tais customizações.
Assim, o fornecedor não resolve mais, as pessoas que customizaram agora também têm que ser envolvidas.
Fuja de customizações mantidas por pequenas equipes ou parceiros. Customizações internas, ainda pior. Não aceite.
Quando realmente não tiver outra opção, então, exija que o fornecedor garanta as customizações que foram feitas.
Outro aspecto negativo do software personalizado é que algumas customizações são “invasivas”. Ou seja, invadem o sistema original alterando seu comportamento em questões críticas.
Outra vez uma rotina que deveria servir para melhorar o desempenho do sistema está na verdade causando sua instabilidade.
Pior, você pode ficar no meio do “customizador” e do fornecedor do sistema. Um alega que a responsabilidade é do outro e você fica a “ver navios”;
Em especial as tais customizações “invasivas” aumentam o grau de complexidade do sistema. Ele (o sistema) começa a fazer muito mais tarefas do que era esperado.
Nessa hora, se a customização não tiver passado por uma boa “engenharia de software” você pode sofrer com a performance (desempenho ou tempo para realizar determinadas tarefas).
Em especial quando se fala de atendimento ao consumidor e rotinas de cálculo de estoque, elas podem tornar sua vida muito difícil.
Se o sistema fica lento na frente de um consumidor a resposta pode ser perda de vendas. Aliás, se estiver em grandes rotinas, você pode ficar sem produtos na loja caso as transferências não possam ser feitas a tempo.
Cuidado com isso.
Por ultimo, mas não apenas isso, quando você atualizar seu sistema terá que preparar cuidadosas rotinas de testes feitas, infelizmente, customizadas para você.
Ora, o fornecedor não sabe o que foi feito especificamente, logo, não pode se responsabilizar por isso. Você terá que testar e aí sim atualizar o software personalizado.
Mais custo, dor de cabeça e tempo para trocar uma versão que pode ser muito importante para sua rotina.
Confira em nosso blog: 10 exemplos de riscos de um projeto de software: conheça e previna-se!
Obviamente, fazemos as customizações, mas devemos nos esforçar para tomar todos o cuidados possíveis e sempre que possível evitá-las.
Entretanto, como não é possível evitá-las totalmente, eis alguns cuidados que sugerimos:
Procure um fornecedor de sistemas especializado!
Quanto mais aderente o software for ao seu ramo de negócio, menos customizações serão requeridas. Melhor ainda, quando algo for necessário, possivelmente será necessário para todos os clientes do ramo. E, assim, o fornecedor do sistema fará isso em larga escala.
Num passado remoto, isso era relativamente difícil. Hoje em dia, várias software houses como a Nérus se dedicam a determinados nichos.
Ok, não teve jeito, vai ter que customizar! Invista todo tempo necessário para desenhar e aprovar uma boa documentação.
Existem várias técnicas hoje em dia como Pontos de função, BPM, Fluxogramas, DER, DFD e etc.
Todas têm qualidades e fraquezas, opte por uma e siga em frente. Contudo, desde que “sistemas são sistemas” eles são compostos por telas, relatórios, arquivos e processos.
Faça um protótipo ou exija que seu fornecedor adote essa prática. Usando ferramentas, desenhe as telas, relatórios, arquivos e processos. Especificações puramente compostas por texto (descritivas) são altamente frágeis e podem causar um grande desgaste. Não deixe isso ocorrer;
Além da documentação, a qual é parte das boas práticas de engenharia de software, existem outros cuidados essenciais que não cabem nesse texto.
Escolha um fornecedor que tenha boas práticas de desenvolvimento (Ex: MPS-BR) para aumentar o nível de confiança;
Mantidas de forma centralizada - o que é isso?! Simples, exija que o fornecedor mantenha as customizações guardadas na empresa dele e não na sua.
Por que Ele nunca vai alegar que não sabia que havia algo inesperado. Um bom fornecedor manterá o código de forma centralizada. Isso é uma tranquilidade a mais para seus clientes.
Existem vários relatos de empresas que trocaram seus sistemas especializados por fornecedores maiores e se arrependeram pois a responsabilidade de suas customizações passou a ser da empresa e não do fornecedor.
Quando realmente não tiver jeito, faça um contrato cuidadoso. Especifique, anexe ao contrato, estabeleça cláusulas de atualização em caso de evolução de versão. Tome cuidado.
Lembre-se que software é como vinho: quando bem cuidado se torna maduro com qualidade. Costumo dizer que software personalizado também é como vinho, mas por outro aspecto: devem ser utilizados com moderação e cuidado.
Quando utilizadas dessa forma, sistemas personalizados trazem prazer e saúde. Quando utilizadas em excesso e sem cuidado, trazem uma senhora dor de cabeça!
Até o próximo artigo!
Saiba mais: Como um software de automação no varejo pode ajudar minha empresa?
O Nérus é um ERP para varejo com excelente custo benefício, desenvolvido por varejistas experientes. Por isso, seu método de implantação é transparente e cuidadoso, para não afetar o dia a dia de sua empresa.
Assista também ao vídeo:
O que você quer encontrar?