Keep It Simple Stupid
KISS é o acrónimo de “Keep It Simple Stupid”. Este princípio baseia-se no facto de que a maioria dos sistemas que conhecemos funcionarem muito melhor se forem concebidos simples. O princípio do KISS é conceber algo complicado de maneira simples evitando ao máximo quaisquer acessórios desnecessários.
Nos anos 60, o acrónimo KISS foi associado ao engenheiro aeronáutico Kelly Johnson e foi adotado pela Marinha Americana com relativo sucesso. Se repararmos bem, a tecnologia americana, ao contrário da Japonesa e da Chinesa, sempre foi simples, linear e consequentemente fiável. E por incrível que pareça, este principio continua ainda a ser adotado no desenvolvimento de software da USAF – United States Air Force, e a até à data, que se saiba, não caíram muitos F16.
A primeira ideia errónea que se tem do KISS é que um engenheiro que adota esta estratégia, ou é estupido, ou é incompetente, mas é exatamente ao contrário. Pegar num problema complexo com n equações não lineares e simplifica-lo a um ponto único é do mais complicado e radical que existe no mundo da Engenharia.
Na verdade, quanto mais simples forem os modelos encontrados, mais estáveis e fiáveis são as soluções. Se pegarmos num Diagrama de Blocos com n ligações teremos sempre n+1 hipóteses de surgir uma falha ou uma avaria numa situação real. Nessa ordem de ideias, o melhor diagrama será sempre aquele que tem apenas dois Blocos, o do Início e o do Fim.
No cálculo numérico de grandes modelos matemáticos são muitos os desafios que encontramos, e muitas vezes descobrimos a melhor solução quanto mais nos afastarmos do cerne do problema e o visualizarmos de um determinado prisma. Conhecer todas as variáveis, ou saber tudo, é contraproducente, para se dar o primeiro passo para o KISS.
O mais importante de tudo é sempre o modo como se aborda um problema, e a melhor solução é sempre a primeira que nos surge à mente, embora na maior parte das vezes, seja aquela que é considerada inviável ou a menos provável.
Na implementação de algoritmos temos de ter sempre presente a noção, que um modelo é sempre um modelo que não passa de um modelo enquanto não for submetido a parâmetros reais.
Confusos com o pleonasmo acima? Não se preocupem, também eu estou!