Como desenvolver um produto de software com competência e eficácia

Muitas vezes, as empresas com seu próprio produto de software, seja um aplicativo móvel, interno, sistemas de CRM etc., enfrentam a necessidade de desenvolver ainda mais a solução. Os motivos podem ser diferentes: o software existente não atende aos requisitos de negócios, processos, indicadores não crescem tão rápido quanto gostaríamos, o suporte técnico é sobrecarregado, existem poucas críticas positivas dos usuários. Nesses casos, identificar pontos fracos e pontos de crescimento permitirá a auditoria da qualidade do produto.

Um de nossos clientes nos contatou com o problema de liberar um aplicativo corporativo para gerenciar filiais subsidiárias. Cliente - uma companhia de seguros, cujo escopo inclui seguro de risco e cumulativo, outros serviços. Existe um software especial para coordenação, gerenciamento e contabilidade das atividades da matriz e subsidiárias. A principal funcionalidade é um grande número de periódicos de contabilidade, planejamento e análise. Além de revistas autônomas destinadas a uma unidade específica e exclusivamente para fins locais, existem revistas compartilhadas. Segundo eles, as informações são coletadas na matriz e os planos e indicadores também caem na direção oposta.

Os principais problemas deste software foram:

  • falhas frequentes do servidor;
  • perda de dados durante a transmissão de filiais subsidiárias;
  • o aplicativo deixou de lidar com a carga ao processar um número maior de serviços (geolocalização, integração com serviços relacionados);
  • Falha no cumprimento das datas de lançamento para novas versões.

Preparamos várias perguntas e as discutimos no escritório do cliente. Como resultado, obtivemos uma imagem clara da organização do trabalho na equipe do cliente. Essa abordagem permitiu uma auditoria técnica completa do projeto. Em nossa experiência, esse é o método mais bem-sucedido para coletar as informações mais detalhadas e abrangentes sobre o projeto, o que nos permite formar não apenas a equipe, mas também os processos de seu trabalho no menor tempo possível. Revelou a necessidade de conectar especialistas em controle de qualidade e uma equipe de desenvolvimento aprimorada.

O que você descobriu


Antes da análise, as prioridades para o trabalho eram as seguintes: desenvolvimento de 70% de novos recursos que resolverão os problemas identificados e 30% - teste da funcionalidade existente, incluindo teste de escalabilidade.


Plano de trabalho antes de realizar uma auditoria da qualidade do produto

Durante o processo de auditoria, é extremamente importante descobrir como os executores de outras áreas trabalham e seus pontos de vista sobre as principais tarefas do projeto e processos.

Depois de conversar com a equipe do cliente, aprendemos sobre outros problemas igualmente importantes:

  • produtividade extremamente baixa do sistema de integração, na qual um dos principais componentes estava amarrado;
  • a necessidade de refinamento significativo devido à funcionalidade incorretamente entendida e implementada;
  • falta de registro de erros;
  • Todas as tarefas, mesmo aquelas que não eram necessárias para o lançamento, caíram na versão do aplicativo. Como resultado, o tempo para desenvolver e procurar bugs aumentou significativamente;
  • incompatibilidade de bancos de teste com os reais: muitos componentes no banco de testes estavam desatualizados, o que levou a encontrar bugs que nunca poderiam ser reproduzidos em postos reais com usuários ativos e vice-versa - somente os próprios usuários encontraram bugs;
  • o cliente não tinha experiência em configurar a infraestrutura do servidor;
  • o aplicativo nunca foi totalmente testado quanto à conformidade com requisitos funcionais e usabilidade.

O cliente não identificou esses problemas com antecedência, eles tiveram um impacto significativo no crescimento e desenvolvimento do projeto. Frequentemente, problemas desse tipo não recebem a devida atenção, o que pode reduzir a eficácia de fazer alterações em todo o projeto.

O que sugerimos


Um plano passo a passo preparado por uma equipe de especialistas resolveu os problemas identificados pelo cliente. Um método mais suave e indolor foi proposto para uma abordagem individual - a idéia de uma equipe de cliente única, baseada nos seguintes princípios:

  • o interesse comum da equipe em atingir metas e realizar tarefas;
  • o envolvimento de todas as pessoas que influenciam a qualidade do produto interno;
  • consulta constante dos especialistas do cliente por nossa equipe.

Como resultado, a partir do plano inicial do cliente, que significava discussão apenas sobre desenvolvimento, passamos a aprovar uma lista expandida de trabalhos sobre:

  • processos pelos quais o ciclo de vida das tarefas passa;
  • selecionando tarefas que serão incluídas na próxima versão e priorizando tarefas em geral;
  • o processo de teste, sua organização para obter uma idéia da qualidade geral do produto;
  • Configurar fluxo Git
  • o desenvolvimento de novas funcionalidades e a correção de defeitos;
  • configurar um sistema de implantação automática para um projeto.



Plano de trabalho após a realização de uma auditoria de qualidade do produto

No final da auditoria, foi elaborado um plano para os dois primeiros meses, incluindo não apenas uma lista de trabalhos, mas também um acordo sobre os processos.

Resultado


Após 2 meses, uma versão foi lançada com funcionalidade prioritária dentro do prazo planejado. A principal lógica de negócios da aplicação foi coberta por testes automáticos e manuais, que permitiram uma melhor compreensão do nível de qualidade da aplicação, reduzindo a concentração de defeitos e a capacidade de identificar pontos de crescimento do produto.

Os resultados do trabalho em algumas figuras de trabalho antes e depois da auditoria no campo de suporte ao produto e garantia de sua qualidade.



Nossa abordagem para trabalhar como uma única equipe deu o resultado correspondente:

  • a principal funcionalidade do aplicativo é estabilizada, o número de falhas do servidor, a perda de dados diminuiu;
  • melhor usabilidade do sistema, o que aumentou a velocidade dos funcionários;
  • O lançamento de versões do aplicativo no prazo;
  • a porcentagem de retorno e o aumento da lealdade dos clientes regulares dobram do valor inicial;
  • O número de chamadas críticas para o serviço de suporte técnico diminuiu 70%.

Source: https://habr.com/ru/post/pt432174/


All Articles