Sintomas de um Software doente.

Wa Project.
3 min readJul 7, 2020

Assim como nós seres humanos, os softwares apresentam alguns comportamentos quando estão doentes. Na grande maioria das vezes, é possível identificar esses comportamentos sem ter conhecimento técnico.

Existe um sintoma que é a vontade de jogar tudo fora e começar do absoluto zero. Isso é um indicador de que o seu sistema pode estar em um estado terminal. Além desse, também existem alguns sintomas mais leves, como por exemplo, muito tempo para desenvolver funcionalidades simples, atrasos no projeto sem justificativa lógica do time técnico ou então correções pontuais de problemas que acabam por gerar novos problemas.

Esses indicadores podem ser percebidos por qualquer pessoa, tendo ou não conhecimento técnico, que indicam a qualidade daquilo que você está recebendo como software.

Nesse artigo iremos explorar um pouco mais sobre as principais causas desses sintomas.

Para facilitar o entendimento, iremos dividir as causas em dois grupos: problemas técnicos e problemas funcionais (atrelados a área de negócio). Para começar iremos explorar o grupo técnico.

Grupo de Problemas Técnicos:

O primeiro ponto está relacionado aos profissionais que vão conduzir o desenvolvimento deste software. É preciso contar com profissionais experientes que possam identificar eventuais problemas e tomar as melhores decisões durante a construção de software. Caso você não possua profissionais experientes, você pode lidar com má implementação do software, o que é um problema mais básico.

Outro ponto importante está relacionado às tecnologias que serão escolhidas para fazer o desenvolvimento. É comum vermos gestores que em algum passado profissional foram desenvolvedores e/ou tiveram contato com alguma tecnologia, fazendo com que eles sempre peçam para utilizá-la, o que que ser avaliado cuidadosamente. Uma escolha de tecnologia errada significa você ter que re-implementar ou realizar muitos ajustes para superar um problema que seria facilmente corrigido com a tecnologia correta. Então é fundamental avaliar problema a problema e em seguida escolher qual a melhor para a sua solução.

Grupo de Problemas Funcionais:

Do ponto de vista funcional, o que pode levar o software a ficar doente, é o fato de ser sido pulada toda a etapa de planejamento desse sistema.

Quando você ignora a importância de se fazer uma análise, pensar nos processos, pensar na solução mais simples e pula logo para o desenvolvimento, você começa a ver situações onde diversas bifurcações são encontradas durante o projeto, o desenvolvedor precisa escolher se ele segue pelo caminho A ou pelo B. Quando muitas bifurcações são encontradas, os caminhos escolhidos podem ser os caminhos errados. Uma sequência de caminhos errados levará a uma catástrofe, podendo atingir o ponto de sentir a necessidade de reiniciar o projeto.

Nessa etapa funcional, assim como na técnica, ressalto a importância de se ter profissionais competentes para conduzir esse processo. Por mais que você não pule diretamente para a etapa de desenvolvimento, ou seja, faça a etapa de planejamento, respeite prazos e amadureça a ideia antes de iniciar o desenvolvimento, é arriscado caso esse profissional não possua uma visão sistêmica. Pode acontecer da solução ser ótima para o negócio, mas não funcionar bem para o desenvolvimento. É necessário atender a área de negócio e também ao mesmo tempo garantir que a solução é tecnicamente viável. Esse equilíbrio é o segredo para você ter um software de qualidade.

Assim como nosso corpo, o software não adoece de uma hora pra outra, é necessário um acúmulo de coisas. Diversos sintomas, ao irem se acumulando, levam ao patamar de identificar se você está construindo um software de baixa qualidade ou de alta qualidade.

Como gestor, é seu dever identificar esses sintomas e agir, para evitar que voltem a acontecer e que novos sintomas apareçam.

É claro, caso precise de uma boa equipe para conduzir o desenvolvimento do seu software, pode contar com a gente.

--

--

Wa Project.

A Wa Project possui todas as soluções que um projeto precisa para ser desenvolvido, desde modelos de trabalho até gestão de equipes especializadas.