Refactoring em ondas, ou melhor, tsunamis não são legais.

Olhe para o escritório inteiro, todas aquelas pessoas trabalhando. Você já se perguntou se o trabalho delas é importante, tenho certeza.

As pessoas que estão no escritório estão lá envolvidas em tarefas que carecem de feedback humano em algum ponto da sua execução, senão em toda a execução, e parece compreensível que seja assim.

Isso ocorre por que as atividades, mesmo que pareçam idênticas no macro, mudam incrementalmente no micro, no dia a dia, ou por que um profissional achou uma maneira  melhor de fazer aquilo ou por que o próprio “aquilo”, ou seja, o objetivo da atividade, mudou ou sumiu.

Esse fluxo constante de micro alterações é importante para manter a empresa indo na direção certa, em movimento, saudável.

Os profissionais estão lá para isso, para criar e usar o feedback humano no processo e assim retornar as melhorias para o workflow de operações como melhoria contínua.

Em software isso tem um nome, refactoring!

Em software esse mesmo procedimento é desencorajado. A pergunta é, por que?

O processo de refactoring incremental que é usado por humanos afeta processos que são executados por humanos que tem uma capacidade especial, enxergar padrões e realizar análises em cenários incompletos, logo, se ocorre um erro, o profissional consegue trazer de volta para os trilhos aquilo que falhou.

O software não é executado por pessoas, o computador que o executa não tem a capacidade de análise que um humano tem, logo, o feedback é mais complicado. Ou o programador adiciona mecanismos de feedback ou não vão existir.

Por essas e outras, os administradores de times de desenvolvimento e verticais de produto ligadas a desenvolvimento não gostam das palavras “refactoring de software”, mas o que leva a isso?

Má Comunicação
Quando a execução de um processo é realizada por pessoas, elas conversam o tempo todo. O software se comunica através de código, e na sua grande maioria, código escrito sem a intenção de comunicar algo para humanos, vê o problema?!

Repita comigo: escrever código que outros programadores entendam!

Falta de Feedback
Pessoas dão feedback em vários formatos, ricos ou pobres de informação. Poucos softwares estão preparados para fornecer feedbacks ricos.

Repita comigo, Log da aplicação! kpi’s na aplicação. Monitoramento constantemente!

Ondas
Em processos realizados por pessoas as  alterações são notadas e testadas constantemente e de tempos em tempos são oficializadas, em ondas. Quanto maior for a frequência dessas ondas, melhor.

Em software tudo é onda e partícula, os fortes entenderão.

E por último, pessoas e software tem de estar sincronizados, o mais sincronizados possível. A flexibilidade de mudar um processo como fazem as pessoas é uma das coisas mais desejadas em software e isso só será possível reduzindo a distância entre as duas áreas.

Quanto maior a distância, maior o ruído, maior a onde é menor sua frequência. E assim os tsunamis de alteração em software ocorrem.

Se você olhar para tsunamis de alteração em processos que lidam com pessoas, vai reparar que quando eles ocorrem, os problemas são muitos.

Tsunamis não são legais.

Tsunamis nunca são legais!!! Instale e monitore alarmes contra tsunamis no seu software.

Advertisements

One thought on “Refactoring em ondas, ou melhor, tsunamis não são legais.

  1. É melhor prevenir que remediar… vivemos dizendo isso, em relação à saúde. O que não nos atentamos que isso é aplicável em vários outros casos. Software é mais um dos belos casos que a frase se encaixa perfeitamente.

    Código que dificulta a interpretação e comunicação é como doença que corrói os órgãos vitais do ser. Drenando cada gota de esperança e tranquilidade até o ponto que se torna inviável a existência daí recorre-se à medidas mais drásticas, com intuito de viabilizar o equilíbrio.

    Tsunamis podem ser vistas como tal, agentes caóticos do equilíbrio (sim, pode parecer extremamente frio e calculista, mas vocês entendem a ideia). Elas não são legais, mas podem ser necessárias quando olharmos para o quadro todo ao invés do detalhe. Quem sabe vemos ela como efeito e não como causa.

    Curti a comparação, cara. Deveras inteligente.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s