Desenvolvimento de Software Produtividade Sistemas

5 dicas para: Otimizar o desenvolvimento de Softwares

1 – Otimize seu código

Um código otimizado utiliza menos recursos, facilitando a gestão da infraestrutura da empresa. Sempre que possível procure utilizar técnicas de refatoração e otimização, que possam indicar os trechos de códigos que estão menos otimizados. (Um exemplo disto são as ferramentas de Profiling.) Dentro das metodologias ágeis, encontramos muitas técnicas de refatoração e de pensamento crítico sobre o design interno do software. Na Keyworks, utilizamos a programação em par (pair programming), que ajuda no treinamento de novos desenvolvedores e tira paradigmas antigos de programadores com mais experiência.

Técnicas como Code DOJO nos mostram a importância de revisar o código diversas vezes e iterar nele até chegarmos em uma versão. Bruce Lee dizia: “Eu não tenho medo do homem que praticou 10.000 chutes diferentes, mas sim do homem que praticou o mesmo chute 10.000 vezes.” Então é importante revisitar o código quantas vezes forem necessário.

 

2 – Legibilidade e Mantenabilidade

Antes de explicarmos estas palavras, se faça as seguintes perguntas: Quantos programadores podem trabalhar em um software hoje? Quanto tempo demora para fechar uma nova funcionalidade? Quanto tempo demora para treinar um novo programador para manter um software no ar?

Estas são algumas perguntas que todo gestor de tecnologia deve (ou deveria) se fazer. Podemos destacar cases de sucesso, de bancos que rodam em COBOL até hoje, comprovando a eficiência de pensar na mantenabilidade/legibilidade e que ainda são mantidos e estão conseguindo crescer. Mas infelizmente observamos sistemas nascendo sem a capacidade de integrar, crescer, mudar e evoluir e isso é uma preocupação constante das nossas equipes. Escrevemos códigos otimizados e legíveis, que permitem a rápida adaptação de novos colaboradores, melhorando nosso tempo de entrega e que possibilitam a habilidade de criar ou alterar funcionalidades. Esse tipo de preocupação pode gerar a médio e longo prazo, diversos benefícios a empresa.

 

3 – Entenda a beleza do simples

Saiba que um software otimizado e manutenível, pode ser tão simples que pode ser escrito em qualquer linguagem de programação e qualquer framework. Existem vários designs de software, monolítico, microserviço etc. Tudo isso sem falar de softwares desktop ou aplicativos.

Todo framework ou linguagem de programação tem vantagens e desvantagens para alguns tipos de design, mas todos são possíveis de construir algo simples que gere valor rapidamente. A importância de profissionalizar o seu código e de sua equipe serve justamente para que eles consigam ver o todo, ou seja, disponibilidade de pessoas, capacidade de entrega naquela tecnologia, grau de risco e o principal, a capacidade de comunicar todos os fatores.

Então entenda a beleza do simples tanto na comunicação, quanto na construção de software e até nas relações pessoais. Lembre-se que profissionalizar seu código também é profissionalizar sua equipe.

“Há tanta beleza na simplicidade que as vezes não notamos por ser tão simples.” Camila Souza

 

4 – Cuide da sua infraestrutura

Se temos um ambiente complexo de subir, configurar e instalar no desenvolvimento ou em produção, significa que o software não está maduro o suficiente.

Hoje empresas esperam comprar um software disponível, mas se tiverem que esperar 4 dias por uma instalação a fim de “testar” as funcionalidades, ele já conseguiu 4 concorrentes seus que só entregaram um usuário e senha para testar online. Esse tipo de preocupação deve vir desde a arquitetura/design do software até o negócio, pois velocidade de venda/entrega é a vida do negócio.

 

5 – Profissionais são pessoas!

Pincelamos isso algumas vezes acima, mas queremos dedicar um tópico somente para isso. O recurso mais valioso de um software são as pessoas que o construirão. Por isso, se preocupe em treinar as pessoas e que o ambiente de trabalho seja de desenvolvimento e colaborativo.

 

Escrito por: Perceu Bertoletti