O Peso da Experiência

Em outro post, sobre Programação Extrema, o Kent Beck argumenta o suficiente para evitar uma flexibilidade demasiada e desnecessária:
  • “O segredo é que risco é dinheiro da mesma forma que tempo é dinheiro. (...) Se existe incerteza suficiente, o valor da opção de esperar é alto o suficiente para que seja melhor esperar.”.
  • “Quando você acrescenta mais ao projeto hoje, você aumenta a sobrecarga do sistema. (...) Há mais coisas para testar, entender e explicar.”
  • “Você também não consegue avaliar o custo de algo que acontecerá amanhã. (...) e a probabilidade (...)”.
  • “Assim, o custo de tomar uma decisão de projeto hoje é igual ao custo de tomar a decisão somada aos juros que pagamos sobre esse custo mais a inércia que isso adicionar ao sistema”.
  • “Os problemas de hoje já são suficientes”.
Fazendo uma leitura sobre o padrão Variações Protegidas (Protected Variations) encontrei um comentário muito interessante do Larman* alinhado a esse pensamento do Beck:
  •  "Os desenvolvedores iniciantes tendem a fazer projetos frágeis; os desenvolvedores intermediários tendem a fazer projetos generalizados, demasiadamente sofisticados e flexíveis (de maneira que nunca serão usados). Os projetistas especialistas escolhem com discernimento; talvez um projeto simples e frágil, cujo custo de alteração seja equilibrado com sua probabilidade de ocorrência."
Por isso gosto de pensar de forma incremental, identificando pontos de refactoring e avaliando se precisam realmente de mudança no momento (é sempre bom deixar aquelas tags de XXX ou TODO com breves explicações).

Estou cansado de ver funcionalidades bacanas, módulos e até produtos inteiros jogados fora porque o futuro não veio como se esperava!
 
A experiência faz diferença aos objetivos de negócio da empresa, porque o brilhantismo técnico,  o radicalismo e o amadorismo, comuns nos primeiros anos profissionais, geram muitos prejuízos nos momentos da mudança que são uma constante em engenharia de software.

_______________
* LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao Processo Unificado. Porto Alegre: bookman, 2004.

Comentários

Postagens mais visitadas deste blog

Leituras: Psicologia Cognitiva - Robert J. Sternberg

Ἐν ἀρχῇ ἦν ὁ Λόγος, καὶ ὁ Λόγος ἦν πρὸς τὸν Θεόν, καὶ Θεὸς ἦν ὁ Λόγος. (Como Deus e não Deus?)

Tradução e comentários de Lucas 20:34-38 - os filhos deste e daquele mundo