Disclaimer: This is a personal web page. Contents written here do not represent the position of my employer.
Sunday, November 27, 2005
eXtreme Programming: La chispa adecuada
Estos días he estado desempolvando una carpeta de mis marcadores titulada "Lecturas pendientes". Son enlaces que en su día me parecieron interesantes pero demasiado largos de leer en ese momento (una idea similar a lo que son los FIXMEs en el código).
Uno de los enlaces a los que he llegado ha sido extremadamente interesante. Tanto, que los enlaces dentro de éste me han hecho abrir pestañas y más pestañas de mi navegador, hasta darme cuenta de que tendría que crear una carpeta nueva de "Lecturas pendientes". Sin comerlo ni beberlo, había dado con un Wiki que al parecer se mantiene por una empresa, o bien los empleados de una empresa, que fue la precursora de la metodología de programación "Extreme Programming"; o por lo menos eso es lo que se deduce de todas las páginas que llevo leídas.
Las entradas del Wiki son de lo más variado. En principio parece una recopilación de "reglas" y "conceptos" que han intentado ser aunados a partir de muchas experiencias y vivencias de estos ingenieros a lo largo de sus proyectos de software. Leyendo muchos de ellos te sientes identificado con cosas que te han pasado y también aprendes mucho sobre las mejores formas de actuar ante estas, o sobre nuevas situaciones que pueden ocurrirte en el futuro. Es como una recopilación de una serie de "patrones", pero no de programación, sino que se tratarían más bien de unos "patrones del informático". Son patrones con un sentido más social, algo más parecido a la ingeniería del software de alto nivel. Dos ejemplos para entender lo que digo pueden ser "EgolessProgramming" y "OnceAndOnlyOnce". El primero describe una técnica para olvidarnos de nuestro ego a la hora de programar, de manera que facilitamos la labor del programador venidero. La segunda describe el porqué hemos siempre de evitar las redundancias en el código, debiendo refactorizarlas siempre que podamos.
Y ahora nos podríamos preguntar, ¿por qué el título de esta entrada lleva el título de una canción de Héroes del Silencio? Pues bien, porque en mi lectura constante y casi maniática de este wiki me he ido encontrando, poco a poco, con cosas que incluso tienden a salirse un poco de esta línea de "patrones de informático". Por ejemplo, he leído entradas como Geta Life o Its Justa Job, que casi están más relacionadas con la psicología laboral del informático.
Pero la que más me ha sorprendido ha sido Way To Win. Es una entrada que describe el concepto, EMO, totalmente verdadero, de que, sea lo que sea aquello que te está ocurriendo, siempre podría existir un camino, una manera de hacer las cosas, que hiciera que todo se arreglara, que todo fuera bien. Lo que ocurre realmente es que sólo necesitas la chispa adecuada para que ello suceda. Es algo que también describe muy bien la letra de la citada canción.
Y para terminar la entrada en la bitácora, dejo aquí los enlaces a las entradas del Wiki que me han parecido interesantes (pondré un asterisco en las más populares):
Hay que advertir también que no todos los elementos de esta lista son patrones, sino también anti-patrones, como por ejemplo "Architects Don't Code".
Y un último inciso sobre dos de ellas: "Green Bar Addiction" me recuerda mucho al tinderbox de Mozilla, jeje; y "Peter Principle" parece corresponderse con el Principio de Máxima Incompetencia del que he oído hablar tanto y que EMO ocurre mucho en España.
Uno de los enlaces a los que he llegado ha sido extremadamente interesante. Tanto, que los enlaces dentro de éste me han hecho abrir pestañas y más pestañas de mi navegador, hasta darme cuenta de que tendría que crear una carpeta nueva de "Lecturas pendientes". Sin comerlo ni beberlo, había dado con un Wiki que al parecer se mantiene por una empresa, o bien los empleados de una empresa, que fue la precursora de la metodología de programación "Extreme Programming"; o por lo menos eso es lo que se deduce de todas las páginas que llevo leídas.
Las entradas del Wiki son de lo más variado. En principio parece una recopilación de "reglas" y "conceptos" que han intentado ser aunados a partir de muchas experiencias y vivencias de estos ingenieros a lo largo de sus proyectos de software. Leyendo muchos de ellos te sientes identificado con cosas que te han pasado y también aprendes mucho sobre las mejores formas de actuar ante estas, o sobre nuevas situaciones que pueden ocurrirte en el futuro. Es como una recopilación de una serie de "patrones", pero no de programación, sino que se tratarían más bien de unos "patrones del informático". Son patrones con un sentido más social, algo más parecido a la ingeniería del software de alto nivel. Dos ejemplos para entender lo que digo pueden ser "EgolessProgramming" y "OnceAndOnlyOnce". El primero describe una técnica para olvidarnos de nuestro ego a la hora de programar, de manera que facilitamos la labor del programador venidero. La segunda describe el porqué hemos siempre de evitar las redundancias en el código, debiendo refactorizarlas siempre que podamos.
Y ahora nos podríamos preguntar, ¿por qué el título de esta entrada lleva el título de una canción de Héroes del Silencio? Pues bien, porque en mi lectura constante y casi maniática de este wiki me he ido encontrando, poco a poco, con cosas que incluso tienden a salirse un poco de esta línea de "patrones de informático". Por ejemplo, he leído entradas como Geta Life o Its Justa Job, que casi están más relacionadas con la psicología laboral del informático.
Pero la que más me ha sorprendido ha sido Way To Win. Es una entrada que describe el concepto, EMO, totalmente verdadero, de que, sea lo que sea aquello que te está ocurriendo, siempre podría existir un camino, una manera de hacer las cosas, que hiciera que todo se arreglara, que todo fuera bien. Lo que ocurre realmente es que sólo necesitas la chispa adecuada para que ello suceda. Es algo que también describe muy bien la letra de la citada canción.
Y para terminar la entrada en la bitácora, dejo aquí los enlaces a las entradas del Wiki que me han parecido interesantes (pondré un asterisco en las más populares):
- Alternative Jobs For Programmers
- Annoyances.org - The Night Before Startup
- Architects Dont Code
- Architects Play Golf
- Ask The Computer
- Big Design Up Front *
- Blame Yourself First
- Burn Out
- Category Testing
- Chief Architect
- Code Harvesting
- Code Ownership *
- Companies Doing Xp *
- Copy And Paste Programming *
- Continuous Review *
- Creeping Featuritis *
- Daves Real Example Where Thinking Ahead Would Have Helped
- Death March
- Developer Turned Manager
- Dialogue While Pair Programming
- Different Version From Scratch *
- Dont Call It Extreme
- Dont Repeat Yourself *
- Do It Right The First Time *
- Do The Simplest Thing That Could Possibly Work *
- Egoless Programming *
- Fear Of Adding Classes
- Full Time Open Source Developer
- Geta Life *
- Gold Plating
- Green Bar Addiction
- Heroic Programming
- Its Justa Job
- Just An Architect
- Just An Engineer
- Just An Idiot
- Just Leave
- Just Stop Doing It
- Justa Programmer
- Justa Software Engineer
- Keep It Simple Stupid *
- Let The Junior Drive
- Nomadic Programmer
- Non Coding Architects Suck
- Once And Only Once *
- Once And Only Once Is Not Just For Code
- Pair Mismatch
- Pair On
- Pair Programming *
- Pair Programming Is Done By Peers
- Pair Programming Is Not Training
- People Skills
- Perfect Architecture
- PeterPrinciple *
- Premature Generalization *
- Professional Engineer
- Project Manager
- Qualifying Employers
- Record Your Communication In The Code
- Recovering Programmer
- Software Architect
- Software Engineer
- Technical Lead
- Technical Writer
- Trial And Error Programming *
- Way To Win
- We Arent Gonna Need It
- We Dont Need It Yet
- What Is Refactoring *
- When Are We Gonna Need It
- When Xp Is Unpopular
- Yagni Exceptions
- You Are Gonna Need It
- You Arent Gonna Need It *
- You Might Need It
- Your Mileage May Vary *
Hay que advertir también que no todos los elementos de esta lista son patrones, sino también anti-patrones, como por ejemplo "Architects Don't Code".
Y un último inciso sobre dos de ellas: "Green Bar Addiction" me recuerda mucho al tinderbox de Mozilla, jeje; y "Peter Principle" parece corresponderse con el Principio de Máxima Incompetencia del que he oído hablar tanto y que EMO ocurre mucho en España.
Labels: General, Ingenieria, Programacion