<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comentarios en: Percepciones acerca de la programación ágil y XP</title>
	<atom:link href="http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/feed/" rel="self" type="application/rss+xml" />
	<link>http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/</link>
	<description>Palabras de café acerca de la comunicación y el desarrollo de software</description>
	<lastBuildDate>Thu, 15 Oct 2009 22:52:37 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: wigahluk</title>
		<link>http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-240</link>
		<dc:creator>wigahluk</dc:creator>
		<pubDate>Mon, 28 Jul 2008 19:30:27 +0000</pubDate>
		<guid isPermaLink="false">http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-240</guid>
		<description>Iván,

Me da gusto volver a saber de ti y de tus “diferencias” :)

Vamos punto por punto. En cuanto al desarrollo profesional y el tipo de roles de los desarrolladores experimentados, creo que has tomado mis palabras un poco demasiado al pie de la letra y las has hecho decir cosas que no he querido decir. Me explico:

No es que en XP tomemos a los mejores programadores y los dejemos siempre programando, en espera de que se conviertan en unos apéndices de sus computadoras o que les aparezcan puertos USB en algún lado.

De hecho, los desarrolladores más experimentados tienen varias tareas específicas en XP, la primera, es monitorear y trabajar en pareja con los más inexpertos para entrenarlos, liderar los talleres de arquitectura y participar muy activamente en las reuniones con los clientes para guiar el descubrimiento del dominio y de los procesos.

En cuanto al UML, mi posición es la misma que la de Martin Fowler, creo que el UML es una herramienta de comunicación entre humanos. La uso para expresar mis ideas en los talleres de arquitectura o para indicar a un colega una idea o una pregunta, pero no uso herramientas de dibujo de UML a no ser que el cliente pida los diagramas. Sin embargo, mantengo la idea de que en el equipo todos deben dominar al menos los diagramas de estructura y los diagramas de secuencia para poder comunicarse fácilmente con los demás. Creo que el dominio del lenguaje UML y de los patrones más utilizados es importante para comunicarnos en el equipo, más que para poder realmente programar.

Por ejemplo, si sugiero el uso de un “Unit of Work” en cierto sistema, sé que no tengo que explicar exactamente qué quiero que haga el sistema, los demás saben a qué me refiero porque conocen el patrón. Lo mismo con UML, no me la paso explicando qué quieren decir las flechitas, porque sé que mis colegas dominan lo necesario del UML para poder entendernos.

En resumen, creo que los desarrolladores más experimentados, en efecto terminan más en reuniones con los clientes para descubrir dominio y requerimientos, así como liderando talleres de arquitectura (donde dibujan UML) pero también participan directamente en el desarrollo y en la formación de los más jóvenes. ¡Nuevamente, parece que nuestras diferencias no lo son tanto!

El punto dos, en donde te refieres al Outsourcing o la compra y adquisición de software o sistemas externos. En efecto tienes razón, en XP no tenemos manera de manejar estas adquisiciones, pero como bien sugieres, existen metodologías y estrategias para realizar estos procesos:

Es cierto que la metodología XP no tiene un proceso para la adquisición de software o código externo, pues es una metodología de desarrollo y no una metodología de apoyo gerencial como lo es RUP/UP, sin embargo, en este tipo de procesos, podemos fácilmente tomar mano de Scrum o de la misma RUP para llevar a cabo el proceso de adquisición de manera controlada. Ya lo he dicho antes, soy un promotor de la XP, no un enemigo del RUP/UP.

La conclusión aquí sería que en efecto la XP no maneja adquisiciones externas, pero que es compatible con metodologías de apoyo gerencial que si tienen estos procesos descritos, como Scrum y RUP/UP.

Tu último punto que has dejado sin número es sobre la prioridad de la evaluación del sistema contra la implementación de funcionalidad sin pruebas. En efecto, me has entendido bien. Los puntos de control, el tener la funcionalidad realmente funcional, el tener las pruebas y las evaluaciones con focos verdes es más importante que la funcionalidad incompleta o la codificación a medias. Así mismo, las fechas de fin de iteración no debieran ser negociables, para mantener el control del proceso de desarrollo y mejorar la estimabilidad del proyecto completo.

Un gusto, como siempre, saludar a un miembro de la trinchera vecina del RUP/UP.</description>
		<content:encoded><![CDATA[<p>Iván,</p>
<p>Me da gusto volver a saber de ti y de tus “diferencias” :)</p>
<p>Vamos punto por punto. En cuanto al desarrollo profesional y el tipo de roles de los desarrolladores experimentados, creo que has tomado mis palabras un poco demasiado al pie de la letra y las has hecho decir cosas que no he querido decir. Me explico:</p>
<p>No es que en XP tomemos a los mejores programadores y los dejemos siempre programando, en espera de que se conviertan en unos apéndices de sus computadoras o que les aparezcan puertos USB en algún lado.</p>
<p>De hecho, los desarrolladores más experimentados tienen varias tareas específicas en XP, la primera, es monitorear y trabajar en pareja con los más inexpertos para entrenarlos, liderar los talleres de arquitectura y participar muy activamente en las reuniones con los clientes para guiar el descubrimiento del dominio y de los procesos.</p>
<p>En cuanto al UML, mi posición es la misma que la de Martin Fowler, creo que el UML es una herramienta de comunicación entre humanos. La uso para expresar mis ideas en los talleres de arquitectura o para indicar a un colega una idea o una pregunta, pero no uso herramientas de dibujo de UML a no ser que el cliente pida los diagramas. Sin embargo, mantengo la idea de que en el equipo todos deben dominar al menos los diagramas de estructura y los diagramas de secuencia para poder comunicarse fácilmente con los demás. Creo que el dominio del lenguaje UML y de los patrones más utilizados es importante para comunicarnos en el equipo, más que para poder realmente programar.</p>
<p>Por ejemplo, si sugiero el uso de un “Unit of Work” en cierto sistema, sé que no tengo que explicar exactamente qué quiero que haga el sistema, los demás saben a qué me refiero porque conocen el patrón. Lo mismo con UML, no me la paso explicando qué quieren decir las flechitas, porque sé que mis colegas dominan lo necesario del UML para poder entendernos.</p>
<p>En resumen, creo que los desarrolladores más experimentados, en efecto terminan más en reuniones con los clientes para descubrir dominio y requerimientos, así como liderando talleres de arquitectura (donde dibujan UML) pero también participan directamente en el desarrollo y en la formación de los más jóvenes. ¡Nuevamente, parece que nuestras diferencias no lo son tanto!</p>
<p>El punto dos, en donde te refieres al Outsourcing o la compra y adquisición de software o sistemas externos. En efecto tienes razón, en XP no tenemos manera de manejar estas adquisiciones, pero como bien sugieres, existen metodologías y estrategias para realizar estos procesos:</p>
<p>Es cierto que la metodología XP no tiene un proceso para la adquisición de software o código externo, pues es una metodología de desarrollo y no una metodología de apoyo gerencial como lo es RUP/UP, sin embargo, en este tipo de procesos, podemos fácilmente tomar mano de Scrum o de la misma RUP para llevar a cabo el proceso de adquisición de manera controlada. Ya lo he dicho antes, soy un promotor de la XP, no un enemigo del RUP/UP.</p>
<p>La conclusión aquí sería que en efecto la XP no maneja adquisiciones externas, pero que es compatible con metodologías de apoyo gerencial que si tienen estos procesos descritos, como Scrum y RUP/UP.</p>
<p>Tu último punto que has dejado sin número es sobre la prioridad de la evaluación del sistema contra la implementación de funcionalidad sin pruebas. En efecto, me has entendido bien. Los puntos de control, el tener la funcionalidad realmente funcional, el tener las pruebas y las evaluaciones con focos verdes es más importante que la funcionalidad incompleta o la codificación a medias. Así mismo, las fechas de fin de iteración no debieran ser negociables, para mantener el control del proceso de desarrollo y mejorar la estimabilidad del proyecto completo.</p>
<p>Un gusto, como siempre, saludar a un miembro de la trinchera vecina del RUP/UP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Iván Garcerant</title>
		<link>http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-238</link>
		<dc:creator>Iván Garcerant</dc:creator>
		<pubDate>Mon, 28 Jul 2008 09:30:01 +0000</pubDate>
		<guid isPermaLink="false">http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-238</guid>
		<description>Saludos de nuevo!

Este artículo tuyo no lo había leído hasta hoy, cuando lo he encontrado en una madrugada con insomnio. Me alegra sin embargo la noche, fue un lectura en verdad interesante.

Ya hemos conversado sobre estas cosas antes, pero si me permites decirte las ideas de hoy, tengo dos puntos para poner en la mesa:

1. Los programadores de XP deben ser experimentados... y hasta ahora no me había dado cuenta de un detalle que se desprende de la visión RUP/UP del mundo: los profesionales comienzan programando pero al crecer y adquirir experiencia dejan de hacerlo.

Entonces, en la  banca ágil se pone a la gente más capacitada a escribir código mientras que nosotros colocamos a esta misma gente en otras cosas, como crear diagramas UML o tratar con el cliente.

Tenemos entonces, diferencias de enfoque en la evolución del profesional.

2. RUP/UP nos da un marco para enfrentar otro tipo de proyectos: la adquisición de software por ejemplo, no tiene un componente de código nuevo significativo, ¿es aplicable XP a este tipo de proyecto? Pienso que no. En tal caso que enfoque se sugiere que sea compatible con XP?

Cuando lo que queremos es instalar y configurar un software obtenido de un proveedor, desarrollar la visión y contar con un diagrama de despliegue siguen siendo útiles pero el refactoring y la programación en parejas no tienen cabida.

RUP en su versión 7.0 introduce la idea de un marco común de prácticas y capacidades, a partir del cual se pueden configurar procesos específicos, donde el desarrollo de software es solo uno de los posibles. ¿Ya lo habíamos comentado cierto? Recuerda que tengo insomnio, cualquier redundancia me la has de perdonar.

Te comento por ultimo sobre un extracto de tu artículo:

&quot;Si una funcionalidad no puede terminarse en una iteración, se terminará la iteración sin ella, es más importante terminar la iteración con un sistema funcional y sin errores o detalles incompletos que un sistema que no puede ser evaluado.&quot;

Si lo interpreto bien, dices que la capacidad de evaluar el software es incluso más importante que el de tener la funcionalidad completa, es decir: es necesario cumplir con el punto de control. Retrasar este unos días para terminar con una sección del código no es lo correcto.

Si lo he interpretado bien, entonces no puedo estar más de acuerdo.

Estamos hablando.</description>
		<content:encoded><![CDATA[<p>Saludos de nuevo!</p>
<p>Este artículo tuyo no lo había leído hasta hoy, cuando lo he encontrado en una madrugada con insomnio. Me alegra sin embargo la noche, fue un lectura en verdad interesante.</p>
<p>Ya hemos conversado sobre estas cosas antes, pero si me permites decirte las ideas de hoy, tengo dos puntos para poner en la mesa:</p>
<p>1. Los programadores de XP deben ser experimentados&#8230; y hasta ahora no me había dado cuenta de un detalle que se desprende de la visión RUP/UP del mundo: los profesionales comienzan programando pero al crecer y adquirir experiencia dejan de hacerlo.</p>
<p>Entonces, en la  banca ágil se pone a la gente más capacitada a escribir código mientras que nosotros colocamos a esta misma gente en otras cosas, como crear diagramas UML o tratar con el cliente.</p>
<p>Tenemos entonces, diferencias de enfoque en la evolución del profesional.</p>
<p>2. RUP/UP nos da un marco para enfrentar otro tipo de proyectos: la adquisición de software por ejemplo, no tiene un componente de código nuevo significativo, ¿es aplicable XP a este tipo de proyecto? Pienso que no. En tal caso que enfoque se sugiere que sea compatible con XP?</p>
<p>Cuando lo que queremos es instalar y configurar un software obtenido de un proveedor, desarrollar la visión y contar con un diagrama de despliegue siguen siendo útiles pero el refactoring y la programación en parejas no tienen cabida.</p>
<p>RUP en su versión 7.0 introduce la idea de un marco común de prácticas y capacidades, a partir del cual se pueden configurar procesos específicos, donde el desarrollo de software es solo uno de los posibles. ¿Ya lo habíamos comentado cierto? Recuerda que tengo insomnio, cualquier redundancia me la has de perdonar.</p>
<p>Te comento por ultimo sobre un extracto de tu artículo:</p>
<p>&#8220;Si una funcionalidad no puede terminarse en una iteración, se terminará la iteración sin ella, es más importante terminar la iteración con un sistema funcional y sin errores o detalles incompletos que un sistema que no puede ser evaluado.&#8221;</p>
<p>Si lo interpreto bien, dices que la capacidad de evaluar el software es incluso más importante que el de tener la funcionalidad completa, es decir: es necesario cumplir con el punto de control. Retrasar este unos días para terminar con una sección del código no es lo correcto.</p>
<p>Si lo he interpretado bien, entonces no puedo estar más de acuerdo.</p>
<p>Estamos hablando.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Percepciones sobre la agilidad y lo tradicional &#171; El albino nihilista cool</title>
		<link>http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-4</link>
		<dc:creator>Percepciones sobre la agilidad y lo tradicional &#171; El albino nihilista cool</dc:creator>
		<pubDate>Sat, 16 Jun 2007 06:27:48 +0000</pubDate>
		<guid isPermaLink="false">http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-4</guid>
		<description>[...] tradicionales de desarrollo de software y sobre las metodologías express en uno de sus posts (Percepciones acerca de la programación ágil y XP). No soy un experto en la materia, e incluso puedo decir que se mucho menos que él, pero si me [...]</description>
		<content:encoded><![CDATA[<p>[...] tradicionales de desarrollo de software y sobre las metodologías express en uno de sus posts (Percepciones acerca de la programación ágil y XP). No soy un experto en la materia, e incluso puedo decir que se mucho menos que él, pero si me [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: wigahluk</title>
		<link>http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-3</link>
		<dc:creator>wigahluk</dc:creator>
		<pubDate>Sat, 16 Jun 2007 05:58:36 +0000</pubDate>
		<guid isPermaLink="false">http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-3</guid>
		<description>Estoy convencido de que la metodología XP puede utilizarse independientemente del tamaño del proyecto. Entiendo que no a todos los clientes les agrade la idea de utilizar metodologías ágiles, pero creo que esto se debe al desconocimiento que se tiene de ellas, además de que el nombre de &quot;agiles&quot; o &quot;extremas&quot; está un poco cargado de prejuicios.
Como todo, la XP no es perfecta, pero dadas las opciones, creo que es una de las mejoes metodologías para el desarrollo serio de software, y aquí podríamos abrir otro tema, ¿cuando una empresa quiere desarrollar un sistema, es realmente necesario desarrollar un sistema en lugar de adaptar uno ya existente, sabe en lo que se está metiendo, sabe el costo y el tiempo que implicará?</description>
		<content:encoded><![CDATA[<p>Estoy convencido de que la metodología XP puede utilizarse independientemente del tamaño del proyecto. Entiendo que no a todos los clientes les agrade la idea de utilizar metodologías ágiles, pero creo que esto se debe al desconocimiento que se tiene de ellas, además de que el nombre de &#8220;agiles&#8221; o &#8220;extremas&#8221; está un poco cargado de prejuicios.<br />
Como todo, la XP no es perfecta, pero dadas las opciones, creo que es una de las mejoes metodologías para el desarrollo serio de software, y aquí podríamos abrir otro tema, ¿cuando una empresa quiere desarrollar un sistema, es realmente necesario desarrollar un sistema en lugar de adaptar uno ya existente, sabe en lo que se está metiendo, sabe el costo y el tiempo que implicará?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: robbywankenobi</title>
		<link>http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-2</link>
		<dc:creator>robbywankenobi</dc:creator>
		<pubDate>Fri, 15 Jun 2007 02:28:25 +0000</pubDate>
		<guid isPermaLink="false">http://wigahluk.wordpress.com/2007/06/14/percepciones-acerca-de-la-programacion-agil-y-xp/#comment-2</guid>
		<description>Tu post me gusta, pues demuestra que conoces bastante más que aquellos de esas empresa mexicana que suponen que las metodologías express son descuidadas, los descuidados suelen ser los desarrolladores. (Lástima que no mencionas quienes son para no caer es sus garras).
Pero creo que si queda muy evidente que eres un defensor casi incondicional de las metodologías express, pues si bien tienen grandes ventajas también tiene sus puntos débiles. Todas las metodologías tienen puntos buenos y malos, y creo que la metodología que un equipo de desarrollo elija debe depender no solo de los artefactos y herramientas para esa metodología, sino que además debe tomar en cuenta el proyecto particular y al cliente que lo solicito.
Kudos en tu primer post!, saludos.</description>
		<content:encoded><![CDATA[<p>Tu post me gusta, pues demuestra que conoces bastante más que aquellos de esas empresa mexicana que suponen que las metodologías express son descuidadas, los descuidados suelen ser los desarrolladores. (Lástima que no mencionas quienes son para no caer es sus garras).<br />
Pero creo que si queda muy evidente que eres un defensor casi incondicional de las metodologías express, pues si bien tienen grandes ventajas también tiene sus puntos débiles. Todas las metodologías tienen puntos buenos y malos, y creo que la metodología que un equipo de desarrollo elija debe depender no solo de los artefactos y herramientas para esa metodología, sino que además debe tomar en cuenta el proyecto particular y al cliente que lo solicito.<br />
Kudos en tu primer post!, saludos.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
