[de Raymond (2000), em construção]
· Todo software bom começa com um esboço de algum incômodo pessoal do desenvolvedor;
· Bons programadores sabem o que escrever. Ótimos programadores sabem o que reescrever (e reutilizar);
· “Planeje para jogar fora; você vai jogar fora de qualquer jeito” (Fred Brooks, “The Mythical Man-Month, Chapter 11);
· Se você tem o ponto de vista certo, problemas interessantes vão te encontrar;
· Quando você perde o interesse em um programa, sua última tarefa é entrega-lo a um sucessor competente;
· Tratar seus usuários como co-desenvolvedores é a sua rota de menor trabalheira para um rápido melhoramento de código e uma correção de erros efetiva;
· Divulgue cedo. Divulgue frequentemente. E ouça seus clientes;
· Com uma larga base de testadores beta e co-desenvolvedores, quase qualquer problema vai ser rapidamente identificado e a solução será óbvia para alguém;
· Se você trata seus testadores beta como se eles fossem a sua fonte mais valiosa, eles te responderão como se fossem sua fonte mais valiosa;
· O próximo melhor jeito de ter uma boa ideia é reconhecer boas ideias dos seus usuários. Às vezes esse é o melhor jeito.
· Frequentemente, as soluções mais inovadoras e surpreendentes vêm da percepção que seu conceito de problema estava errado;
· “Perfeição (no design) é atingida não quando não há mais nada para adicionar, mas quando não há mais nada para tirar. ”
· Para resolver um problema interessante, começa encontrando um problema que seja interessante para você.
# Every good work of software starts by scratching a developer’s
personal itch.
# Good programmers know what to write. Great ones know what
to rewrite (and reuse).
# “Plan to throw one away; you will, anyhow.” (Fred Brooks, “The
Mythical Man-Month”, Chapter 11)
# If you have the right attitude, interesting problems will find you.
# When you lose interest in a program, your last duty to it is to
hand it to a competent successor.
# Treating your users as co-developers is your least-hassle route to
rapid code improvement and effective debugging.
# Release early. Release often. And listen to your customers.
# Given a large enough beta-tester and co-developer base, almost
every problem will be characterized quickly and the fix obvious to
someone.
# If you treat your beta-testers as if they’re your most valuable resource,they will respond by becoming your most valuable resource.
# The next best thing to having good ideas is recognizing good
ideas from your users. Sometimes the latter is better.
# Often, the most striking and innovative solutions come from
realizing that your concept of the problem was wrong.
# “Perfection (in design) is achieved not when there is nothing
more to add, but rather when there is nothing more to take away.”
# To solve an interesting problem, start by finding a problem that
is interesting to you.