« Trabalho | Principal | Saudades da Última Primavera »

Insight

Insight que tive há algum tempo: projetos de software são fractais.

A linha preta abaixo é um pedaço do Floco de Neve de Koch, um dos fractais mais conhecidos que há — perde apenas, talvez, para o de Mandelbrot.



Agora, um exercício de estimativa aí. Se a linha vermelha medir 1 metro, qual será o comprimento da linha preta?

Sei lá. Vou chutar alto, para garantir. Digamos uns... er... 10 metros?

Errado. O comprimento da linha é infinito.

O quêêêêêêêêêêêêêêêê!?!?!?

Isso mesmo, a linha tem infinitos metros — e no entanto cabe ali na figura, veja só.

Mas como? Onde estão os infinitos metros excedentes?

Estão ali, ultra densamente dobrados naquelas rebarbinhas. Se você fizesse um zoom-in da linha, veria que ela é bem mais complexa do que parece. Cada uma daquelas rebarbinhas é feita de rebarbinhas menores, e estas, de outras menores ainda. No final, essa convolução sem fim de dobras e mais dobras soma um comprimento infinito.

Agora, isso não é para fazer piada que projetos de software tendem a durar uma eternidade. Não é bem isso. Mesmo a linha de Koch só é infinita em teoria, porque pode ser dobrada indefinidamente. Na prática, porém, há um ponto onde a escala das dobras atinge a espessura da linha, e a partir daí não dá para dobrar mais, e isso resulta num comprimento finito.

A analogia aqui, todavia, é que o comprimento real pode ser muito maior do que parece à primeira vista, quando você faz uma análise de cima para baixo (top-down). É uma das pegadinhas dos fractais: os detalhes fazem toda a diferença.

A mesma coisa acontece com projetos de software. Quando você planeja o cronograma, ou faz o design de um projeto, você olha a coisa top-down, porque é o único jeito que dá. Você pega o todo e quebra ele em partes um pouco menores, e esse é o seu plano. A pegadinha é que esse plano deixa de lado uma infinidade de detalhes muito insignificantes para considerar, mas que juntos podem fazer muita diferença. É por essas e outras que projetos de software sempre duram mais do que o planejado.

Bem, outra hora eu escrevo mais... ou talvez não — para não alienar ainda mais as poucas pessoas normais que ainda visitam este blog.

Comentários (4)

Fabio:

Caso voce nao saiba, voce eh muito geek :-)

Devia mandar isso pra upper mgmt dos meus times, eles sempre ignoram os "detalhes" e pagam por isso - e nao aprendem.

Seu site esta com suspeita de ser phishing site, BTW.

Excelente analogia!!
Obrigado pelo insight!

Fabio, sim, eu sei - que eu sou geek e que meu site está com suspeita de ser phishing. Quanto ao último, não sei qual o motivo, mas pelo jeito terei que escrever um "Privacy Statment" para o blog, veja só que exagero. Quanto ao primeiro, não há muito que eu possa fazer.

Luciano, tem mais no insight do que escrevi aqui (oh, outro fractal), mas vou escrever sobre isso outra hora.

Ricardo:

E para deixar a coisa mais geek :) basta lembrar que o floco de neve de Koch tem perimetro infinito delimitando um a área finita.

Comente

(É possível que seu comentário precise de aprovação antes de ser publicado. Até lá ele não aparecerá no artigo. Obrigado por esperar.)

Política de privacidade (para tentar contentar a porcaria do Phishing Filter)

Sobre

Esta é uma página do blog publicada em abril 14, 2008 9:10 PM.

A anterior foi Trabalho.

A posterior foi Saudades da Última Primavera.

Tem mais no índice e nos arquivos.

Turbinado por
Movable Type 3.35