Sei sulla pagina 1di 3

Elegância no Desenvolvimento Software

Este item apareceu na página do Joel on


Software na sexta feira 15 de dezembro de 2006
O texto de Alain de Botton emThe Architecture of Happiness (Pantheon Books,
2006) tem uma seção sobre elegância que parecerá familiar a qualquer
desenvolvedor de software.
Ele compara a Ponte Salginatobel, na Suíça...

...à Ponte Suspensa Clifton, na Inglaterra:

num dos mais surpreendentes livros sobre arquitetura que já li: "Ambas, a
ponte Salginatobel de Robert Maillart e a ponte Suspensa Clifton de Isambard
Brunel são estruturas de resistência; ambas atraem nossa veneração por nos
transportar em segurança através do que poderia ser uma queda fatal—e ainda
assim a ponte de Maillart é a mais bela do par pela forma excepcionalmente
ágil e aparentemente sem esforço com que desempenha sua função.
Com suas alvenaria e correntes de aço pesadas, a construção de Brunel tem
alguma coisa de um homem de meia-idade encorpado que ergue suas calças e
em voz alta solicita a atenção de todos antes de pular de um ponto a outro,
enquanto a ponte de Maillart parece um atleta flexível que pula sem cerimônia
e modestamente reverencia sua audiência antes de deixar o palco.
As pontes realizam de atos ousados, mas a de Maillart possui a virtude
adicional de fazer parecer que executa sua função sem qualquer esforço—mas
como sabemos que não é assim, maravilhamo-nos com ela e a admiramos
ainda mais.
A ponte é dotada de uma subcategoria de beleza a que nos referimos como
elegância, uma qualidade presente sempre que um trabalho de arquitetura é
bem sucedido em realizar um ato de resistência—segurando, atravessando, e
abrigando—com graça e economia e também com força; e tem a modéstia de
não chamar a atenção às dificuldades que sobrepujou.”
Neste contexto, eu gostaria de revisitar meus temas recentes sobre escolha e
simplicidade e adicionar um terceiro conceito, elegância.
As pessoas, na sua maioria, não estão usando software porque querem. Elas
usam software como ferramenta para realizar alguma coisa que desejem.
Talvez estejam usando um programa de chat, para parecerem espirituosas, na
esperança que a pessoa com quem elas estão batendo papo vai querer gastar
seu tempo com elas, de modo que, em última instância, querem ter a chance
as levar para a cama, para que, em última instância, seu DNA egoísta consiga
se replicar.
Talvez estejam usando uma planilha para tentar entender se poderiam pagar
um apartamento maior, de modo que, em última instância, seus parceiros
fiquem mais impressionados, aumentando sua chance de se deitar com eles,
para que , novamente, o DNA se beneficie. Talvez estejam trabalhando num
PowerPoint para seu gerente visando conseguir uma promoção e assim ter
mais dinheiro que poderiam usar para alugar um apartamento maior que atraia
mais parceiros, e aumente a chance de ir para cama com eles, (já pegou a
idéia?) e assim o DNA egoísta possa se replicar. Talvez esteja um procurando
uma receita de ravioli com queijo de cabra na Internet, etc, etc., … DNA.
A menos que trabalhem como revisores de software, as pessoas não se
preocuparão com o software em si, e quanto mais elas o notarem, mais
aborrecidas ficarão.
As escolhas, portanto, podem ser boas ou más. Elas são boas quando apoiam,
com presteza, a tarefa que o usuário está tentando realizar. Quero ser capaz
de escolher com quem quero papear (óbvio.)
Elas são más quando representam uma intromissão nas metas de replicação
do DNA do seu usuário.
De vez em quando um software vagabundo que nem me lembro ter instalado
me mostra um popup barulhento e pergunta se quero receber uma melhoria ou
coisa parecida.
Eu não poderia me interessar MENOS. Estou ocupado. Me deixe em paz! Eu
sei que a equipe da Sun Microsystems, que acabou liberar essa fabulosa nova
versão da máquina virtual Java, ficou matutando dias e noites durante meses
sobre a liberação incremental, mas os outros 5.000.000.000 de nós aqui no
planeta não lhe dão a mínima. Você não pode imaginar o quão pouco desejo
gastar mesmo três segundos que sejam da minha vida pensando se devo ou
não instalar a nova JVM.
Alguém por aí já está disparando um alerta no Gmail para me dizer que a JVM
não deve ser atualizada "pois ela irá quebrar alguma coisa.”Sim, se a sabedoria
coletiva da equipe de desenvolvimento Java não sabe se ela vai quebrar
alguma coisa, como eu poderia saber? Chiii.
Se você estiver usando o termo simplicidade para significar "economia e graça"
ou "elegância," isso é ótimo. Um bom exemplo disso é a diferença na maneira
em que você procura por música no Rhapsody e a maneira que você procura
por música no iTunes. O Rhapsody faz você decidir se você quer procurar por
álbuns, trilhas, ou artistas.
O iTunes não lhe dá qualquer escolha: ele procura em todos os campos, o que
funciona tão bem e é mais fácil. Economia significa poder, e neste caso,
é uma funcionalidade.
Por outro lado, se você estiver usando simplicidade para significar falta de
poder, falta de funcionalidades, isto é legal, se você quer estar no negócio de
clip de papel, boa sorte, mas a chance que seu produto irá resolver exatamente
o meu problema começa a definhar e o seu mercado potencial também.
Saiu meu novo livro!A Apress acaba de publicar uma nova coletânea de 36
ensaios do Joel on Software, denominado propriamente More Joel on Software.
Compre o seu hoje! Disponível na Amazon.com.
Sobre o autor: Sou seu anfitrião, Joel Spolsky, um desenvolvedor de software
na cidade de Nova York. Desde 2000 escrevo sobre desenvolvimento de
software, gerência, negócios e a Internet neste espaço. Meu trabalho no dia-a-
dia é a Fog Creek Software, que publica o FogBugz—o software, de nome
estúpido, para o acompanhamento esperto de bugs e o Fog Creek Copilot—
que oferece a forma mais tranqüila de proporcionar suporte remoto via Internet,
sem nenhuma instalação ou configuração.
Sobre o Tradutor: Paulo André de Andrade é Engenheiro Eletrônico e Diretor
da OLYMPYA TI, responsável, no Brasil, pela comercialização dos softwares
da Fog Creek. Paulo André atua em Informática desde 1971 em setores que
vão de Engenharia de Produtos de Hardware, Desenvolvimento de Hardware e
Software, Desenvolvimento de Negócios, Vendas de Software e Consultoria em
Gerência de Projetos e Serviços de Informática.

OLYMPYA: Com base no Rio de Janeiro a OLYMPYA foi fundada em 2000 por
Paulo Mattos e Paulo Mattos Sr. com foco no desenvolvimento de plataformas
de jogos MMO (Massively Multiplayer Online) Sports Strategy Games e em
Consultoria em Tecnologia da Informação.

A Olympya Software - www.olympya.com.br é também a representante


exclusiva no Brasil e Portugal da FogCreek, http://www.fogcreek.com.br empresa
fundada pelo Joel Spolsky.

Você pode usar gratuitamente por 45 dias o produto FogBugz, totalmente web,
para gerencia de projetos e outras funcionalidades, visitando o link
http://try.fogbugz.com

Para treinamento em como fazer melhores softwares você pode aprender mais
sobre outro produto da FogCreek, já em Português:
http://www.scribd.com/doc/29112680/Make-Better-Software-V1

Potrebbero piacerti anche