Blog

Tendências e novidades sobre tecnologia e negócios

03/04/2020 | 3 min de leitura

AMcom

Conectamos pessoas à tecnologia para transformar vidas.

Aqui na AMcom atendemos diversos clientes com desenvolvimento customizado. Além de todo o processo de desenvolvimento, continuamos apoiando nossos clientes na melhoria contínua das soluções que ajudamos a criar e assim estamos atuando cada vez mais em squads, pensando realmente como um time de produto.

Esse modelo é muito bom para todos os envolvidos, mas não é sobre isso que quero falar hoje! Decidi escrever este artigo para contar um pouco sobre a experiência de trabalhar na melhoria contínua de uma solução que ajudei a construir, e sobre como, no meio desse processo, tivemos que adotar algumas estratégias para melhorar o relacionamento com nossos usuários, sendo uma delas a refatoração de código no frontend da aplicação.

Para começar, vamos falar um pouco de conceitos?

O que é o processo de melhoria contínua em software?

O conceito de melhoria contínua nasceu a partir dos princípios Kaizen, palavra que já denota este significado em japonês: Kai = mudar e Zen = melhor.

Na realidade do desenvolvimento de software usamos esse princípio buscando a aplicação de técnicas de qualidade e a criação de funcionalidades que tornem o produto cada vez melhor, trabalhando no seu desenvolvimento para acompanhar as mudanças e evoluções nas necessidades dos usuários.

Uma vez que exista a cultura de melhoria contínua num sistema ou produto, a refatoração de código poderá ser necessária em algum momento.

O que é refatorar um código?

Encontrei essa definição no Devmedia e a achei muito completa:

“A refatoração é o processo de alterar um software de uma maneira que não mude o seu comportamento externo e ainda melhore a sua estrutura interna”.

Ou seja, quando atuamos na refatoração de um código não estamos criando uma nova funcionalidade ou necessariamente alterando o valor percebido pelo usuário, mas sim atuando em melhorias internas na aplicação, que proporcionam diversos benefícios ao produto.

Listei aqui algumas melhorias que podem acontecer a partir de um processo de refatoração:

  • Qualidade de código
  • Legibilidade
  • Melhoria da lógica utilizada
  • Melhorias das técnicas utilizadas
  • Atualização de bibliotecas e referências

Quais são as aplicações práticas da refatoração?

No formato de trabalho em squad vivencio na prática os benefícios e ganhos que a cultura de melhoria continua proporcionam para o negócio, de forma que nos envolvemos na construção de novas funcionalidades, entendendo as necessidades do negócio e nos adaptando à elas.

Recentemente entendemos junto ao cliente a necessidade de melhorarmos a usabilidade da solução. Desta forma encaramos o desafio de implementar um novo projeto de UI/UX no software.

Durante o planejamento deste grande projeto, visando sempre a melhoria contínua do código, aproveitamos o momento e tomamos a decisão de fazer uma refatoração na camada de apresentação da solução – o frontend – visto que a aplicação do novo projeto de UI/UX seria uma alteração considerável na solução.

O principal motivo que nos levou a tomar essa decisão e realizar a refatorção foi possibilitar que este novo projeto de experiência do usuário não conflitasse com o projeto anterior. Neste momento adotamos um único modelo arquitetural, que nos permitiu evitar conflitos e melhorando muito a qualidade de código.

Quais são as vantagens da refatoração para os times?

Acredito que dentro da realidade de cada time de produto, uma vez que a refatoração é encarada como uma necessidade, podemos encontrar diversos benefícios para motivar o time nessa jornada. Aqui nós experimentamos alguns benefícios bem interessantes após a decisão de refatorar a aplicação:

  • Melhorias na qualidade de código
  • Implementação assertiva do projeto de UI/UX
  • Facilidade na manutenção do código
  • Atualização das bibliotecas utilizadas

Concluímos o projeto de refatoração e implementação do novo UI/UX em três meses, e foi muito gratificante participar dessa construção e acompanhar a evolução do software. Como time tiramos diversas lições dessa experiência, e estamos cada vez mais próximos do cliente e do negócio, entendendo juntos os próximos passos, pensando em usuários, tecnologia, valor para o negócio e pessoas.

Espero que essa experiência possa contribuir no processo de melhoria contínua no seu trabalho. Até a próxima!fábio oliveira


AMcom

Conectamos pessoas à tecnologia para transformar vidas.

Tecnologia

Deixe o seu comentário

O seu e-mail não será publicado. Os campos marcados com * são obrigatórios.

Blumenau - SC

Rua República Argentina, 2001 Ponta Aguda - CEP 89.050-173

47 3328-9400

São Paulo - SP

Av. Rebouças, 3970, 17º andar Pinheiros - CEP 05.425-070

11 3434-6560