Feed Artigos Comentários


Desenvolvimento &Gestão &TI André Dourado em 22 nov 2008

KISS – Keep It Simple, Stupid!

Ray Krock, fundador da rede McDonald´s, constantemente aplicava o conceito “kiss” aos seus comandados. Nada relacionado com beijo mas com “keep it simple, stupid”, ou “mantenha simples, seu idiota”.

Para desenvolvedores de software, “Kiss” é um princípio que diz respeito à simplicidade de recursos que um software disponibiliza. É a principal filosofia dos sistemas Unix. Fazer programas simples e pequenos que interajam entre si para obter tarefas maiores. Ou seja, primar pela simplicidade e facilidade e modularizar tarefas mais complexas.

Que empresas fazem exatamente o contrário?

Em Programação

KISS, Keep It Simple and Stupid (há muitas outras formas como a, mais ofensiva, “Keep It Simple, Stupid”), consiste em manter o código e a arquitetura dos programas o mais simples e intuitivo possível, de forma que qualquer um conseguiria, rapidamente, entender e manter o código. Os ganhos são muitos, quanto mais simples o código, menos lugares obscuros há para bugs bizarros se esconderem, o custo operacional com a troca de recursos em um projeto (programadores vão e vem, ninguém é insubstituível) é muito mais baixo, enfim… o principal contra seria a performance. Código otimizado, geralmente, é mais complexo que código sem qualquer otimização. Programadores não escrevem códigos para máquinas lerem, mas sim para que outros humanos leiam e mantenham, por isso, confie no seu compilador/interpretador para fazer as otimizações necessárias e mantenha o código simples e estúpido :D
Se você não pode confiar no seu compilador/interpretador o suficiente para isso, troque de tecnologia.

Usabilidade na Web

O que é
Fui apresentado a essa filosofia de programação há relativamente pouco tempo, enquanto estava trabalhando em um projeto e um amigo meu, ao ver a complicação que eu estava fazendo, me falou um pouco sobre o “KISS”.Vou tentar mostrar aqui sua aplicação em um site, no seu planejamento e algumas vantagens.

É um princípio utilizado na programação ou desenvolvimentos de alguns softwares (muitos consideram site um software…) que “prega” a simplicidade, partes pequenas (os chamados módulos) que se unem para resolvem um problema maior.

Para quem não entende bulhufas de inglês, o significado é mais ou menos “mantenha a coisa simples, estúpido” (amigável né?) que poderia ser comparado ao famoso “menos é sempre mais”. A idéia é bem simplória, “pra quê complicar?”, muitas vezes o jeito simples, modulado, “dividido”, é o melhor, mais fácil, mais atualizável, mais dinâmico, mais “limpo”. No fim, a relação custo/benefício é altamente positiva.

Pra que complicar?
“Mas se o jeito simples é tão bom, por que tem gente que faz do jeito complicado?”. Basicamente por pura falta de conhecimento. Vale lembrar que “simples” não é sinônimo de fácil. Às vezes é bem o contrário. Mas no final, acaba sempre “menos difícil”. Um exemplo bobo: Imagina um cara que fez um site sem CSS (sim, tem gente que faz ainda, e o pior, tem gente que tem que consertar isso… ) e quer mudar a cor da letra do site de preto (#000) para um cinza escuro (#333 por exemplo), imagina o trabalho que ele vai ter… Mas se o cara tivesse usado estruturas menores para basear as informações de cor de texto (um arquivo css), ele teria uma solução simples, onde bastaria ele mudar uma coisa que tudo fica diferente.

Ás vezes, a complicação é gerada também por uma falsa ilusão de que fazer um site sem nenhum projeto é mais fácil. Que chegar na frente do computador e criar algo bonitinho em um editor de imagem qualquer e usar o Front Page (argh!) para gerar um HTML qualquer é o jeito mais fácil (acho que peguei pesado na parte do front page…hehe).

Muitas pessoas poluem as páginas, colocam coisas demais que invés de ajudar a agregar mais informação útil, só atrapalha a navegação. Acho que isso ocorre porque há milhares de recursos diferentes para se utilizar em sites (muitos compensam mesmo serem utilizados), e as pessoas não sabem escolher o que utilizar, então cabe ao profissional puxar essa responsabilidade e falar de vez em quando algo do tipo “Acho que isso vai poluir demais, melhor não colocar”.

Considerações finais
Só uma interface bonita não é o suficiente para “fidelizar” o usuário. Ele tem que conseguir navegar no site, e a simplicidade muitas vezes é fundamental. Uma das grandes vantagens é que com uma navegação boa além do usuário gostar (se o site tiver um conteúdo interessante também) ele recomenda o site para um amigo, que recomenda para outro… Assim a coisa cresce, e muito.

A melhor tecnologia que pode (e deve!) ser usada em um site é a simplicidade.

Princípios relacionados

Este princípio teve a sua inspiração diretamente do princípio da Navalha de Occam e das máximas de Albert Einstein (“tudo deve ser feito da forma mais simples possível, mas não mais simples que isso“) e de Antoine de Saint-Exupéry (“A perfeição é alcançada não quando não há mais nada para adicionar, mas quando não há mais nada que se possa retirar“).

Referências:
    The Top Tips
    Rau-Tu Linux
    MXStudio
    Wikipedia

Post visualizado 810 vezes.

2 Comentários para “KISS – Keep It Simple, Stupid!”

  1. em 04 dez 2008 às 07:41 1.blog.adsystems.com.br » O Segredo para Criar Valor dos Web Services escreveu …

    [...] Sempre acreditei que KISS ( “Keep It Simple, Stupid”) é mais do que um princípio, é uma filosofia (está até na Wikipedia). Pois bem, esta é a tônica deste artigo de John Hagel e mais outros 2 autores. [...]

  2. em 03 dez 2009 às 11:14 2.ADSystems – Agile Development Blog » Solução brilhante… escreveu …

    [...] também:     KISS – Keep It Simple, Stupid!     O Segredo para Criar Valor dos Web Services Post visualizado 1 [...]

Trackback esse post | Subscreva os comentários pelo RSS Feed

Deixe um comentário