Archivo para 2 noviembre 2009

Reglas de Oro para Desarrollar

1. Todos los trabajos buenos en software comienzan tratando de paliar un problema personal del que los programa.

2. Los buenos programadores saben qué escribir. Los grandes saben qué reescribir (y reutilizar).

3. “Piensa en desechar al menos uno: lo terminarás haciendo de todos modos.” (Fred Brooks, “The Mythical Man-Month”, Capítulo 11)

4. Si tienes la actitud adecuada, los problemas interesantes te encontrarán

5. Cuando un programa deja de interesarte, tu último deber es pasarlo a un sucesor competente.

6. Tratar a tus usuarios como colaboradores es el camino menos complicado para mejorar con rapidez y depurar eficazmente un programa.

7. Lánzalo pronto. Lánzalo a menudo. Y escucha a tus usuarios.

8. Dada una base lo suficientemente amplia de probadores y colaboradores, casi todos los problemas se identificarán con rapidez y su solución será obvia para alguien.

9. Estructuras de datos inteligentes asociadas a un código torpe funcionan mucho mejor que la alternativa opuesta.

10. Si tratas a la gente que te ayuda a depurar un programa como si fueran tu recurso más valioso, responderán convirtiéndose en eso precisamente.

11. La siguiente cosa mejor que tener buenas ideas consiste en reconocer las buenas ideas de tus usuarios. Y en ocasiones ésta última es la mejor en términos absolutos.

12. A menudo, las soluciones más sorprendentes e innovadoras surgen al darte cuenta de que la idea que se tenía del problema estaba equivocada.

13. “La perfección (de un diseño) no se consigue cuando no queda nada por añadir, sino más bien cuando no resta nada por eliminar.”

14. Toda herramienta debe resultar útil en la forma prevista, pero una *gran herramienta* te lleva a usarla para realizar cosas jamás pensadas.

15. Cuando escribas programas que actúen como pasarelas de datos (‘gateway software’), ten cuidado de modificarlos lo menos posible — y *nunca* elimines información a menos que su destinatario te fuerce a hacerlo.

16. Si el lenguaje de tu programa no es Turing-completo ni por asomo, puede venir bien endulzar su sintaxis.

17. Un sistema es sólo tan seguro como su secreto. Cuidado con los falsos secretos.

18. Para resolver un problema interesante, comienza por encontrar uno que lo sea para tí.

19: Si el coordinador de un proyecto tiene a su disposición un medio de comunicación al menos tan potente como Internet, y sabe como conducir a la gente sin coaccionarla, muchas cabezas son inevitablemente mejor que una.