Cuando TDD será una práctica común

5 views
Skip to first unread message

Jose R.

unread,
Nov 8, 2009, 1:31:49 PM11/8/09
to tdde...@googlegroups.com
Hola!
 
Bueno, despues del verano, y perdón por el spam que ha habido por aquí (cambie el modo de inserción de usuario nuevos), me gustaría empezar con una pregunta para darle de nuevo vidilla a este foro ;)

 ¿Cuando creeis que será común utilizar TDD? ¿cuanto tardará en convertirse en un "must have" para cualquier programador que se precie? En el foro de agile-spain comentaba que yo suelo decir que en tres años TDD será una pregunta indispensable en cualquier entrevista de trabajo. Sinceramente creo que viendo como está el asunto por aquí es un poco optimista, pero ya veremos...
 A colación de esto, se podría hacer otra pregunta: ¿es TDD bueno para todos los proyectos? Yo sospecho que no, muchos proyectos son de "usar y tirar", y no compensa la generación de tanto testeo para su posterior mantenimiento, por que no lo va a haber!

  Salu2

    Joserra
    http://najaraba.blogspot.com

Nacho Rodriguez

unread,
Nov 9, 2009, 3:00:13 AM11/9/09
to tdde...@googlegroups.com
Hola!

Respondo desde mi ignorancia y poca experiencia con el TDD, pero voy a atreverme a elucubrar:

1) Será común usar TDD cuando los jefes de proyecto y/o analistas sean los que hagan las baterias de test que especifiquen la funcionalidad de las clases.
La figura etérea del jefe de proyecto rodeado de Gantts y demas porqueria comercial se reforzará como "la persona que conoce el punto de partida del proyecto y su destino exacto, para lo cual especifica como debe quedar en su punta final de entrega".

2) El TDD será bueno para todos los proyectos en cuanto se integre 100% con ellos. ¿Cuanto tiempo echamos pintando cajitas en papel que van a la basura? Con todo esto nada va a la basura, estas documentando el proyecto con las pruebas, pero debe integrarse 100% con todas las partes del proyecto. ¿Como? Ni idea :-D

Saludos!

2009/11/8 Jose R. <jrr...@gmail.com>

Juanjo Falcon

unread,
Nov 9, 2009, 6:34:15 AM11/9/09
to tdde...@googlegroups.com
Hola Joserra

Hola!
 
Bueno, despues del verano, y perdón por el spam que ha habido por aquí (cambie el modo de inserción de usuario nuevos), me gustaría empezar con una pregunta para darle de nuevo vidilla a este foro ;)

Si la verdad que el foro ha estado bastante spameado, y al final yo por lo menos lo he ido dejando. Y esta claro que agile-spain es donde hemos seguido este tema, y de que manera en las ultimas semanas!!
 
 ¿Cuando creeis que será común utilizar TDD? ¿cuanto tardará en convertirse en un "must have" para cualquier programador que se precie? En el foro de agile-spain comentaba que yo suelo decir que en tres años TDD será una pregunta indispensable en cualquier entrevista de trabajo. Sinceramente creo que viendo como está el asunto por aquí es un poco optimista, pero ya veremos...

Personalmente creo que a medio plazo será algo obligatorio, ya que claramente será un ventaja competitiva para el cliente. Pero también es algo que tenemos que empezar con el staff tecnico, para luego pasarlo al propio cliente, y eso requiere tiempo. Además creo que la única estrategia práctica es su aplicación bottom-up. Nosotros tenemos que aplicarla en nuestros proyectos, y se lo tenemos que ir vendiendo poco a poco a los clientes. Ellos lo tienen que ir asimilando, y una vez que lo interioricen no hay vuelta atras, y hay que conseguir que se expanda como un virus, siempre por los beneficios que encuentren los propios clientes, frente a lo que tenian antes. Así que tiene que funcionar, no vale con que les contemos lo bueno que es :-o tirando de teoria.
 
 A colación de esto, se podría hacer otra pregunta: ¿es TDD bueno para todos los proyectos? Yo sospecho que no, muchos proyectos son de "usar y tirar", y no compensa la generación de tanto testeo para su posterior mantenimiento, por que no lo va a haber!

TDD estrictamente hablando no es bueno para todo. Para mi, lo primero es que tengamos una batería de tests que nos permitan tener una red de seguridad. Eso es fundamental para dar seguridad al cliente y programador. Y eso es aplicable a cualquier proyecto. Luego si lo hacemos con TDD pues mejor. Siempre hay que valorar lo que nos cuestan los tests frente a los beneficios, y no volvernos locos. Sin embargo tenemos que interiorizar el cambio de cultura de desarrollo para aplicarlo de una manera inconsciente. Luego si lo aplicamos en proyectos de "tirar y usar", pues por defecto yo lo aplicaría ya que la mayoría de estos proyectos se nos convierten en unos proyectos que tenemos que parchear y mantener durante años, y años.

  Salu2

    Joserra
    http://najaraba.blogspot.com


Un saludo,
Juanjo Falcón

Xavi Gost

unread,
Nov 9, 2009, 8:37:29 AM11/9/09
to tdde...@googlegroups.com
Hola

>  ¿Cuando creeis que será común utilizar TDD? ¿cuanto tardará en convertirse
> en un "must have" para cualquier programador que se precie? En el foro de
> agile-spain comentaba que yo suelo decir que en tres años TDD será una
> pregunta indispensable en cualquier entrevista de trabajo. Sinceramente creo
> que viendo como está el asunto por aquí es un poco optimista, pero ya
> veremos...

No creo que deba ser una pregunta en las entrevistas... desde el punto
de vista de la industria es el tener test unitarios lo que sera
exiguible, los clientes lo pondran en los contratos y todo eso.
En cambio TDD es una tecnica, no garantiza una calidad ni mucho menos,
es una tecnica que aumenta mi productividad como programador pero poco
mas, no me pagan mas por usar TDD me pagan mas porque mi codigo es
bueno y funciona.

>  A colación de esto, se podría hacer otra pregunta: ¿es TDD bueno para todos
> los proyectos? Yo sospecho que no, muchos proyectos son de "usar y tirar", y
> no compensa la generación de tanto testeo para su posterior mantenimiento,
> por que no lo va a haber!

Para mi el punto en TDD no es el acabar con una bateria de test
unitarios, es tener un buen diseño de la solucion, y una parte
importante de los test que me dan seguridad acerca de su
funcionamiento. Obviamente si tengo esto aunque sea un proyecto de
"usar y tirar" tendra calidad... No entiendo muy bien el concepto,
ahora hago TDD por que compensa y ahora no porque no compensa... Yo
uso TDD siempre por que es mi manera de programar.
Contestando a tu pregunta, si.

Xavier Gost

Carlos Ble

unread,
Nov 9, 2009, 9:22:52 AM11/9/09
to tdde...@googlegroups.com
Estoy de acuerdo con Xavi. TDD lleva usandose 20 años en USA por ejemplo y
sigue sin ser mainstream allí así que tampoco creo que lo sea aquí.
Lo que sí será obligado es probablemente una cobertura de tests de
código superior al 50%, pero eso no necesariamente se consigue con
TDD. Como bien sabes Joserra, TDD es la mejor opción de llegar ahí
pero no la única. Desgraciadamente no es fácil medir si los tests son
buenos o malos de una forma automática por lo que alguna gente se
conformará simplemente con tener muchos tests escritos, sin importar
si son buenos o malos.

Saludos :-)
--
Carlos Ble
www.iExpertos.com
www.carlosble.com

alberto rodriguez

unread,
Nov 9, 2009, 12:37:02 PM11/9/09
to TDDev
Bueno, creo que hay que diferenciar por un lado lo que se pueda pedir
en determinadas entrevistas a "que sea la norma" en nuestra profesión.

Centrándonos en esto último, mi respuesta es que probablemente nunca.
TDD va muy ligado al refactoring, y ambos al conocimiento de unos
buenos principios de diseño. Es decir que para mí decir que TDD será
lo común es lo mismo que decir que esos principios también lo serán, y
por desgracia no creo que vaya a ser así.

Y para muestra, basta ver las perlas de Joel Spolsky para bajarnos a
la realidad de lo que se cuece en mundo exterior. Hace frío ahí fuera.

Alfredo Casado

unread,
Nov 9, 2009, 2:59:01 PM11/9/09
to tdde...@googlegroups.com
Yo en primer lugar diferenciaria entre que un proyecto tenga una bateria de test automaticos y que un proyecto se construya usando TDD, son cosas diferentes.

Lo que espero que en unos años (ni idea de cuantos) en todos los proyectos se valore el echo de tener baterias de test automaticos, que sea una politica de calidad en la empresas de desarrollo y que los clientes valoren a las empresas que realmente las apliquen (por encima de CMMI y demas burocracias inservibles).

Sobre TDD lo veo mucho más complicado, ya no es que los clientes o las empresas de desarrollo no estén preparadas, los que no estamos preparados para el cambio somos los propios desarrolladores, falta mucho tiempo para que el desarrollador medio alcanze el nivel de madurez necesario para hacer TDD, y soy pesimista en esto porque es lo que veo cuando miro un poco a mi alrededor...

Carlos Ble

unread,
Nov 9, 2009, 3:07:29 PM11/9/09
to tdde...@googlegroups.com
Yes!
Eso mismo quería decir yo :-) Lo que pasa que no me expreso tan bien

El día 9 de noviembre de 2009 19:59, Alfredo Casado
<casado....@gmail.com> escribió:

Jose R.

unread,
Nov 9, 2009, 3:27:40 PM11/9/09
to tdde...@googlegroups.com
Coincido con Alfredo. En realidad creo que estamos lejos de que la mayoría de los proyectos que se hacen utilicen siquiera testeo automático. Si no controlas como hacer testeos unitarios o de integración, dificilmente vas a dar el paso a utilizar TDD.
Yo desde luego, si en las entrevistas que hago, si alguien me viene y me dice que utiliza TDD para programar, o que lo conoce y lo intenta, o me da un argumento de peso para no usarlo, lo valoro. Y mucho. Me temo que la mayoría de la gente me responde con un "no sé que es eso".


2009/11/9 Carlos Ble <ble.j...@gmail.com>
Reply all
Reply to author
Forward
0 new messages