CHOQUE DE CULTURA: CODIFICAÇÃO, SOFTWARE E ESCRITA PARA HUMANOS - TECHCRUNCH - MÓVEL - 2019

Anonim

Colaborador de Ty Rollin

Ty Rollin é CTO da Mobiquity.

Há muito código ruim por aí. E isso está causando grandes problemas para empresas que desejam construir uma arquitetura transformacional mais centrada em dispositivos móveis.

Especificamente, códigos ruins fazem com que os projetos levem mais tempo, mais dinheiro e mais recursos (também conhecidos como Crise de Software) - o que é repetido várias vezes, a menos que uma empresa revisite e atualize as práticas de longa data que adotou.

Mas começa com a cultura - e há alguns sérios confrontos acontecendo.

Quando comecei minha carreira em digital, grandes grupos de pessoas escreviam código sem o menor interesse. E nada era centrado no humano. Mas todos os outros - incluindo aqueles que estavam construindo os produtos - estavam adotando uma abordagem centrada no cliente para o desenvolvimento. Isso levou a um choque na cultura corporativa hoje.

Uma cultura de código inaceitável

Em grande parte, um código inaceitável surgiu porque as empresas estão correndo para o mercado com muita rapidez e a engenharia é desacoplada do verdadeiro objetivo final de satisfazer os usuários. É uma questão sistemática, embora muitos pensem que a solução está em colocar equipes multifuncionais no comando da entrega do produto. Normalmente, você encontrará seus desenvolvedores perdendo tempo em operações CRUD e outras atividades de encanamento sem valor.

A atenuação dos problemas de codificação exige proatividade: manter o código atual e depurar lentamente ou pagar a dívida técnica existente de "código inválido". Isso também significa morder apenas o que você pode mastigar no desenvolvimento de aplicativos - e gastar tempo com recursos de valor para o cliente.

Livrar-se dos maus cheiros do código

"O código cheira" - um termo comum no mundo dos desenvolvedores - são indícios de que algo deu errado em algum lugar do código. Geralmente, é um sintoma que indica um problema mais profundo, apontando fraquezas no design que podem estar dificultando o desenvolvimento ou até aumentando o risco de falha. Aqui está uma olhada em como mitigar (ou eliminar) maus cheiros de código, tanto do ponto de vista técnico quanto do processo:

  • Refatoração. De uma perspectiva técnica, é importante colocar uma nova arquitetura em funcionamento sem quebrar os sistemas existentes. A refatoração é uma ótima maneira de fazer isso, e é por isso que deve fazer parte de seus processos básicos. Não é possível prever tudo no futuro, portanto, a refatoração permite que os engenheiros estejam em um modo “pronto para ação”. Também torna o código existente um pouco mais ágil e mais preparado para a próxima onda do futuro. Implícito na refatoração é adicionado custo; no entanto, isso é tradicionalmente onde as coisas desmoronam.
  • Trazendo as pessoas certas. Do ponto de vista do processo, você precisa impedir que códigos ruins sejam gravados. Mas, com (muitas vezes) muitos desenvolvedores em sua equipe e muitos divididos em outros projetos, como você avalia como eles estão indo, principalmente quando você cria novos membros? A implementação de um processo para revisões cuidadosas de código é importante - e uma falha em fazê-lo ainda espalha os maus cheiros do código. Uma das melhores maneiras de atenuar problemas futuros é a orientação. Isso significa designar especialistas para revisar o artesanato de outros membros da equipe, orientá-los sobre as melhores práticas e incentivar o uso meticuloso de ferramentas. Sem esse processo, você sempre terá um código ruim em algum lugar.
  • Desenvolvimento Orientado a Testes. Para habilitar a refatoração, você só poderá fazer isso se puder provar que sua solução funciona antes e depois do refatorador. Isso significa que você precisa testar a cobertura em todos os momentos. Se você liderar com os testes, ativará imediatamente a capacidade de refatorar à medida que aprender mais com os usuários sobre os recursos necessários.

Eliminar os maus cheiros do código requer uma nova mentalidade. Na empresa de hoje, os gerentes de produto têm muito poder e uma composição de responsabilidades. O ritmo acelerado de trabalho requer pequenas iterações e implantação contínua, enquanto fornece um produto de alta qualidade. Ser capaz de fornecer a essa velocidade significa que você precisa de uma equipe multifuncional cuja mentalidade tenha mudado: a meta é entregar para o cliente.

O futuro: menos código

À medida que o software se transforma em funções (isto é, “se isso e aquilo”) e a inovação em IoT explode, menos código está realmente sendo gravado. Aplicativos de função única estão se tornando mais comuns: aplicativos que têm muito pouco código, mas são valiosos e capazes de fazer mais. Chocante, não tem havido muita coisa escrita sobre este tópico, mas suspeito que no futuro uma pessoa com uma ideia pode não ter que passar por um engenheiro de software para transformá-lo em um produto funcional.

Até lá, o caminho para a transformação móvel está repleto de códigos ruins. Para empresas grandes e pequenas, os projetos consumirão recursos - até que práticas de códigos ruins sejam eliminadas.