<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diario de Programación &#187; kanban</title>
	<atom:link href="http://blog.chuidiang.com/tag/kanban/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chuidiang.com</link>
	<description>Programación e informática en general</description>
	<lastBuildDate>Wed, 25 Jan 2012 23:17:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Vuelta a los viejos tiempos</title>
		<link>http://blog.chuidiang.com/2010/03/17/vuelta-a-los-viejos-tiempos/</link>
		<comments>http://blog.chuidiang.com/2010/03/17/vuelta-a-los-viejos-tiempos/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 20:13:55 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[grails]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[kanban]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=732</guid>
		<description><![CDATA[Hace un mes algo cambio en el trabajo. Mi grupo, en vez de seguir adaptando nuestro software de siempre a los distintos proyectos en curso (y corrigiendo las incidencias que siempre salen), hemos pasado a realizar software nuevo. Eso me ha llevado a decidir usar TDD, y para la parte de interface de usuario probar [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un mes algo cambio en el trabajo. Mi grupo, en vez de seguir adaptando nuestro software de siempre a los distintos proyectos en curso (y corrigiendo las incidencias que siempre salen), hemos pasado a realizar software nuevo. Eso me ha llevado a decidir usar <a href="http://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas">TDD</a>, y para la parte de interface de usuario probar <a href="http://easytesting.org/swing/wiki/pmwiki.php">fest-swing</a>, y a meterme con <a href="http://izpack.org/">izpack</a> para generar los instaladores &#8230; y cogida la inercia de probar las nuevas cosas que siempre he querido aprender/aplicar y no he podido, me he lanzado a probar m&aacute;s cosas, en casa y sin tener nada que ver con el trabajo. <a href="http://openmap.bbn.com/">Openmap</a> primero, <a href="http://itextpdf.com/">tText</a> despu&eacute;s, lo de la <a href="http://code.google.com/intl/es-ES/appengine/">google app engine con python</a>, etc.</p>
<p>Al final me he decidido a hacer un <a href="http://github.com/chuidiang/ChuKanBoard">peque&ntilde;o tablero Kanban usando Grails</a>. &iquest;Por qu&eacute; <a href="http://www.grails.org/">Grails</a>?. Pues simplemente porque no lo conozco. &iquest;Por qu&eacute; subirlo a <a href="http://github.com/">github</a>? Pues porque nunca he usado <a href="http://git-scm.com/">git</a>. &nbsp;Y la verdad es que me ha enganchado bastante todo esto. Llevo varios d&iacute;as en casa programando hasta la una o las dos de la madrugada. Para alguien como yo, acostumbrado a irse a la cama sobre las once, eso son horas realmente intempestivas. Y desde los viejos tiempos de la universidad que no me quedaba programando hasta esas horas.</p>
<p>&iquest;Qu&eacute; tal con Grails?</p>
<p>La verdad es que me ha decepcionado un poco. La primera impresi&oacute;n con las primeras pruebas fue muy buena, con poco tiempo y pocas l&iacute;neas de c&oacute;digo se pueden hacer muchas cosas. Pero resulta que uso <a href="http://www.google.com/chrome?hl=es">Google Chrome</a> como navegador y tengo de pantalla de inicio una en la que salen las p&aacute;ginas m&aacute;s visitadas. Pues bien, r&aacute;pidamente la p&aacute;gina que muestra las excepciones de mi aplicaci&oacute;n se ha convertido en una de las m&aacute;s visitadas y es un poco deprimente.</p>
<p>Por un lado, <a href="http://groovy.codehaus.org/">groovy</a>, el lenguaje de grails, no es fuertemente tipado, por lo que los IDE no dan un auto-completar demasiado completo, cosa imposible si en ning&uacute;n sitio aparece el tipo de la variable. Esto hace que los errores de sintaxis al escribir nombres de m&eacute;todos o atributos est&eacute;n a la orden del d&iacute;a y no los descubres hasta que compilas, aparte de tener que navegar por el c&oacute;digo para ver c&oacute;mo era el nombre exacto.</p>
<p>Adem&aacute;s, grails entiende/busca ciertos atributos en las clases para hacer cosas, como hasMany, allowedMethods, belongsTo, etc. Pues bien, nuevamente un error de sintaxis al escribir alguno de estos puede darte quebraderos de cabeza un rato. Compilar, compila, pero luego un tablero kanban no &quot;hasmany&quot; pegatinas dentro y te sale vac&iacute;o.</p>
<p>La documentaci&oacute;n de grails es bastante escasa. Si un tablero hasMany pegatinas, grails a&ntilde;ade autom&aacute;ticamente de alguna forma el m&eacute;todo tablero.removeFromPegatinas(). Pues bien, navegando por la documentaci&oacute;n de grails no he encontrado ning&uacute;n ejemplo de ese m&eacute;todo, pero curiosamente, buscando en google, he llegado a un sitio de la documentaci&oacute;n de grails donde s&iacute; pone el ejemplo (me hace la impresi&oacute;n de que es una documentaci&oacute;n antigua que google encuentra, pero no est&aacute; enlazada desde la documentaci&oacute;n principal). Pues usas el ejemplo tal cual y no funciona, da errores de &quot;deleted object would be re-saved by cascade&quot;. Buscando en los foros, veo que es un error que sale con frecuencia y no he visto en ning&uacute;n foro que alguien d&eacute; una soluci&oacute;n definitiva. Y lo peor no es que me d&eacute; ese error, porque si hago algo mal es normal que me de error, lo peor es que lo da de forma aleatoria en una misma ejecuci&oacute;n. En una misma ejecuci&oacute;n creo pegatinas, las borro, y unas las borra y otras falla, pero despu&eacute;s de fallar, las vuelves a borrar y esta vez s&iacute; las borra &#8230; o no. Si grails tiene &eacute;xito y se usa, estoy seguro que algo estoy haciendo mal, pero desde luego, la documentaci&oacute;n no ayuda a descubrirlo.</p>
<p>No todo es malo. Tiene much&iacute;simas cosas que hacen el trabajo m&aacute;s r&aacute;pido y m&aacute;s f&aacute;cil. Por ejemplo, si una clase persistente en base de datos tiene los atributos nombre, apellidos y telefono, grails permite hacer consultas con m&eacute;todos findAllByNombre(&#8216;nombre&#8217;), o findAllByNombreAndApellido(&#8216;nombre&#8217;, &#8216;apellido&#8217;) o findAllByNombreBetween(&#8216;nombre1&#8242;,&#8217;nombre2&#8242;) y cualquier combinaci&oacute;n larga y extra&ntilde;a que se te ocurra con los atributos de la clase, siguiendo ciertas reglas.</p>
<p>Seguir&eacute; jugando unos d&iacute;as con grails y la aplicacioncilla que estoy haciendo,</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2010/03/17/vuelta-a-los-viejos-tiempos/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>He leído &#8220;Kanban y Scrum &#8211; Obteniendo lo mejor de ambos&#8221;</title>
		<link>http://blog.chuidiang.com/2010/03/05/he-leido-kanban-y-scrum-obteniendo-lo-mejor-de-ambos/</link>
		<comments>http://blog.chuidiang.com/2010/03/05/he-leido-kanban-y-scrum-obteniendo-lo-mejor-de-ambos/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 18:03:29 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[artículos]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=725</guid>
		<description><![CDATA[He le&#237;do &#34;Kanban y Scrum &#8211; Obteniendo lo mejor de ambos&#34; que te puedes descargar en el post del enlace, hacia el final, en cristiano. En una primera parte, comparan scrum con kanban en plan te&#243;rico. No explican scrum con detalle ni kanban, es algo que se da por supuesto, simplemente se centran en comparar [...]]]></description>
			<content:encoded><![CDATA[<p>He le&iacute;do &quot;<a href="http://www.proyectalis.com/2010/01/28/scrum-vs-kanban-en-castellano/">Kanban y Scrum &#8211; Obteniendo lo mejor de ambos</a>&quot; que te puedes descargar en el post del enlace, hacia el final, en cristiano.</p>
<p>En una primera parte, comparan scrum con kanban en plan te&oacute;rico. No explican scrum con detalle ni kanban, es algo que se da por supuesto, simplemente se centran en comparar qu&eacute; cosas hace uno y qu&eacute; cosas hace el otro.</p>
<p>En la segunda parte se cuenta una historia real en la que intentan implantar Scrum o Kanban en un departamento de una empresa real. Van explicando los problemas de ese departamento, analizando posibles soluciones, implant&aacute;ndolas y viendo las mejoras que se producen en el proceso. Para su caso concreto se deciden por Kanban y lo van adaptando hasta que se hace c&oacute;modo. El tablero Kanban se convierte en una herramienta importante para ver si hay problemas y si se solucionan.</p>
<p>La parte te&oacute;rica de comparaci&oacute;n es m&aacute;s o menos lo ya sabido y como comparaci&oacute;n te&oacute;rica est&aacute; bien, hay algunos detalles que no ten&iacute;a claros y se han quedado aclarados, sobre todo en la parte Kanban que quiz&aacute;s conozco menos o est&aacute; menos documentada que Scrum.</p>
<p>La parte de implantaci&oacute;n pr&aacute;ctica no me ha gustado demasiado el c&oacute;mo est&aacute; escrita. Trata de explicar los problemas del departamento, las posibles soluciones, la implantaci&oacute;n de la mismas y los resultados obtenidos, pero lo hace en muy pocas hojas y demasiado por encima para mi gusto. Al final de la lectura me ha quedado la impresi&oacute;n de &#8230; &quot;&iquest;ya est&aacute;?&quot; y de &quot;kanban es maravilloso, f&iacute;jate como el departamento del que todo el mundo se quejaba en cuatro meses ha ganado el premio al m&aacute;s productivo&quot;. &nbsp;Parece propaganda.</p>
<p>Sin embargo, si leemos entre l&iacute;neas (o, al menos, no nos quedamos en los detalles), s&iacute; sacamos la conclusi&oacute;n de lo que es Kanban en el fondo. Y en el fondo kanban es detectar los problemas, encararlos y solucionarlos. El tablero kanban ayuda a detectar si hay o no problemas, viendo si las pegatinas se apilan en alguna columna o van fluyendo de principio a fin sin aglomeraciones. Y el tablero kanban ayuda a ver si la soluci&oacute;n que hemos puesto al problema es efectiva o no, viendo si las pegatinas se desatascan o no. Lo realmente importante de toda esta filosof&iacute;a es &quot;ten claro tu objetivo, detecta los problemas para conseguirlo, afr&oacute;ntalos y solucionalos&quot;. En el libro, el uso del tablero kanban no es m&aacute;s que la herramienta, lo importante es que detectaron porqu&eacute; no funcionaba bien el departamento, consiguieron mejorar su forma de trabajo, involucrar a la gerencia para que ayudara a solucionar problemas y mejoraron sus resultados. Todo un reto.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2010/03/05/he-leido-kanban-y-scrum-obteniendo-lo-mejor-de-ambos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Al final, ni Scrum ni Kanban</title>
		<link>http://blog.chuidiang.com/2009/11/10/al-final-ni-scrum-ni-kanban/</link>
		<comments>http://blog.chuidiang.com/2009/11/10/al-final-ni-scrum-ni-kanban/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 17:57:53 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[metodologías]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[taskfreak]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=670</guid>
		<description><![CDATA[&#160; Empezamos antes de verano a intentar hacer Scrum, pero el tema se fue relajando, principalmente debido a que estabamos en fases finales de proyecto y no se pod&#237;a planificar a una semana vista qu&#233; incidencias se iban a encontrar durante las pruebas ni cu&#225;nto se iba a tardar en resolverlas. Entonces pens&#233; que quiz&#225;s [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Empezamos antes de verano a <a href="http://blog.chuidiang.com/2009/05/14/icescrum2-y-srcum-2/">intentar hacer Scrum</a>, pero el tema <a href="http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/">se fue relajando</a>, principalmente debido a que estabamos en fases finales de proyecto y no se pod&iacute;a planificar a una semana vista qu&eacute; incidencias se iban a encontrar durante las pruebas ni cu&aacute;nto se iba a tardar en resolverlas. Entonces pens&eacute; que quiz&aacute;s en estas fases es mejor pasarse a <a href="http://blog.chuidiang.com/2009/08/22/primero-scrum-luego-kanban/">algo como Kanban</a>, pero quiz&aacute;s por pereza m&iacute;a no llegamos a formalizarlo.</p>
<p>&iquest;Y en qu&eacute; ha quedado el tema entonces?</p>
<p>Pues b&aacute;sicamente tenemos la lista de tareas en curso de nuestro grupo. No lo hacemos con un tablero de post-it estilo Scrum o Kanban, sino que inicialmente era un peque&ntilde;o documento de word con la lista. Todos los d&iacute;as nos reunimos unos minutos y comentamos estas tareas, cu&aacute;les est&aacute;n acabadas, su estado de avance, qu&eacute; problemas hay con ellas y a&ntilde;adimos, si alguien puede abordarlas, m&aacute;s. Como digo, inicialmente era un word que todos los d&iacute;as imprim&iacute;amos y luego yo modificaba con lo que se hab&iacute;a hablado en la reuni&oacute;n. Este word al final se ha cambiado por una herramienta web de tareas: <a href="http://www.taskfreak.com/">taskfreak</a>. muy sencilla y c&oacute;moda de usar que nos permite tener nuestra lista de tareas en curso siempre actualizada y accesible a todos.</p>
<p>&iquest;Pegas?</p>
<p>Pues los jefes de proyecto no participan demasiado. Ellos nos van poniendo tareas/incidencias en <a href="http://www.redmine.org/">redmine</a>, por correo o de palabra. Yo las aparco y las ordeno en funci&oacute;n de la insistencia del jefe de proyecto en cada tarea y de las fechas de hitos. Luego las voy metiendo en nuestra lista de tareas en curso seg&uacute;n se van terminando las existentes. Con este mecanismo, nos falta todo eso que pregonan las metodolog&iacute;as &aacute;giles de realimentaci&oacute;n frecuente, no ya del cliente, sino del jefe de proyecto.</p>
<p>&iquest;Ventajas?</p>
<p>Las de la reunion diaria. Todos tenemos m&aacute;s claro qu&eacute; vamos a hacer ese d&iacute;a, somos conscientes y ayudamos al otro cuando tiene problemas y yo, como resposable del grupo, estoy viendo que las cosas se hacen m&aacute;s r&aacute;pido y con menos errores.</p>
<p>Seguramente cosas como Scrum son maravillosas si se llevan bien y tienen much&iacute;simas m&aacute;s ventajas, pero aunque no se consiga el 100% de sus beneficios, simplemente aplicando algunas de sus reglas (reuni&oacute;n diaria en este caso y lista de tareas priorizada, aunque sea por m&iacute;), se obtiene una mejora importante frente a no hacer nada, el cada uno a su bola, las tareas sin priorizar y cada uno elige la que le apetece en ese momento.</p>
<p>Esto me recuerda la famosa regla del 80-20. Quiz&aacute;s con el 20% de las pr&aacute;cticas de Scrum se consigue el 80% de los beneficios. Posiblemente sea exagerado, pero con lo poquito que hacemos he notado una mejora importante en nuestra forma de trabajo.</p>
<p>Mi siguiente reto, una vez establecida la constumbre de la reuni&oacute;n diaria que ya hacemos c&oacute;modamente, es elegir alguna otra de las pr&aacute;cticas de Scrum y tratar de implantarla hasta que se convierta en costumbre. Quiz&aacute;s la retrospectiva una o dos veces por semana (no tenemos todav&iacute;a los sprints, seguimos rematando proyectos).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/11/10/al-final-ni-scrum-ni-kanban/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Kanban explicado en comic</title>
		<link>http://blog.chuidiang.com/2009/09/09/kanban-explicado-en-comic/</link>
		<comments>http://blog.chuidiang.com/2009/09/09/kanban-explicado-en-comic/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 20:30:56 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[metodologías]]></category>
		<category><![CDATA[ágil]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=651</guid>
		<description><![CDATA[&#160;A trav&#233;s de javahispano, (original de One day in Kanban land&#160;),&#160;encuentro un post de astracanada en el que cuentan un dia de Kanban en una tira de comic. Leyendo el comic que copio a continuaci&#243;n, se entiende bastante bien la filosof&#237;a de Kanban. De todas formas, despu&#233;s de la imagen pongo las mil palabras que [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;A trav&eacute;s de <a href="http://www.javahispano.org/contenidos/es/un_poco_de_humor_sobre_scrum_/">javahispano</a>, (original de <a href="http://blog.crisp.se/henrikkniberg/2009/06/26/1246053060000.html">One day in Kanban land</a><span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 11px; border-collapse: collapse; color: rgb(51, 51, 51); line-height: 20px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">&nbsp;),&nbsp;<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">encuentro un post de <a href="http://www.astracanada.net/2009/09/08/un-dia-en-la-tierra-de-kanban/">astracanada</a> en el que cuentan un dia de Kanban en una tira de comic. Leyendo el comic que copio a continuaci&oacute;n, se entiende bastante bien la filosof&iacute;a de Kanban. De todas formas, despu&eacute;s de la imagen pongo las mil palabras que valen menos.</span></span></p>
<p><img alt="comic-camban-1" width="516" height="636" src="http://blog.chuidiang.com/wp-content/uploads/Kanban1.JPG" /></p>
<p><img alt="kanban comic" width="519" height="630" src="http://blog.chuidiang.com/wp-content/uploads/Kanban2.JPG" /></p>
<p><img width="522" height="634" alt="" src="http://blog.chuidiang.com/wp-content/uploads/Kanban3.JPG" /></p>
<p><img width="516" height="652" alt="" src="http://blog.chuidiang.com/wp-content/uploads/Kanban4.JPG" /></p>
<p>En Kanban la idea es centrarse en tareas concretas, bajo demanda y no abordar demasiadas cosas a la vez. En la primera columna del tablero est&aacute;n todas las tareas a hacer. El responsable del proyecto pasa las que considera m&aacute;s importantes a la columna &quot;selected&quot; con una restricci&oacute;n: nunca puede tener en esa columna m&aacute;s de dos tareas (el 2 que aparece debajo de selected).</p>
<p>Los desarrolladores, en su columna &quot;Develop&quot;, pueden tener un m&aacute;ximo de dos tareas. La columna se subdivide en dos: las que est&aacute;n haciendo en ese momento &quot;Ongoing&quot; y las que ya han acabado &quot;Done&quot;. No puede nter m&aacute;s de 2 tareas en la columna &quot;Develop&quot;.</p>
<p>Los de pruebas &quot;Deploy&quot;, s&oacute;lo pueden tener una tarea. Una vez probada, se pasa a la columna &quot;Live&quot;, que es definitivamente acabada.</p>
<p>Cuando cualquiera se queda sin trabajo porque los l&iacute;mites de las columnas le impiden coger alguna o a&ntilde;adir m&aacute;s, deben intentar ayudar a los del tap&oacute;n. Es el ejemplo, hacia la mitad del comic, en que un grupo de desarrolladores no pueden coger una nueva tarea puesto que hay un ta&oacute;n en la parte de pruebas. Su misi&oacute;n es ir a ayudar en las pruebas. Incluso el jefe, cuando ve el atasco, intenta ayudar como puede (llevando m&aacute;s caf&eacute;).</p>
<p>La verdad es que es una metodolog&iacute;a bastante interesante para fases finales de proyecto, donde b&aacute;sicamente lo que hay son bugs, modficaciones y peque&ntilde;os a&ntilde;adidos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/09/09/kanban-explicado-en-comic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Primero Scrum, luego Kanban</title>
		<link>http://blog.chuidiang.com/2009/08/22/primero-scrum-luego-kanban/</link>
		<comments>http://blog.chuidiang.com/2009/08/22/primero-scrum-luego-kanban/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 07:20:19 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=644</guid>
		<description><![CDATA[&#160; Hace tiempo coment&#233; que se nos iba relajando Scrum y que quiz&#225;s Kanban nos fuera mejor. El motivo era que el Scrum se nos hac&#237;a muy dif&#237;cil en las condiciones actuales de nuestros proyectos: fases finales, con el c&#243;digo pr&#225;cticamente acabado a falta de corregir bugs, integrar con hardware, probar, etc. Estimar cu&#225;nto vas [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Hace tiempo coment&eacute; que <a href="http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/">se nos iba relajando Scrum y que quiz&aacute;s Kanban nos fuera mejor</a>. El motivo era que el Scrum se nos hac&iacute;a muy dif&iacute;cil en las condiciones actuales de nuestros proyectos: fases finales, con el c&oacute;digo pr&aacute;cticamente acabado a falta de corregir bugs, integrar con hardware, probar, etc. Estimar cu&aacute;nto vas a tardar en arreglar un bug es muy dif&iacute;cil y estimar cu&aacute;ntos bugs vas a encontrar en las pruebas peor, por lo que planificar sprints se nos hac&iacute;a poco menos que imposible.</p>
<p>Sin embargo, hay muchos art&iacute;culos que critican a los que dicen &quot;Nosotros no podemos aplicar Scrum&quot; o &quot;En nuestros proyectos no se puede aplicar Scrum&quot;, as&iacute; que la decisi&oacute;n de cambiar de Scrum a otra cosa me dejaba mal sabor de boca. Me daba la impresi&oacute;n de que era m&aacute;s un problema de incapacidad e inexperiencia nuestra que un problema real con Scrum.</p>
<p>Pero el otro d&iacute;a le&iacute; un art&iacute;culo en Dos Ideas: <a href="http://www.dosideas.com/metodologias/696-iterar-primero-fluir-despues.html">Iterar primero, fluir despu&eacute;s</a>. La idea b&aacute;sica que exponen es que en las fase de desarrollo del proyecto se puede usar algo como Scrum, cuando el c&oacute;digo est&aacute; sin hacer, cuando se debe hacer un seguimiento de c&oacute;mo se va, cuando se puede hacer un listado de historias de usuario, estimarlas y hacerlas. Pero en las fases finales, cuando ya casi todo est&aacute; hecho y s&oacute;lo queda corregir errores o hacer mejoras/cambios, Kanban puede ser mas adecuado. Hay que priorizar esos bugs/cambios e ir haci&eacute;ndolos. Cada vez que se termina uno, se coge el siguiente. No se planifica nada y las cosas est&aacute;n cuando est&eacute;n.</p>
<p>La verdad es que esa idea me gusta mucho. Aunque quiz&aacute;s mi opini&oacute;n es muy subjetiva, porque justo esa idea es la que me quita el remordimiento de conciencia de no poder haber aplicado Scrum y apoya mi idea de pasarnos a Kanban dadas nuestras circunstancias. Creo que merece la pena intentarlo.</p>
<p>As&iacute; que a la vuelta de vacaciones (por eso escribo poco estos d&iacute;as), coger&eacute; a mi grupo de tres personas con seis proyectos faltos de tiempo a cuestas y les har&eacute; la propuesta, a ver qu&eacute; opinan.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/08/22/primero-scrum-luego-kanban/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Se nos va relajando Scrum&#8230;. por decirlo suavemente.</title>
		<link>http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/</link>
		<comments>http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 20:33:53 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[scrum]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[metodologías ágiles]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=629</guid>
		<description><![CDATA[&#160; Hace tiempo empezamos a intentar hacer Scrum un grupo de cuatro para atender seis proyectos, con sprints de una semana. Los sprints tan cortos eran necesarios para poder reorganizar el product backlog mezclado con historias de varios proyectos y poder cambiar de unos proyectos a otros en funci&#243;n de sus prioridades. Pero esos sprints [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Hace tiempo empezamos a <a href="http://blog.chuidiang.com/2009/05/14/icescrum2-y-srcum-2/">intentar hacer Scrum un grupo de cuatro para atender seis proyectos</a>, con sprints de una semana. Los sprints tan cortos eran necesarios para poder reorganizar el product backlog mezclado con historias de varios proyectos y poder cambiar de unos proyectos a otros en funci&oacute;n de sus prioridades. Pero esos sprints tan cortos nos hac&iacute;an perder mucho tiempo, ya que organizar todos los viernes una o dos demos, era demasiado para ense&ntilde;ar un peque&ntilde;o incremento de funcionalidad.</p>
<p>As&iacute; que intentamos aproximarnos a algo m&aacute;s como <a href="http://www.dosideas.com/metodologias/184-kanban-y-scrum.html">Kanban</a>. Ten&iacute;amos nuestras historias, nuestras reuniones diarias, nuestras tareas, planificaci&oacute;n por poker, pero no haciamos las demos.</p>
<p>Y ya no queda ni eso. Uno de los proyectos ha entrado en sus fases finales, as&iacute; que estamos los cuatro liados con ese proyecto. Nuestro trabajo d&iacute;a a d&iacute;a consiste en probar, encontrar incidencias y corregirlas. Nuestro product backlog es &quot;probar tal tema y corregir&quot;. Planificar eso es complejo, una incidencia nunca se sabe cu&aacute;nto se puede tardar en corregir y menos una semana antes, cuando todav&iacute;a no la has encontrado.</p>
<p>As&iacute; que nada, consideraremos este periodo como un descanso de Scrum, seguiremos con nuestras reuniones diarias (han gustado a todos los miembros del equipo) y a la vuelta de vacaciones retomaremos el Scrum/Kanban.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Scrum: tan simple y tan complejo</title>
		<link>http://blog.chuidiang.com/2009/06/05/scrum-tan-simple-y-tan-complejo/</link>
		<comments>http://blog.chuidiang.com/2009/06/05/scrum-tan-simple-y-tan-complejo/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 14:55:08 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[metodologías]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[kanban]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=605</guid>
		<description><![CDATA[&#160; Llevamos aproximadamente tres sprints de una semana con el grupo de tres desarrolladores que participan en seis proyectos simult&#225;neamente. La verdad es que scrum se aprende en diez minutos, pero me da la impresi&#243;n de que se puede tardar toda una vida en aplicarlo correctamente. Nuestro primer sprint fue m&#225;s o menos bien, seguimos [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Llevamos aproximadamente tres sprints de una semana con <a href="http://blog.chuidiang.com/2009/05/14/icescrum2-y-srcum-2/">el grupo de tres desarrolladores que participan en seis proyectos simult&aacute;neamente</a>. La verdad es que <a href="http://www.chuidiang.com/ood/metodologia/scrum.php">scrum</a> se aprende en diez minutos, pero me da la impresi&oacute;n de que se puede tardar toda una vida en aplicarlo correctamente.</p>
<p>Nuestro primer sprint fue m&aacute;s o menos bien, seguimos casi todo lo de Scrum a rajatabla y hasta donde pudimos, pero sprint tras sprint, la cosa se va convirtiendo en rutina y las pr&aacute;cticas de Scrum se van relajando. Aqu&iacute; van los problemillas que vamos teniendo y los porqu&eacute;s.</p>
<p>Uno de los problemas gordos es la tendencia de los programadores a coger las tareas/historias de usuario de los proyectos en los que tradicionalmente est&aacute;n asignados, o de las funcionalidades que tradicionalmente conocen mejor. Esto no es demasiado grave, pero tiene dos pegas importantes:</p>
<ul>
<li>Los daily scrum son m&aacute;s un cotilleo que un intercambio de informaci&oacute;n &uacute;til. Cada uno trabaja en lo suyo y cuenta a los dem&aacute;s qu&eacute; est&aacute; haciendo, pero a los dem&aacute;s realmente no les afecta. Escuchan por cortes&iacute;a o por curiosidad, pero no va m&aacute;s all&aacute; de eso.</li>
<li>El que termina su historia de usuario de su proyecto/funcionalidad, tiende a coger otra tarea de su proyecto/funcionalidad que no est&aacute; planificada. Podr&iacute;a coger alguna de las de los dem&aacute;s, pero el cambio de contexto es muy fuerte: debe actualizar de CVS el otro proyecto, ponerse al d&iacute;a e implementar algo que no conoce. Al ser los sprint tan cortos, de una semana, esto suele suceder el Mi&eacute;rcoles o el Jueves, por lo que para un d&iacute;a no le merece la pena ese cambio de contexto.</li>
</ul>
<p>S&iacute;, es cierto que no deber&iacute;an tener un proyecto/funcionalidad asignada (y de hecho no lo tienen, pueden coger libremente lo que quieran), pero la inercia de a&ntilde;os de trabajo es muy grande para cambiarla en unas pocas semanas. Supongo que no se conseguir&aacute; plenamente hasta que se vayan cerrando los proyectos actuales y se comiencen los nuevos.</p>
<p>Otro problema gordo es la corta duraci&oacute;n de los sprint. Elegimos esa duraci&oacute;n para poder cambiar de semana en semana de un proyecto a otro (recordad, tres desarrolladores, seis proyectos), para poder atender sus necesidades y que ninguno se sienta desatendido mucho tiempo. Haciendo sprints de una semana, podemos decirle a un jefe de proyecto&#8230;. &quot;&iquest;puedes esperar a que hagamos eso que nos pides la semana que viene?&quot; y no suele haber pegas. Si le dices, &quot;&iquest;puedes esperar un mes?&quot;, pondr&aacute; el grito en el cielo.</p>
<p>Pero los sprint tan cortos tienen la pega de organizar demos para ver muy poca funcionalidad implementada. Si para cada semana cogemos un par de proyectos y un par de historias por proyecto y no acabamos alguna de las historias&#8230; queda un demo muy pobre. As&iacute; que la demo del segundo sprint no la hicimos (hab&iacute;a poca funcionalidad nueva que ense&ntilde;ar, ya que casi todo fue un paquete de correcci&oacute;n de bugs).</p>
<p>Con este grupo concreto estoy pensando en algo como Kanban. Por lo que he leido, viene a ser como Scrum, pero sin los sprint fijos cada cierto tiempo. Se hacen las historias de usuario, se sigue llevando el juego de post-it y se van acabando por prioridades, midiendo tiempos. La diferencia es que no hay sprint fijo, por lo que las historias tampoco son fijas. Se pueden ir cogiendo historias sobre la marcha y desarroll&aacute;ndolas, dejando la demo para cuando se considere adecuado. La &uacute;nica limitaci&oacute;n es que no puede haber simult&aacute;neamente m&aacute;s de X historias haci&eacute;ndose, m&aacute;s de Y tareas haci&eacute;ndose, etc.</p>
<p>En cualquier caso, independientemente de lo bien o mal que hagamos Scrum, s&iacute; se han notado mejoras muy importantes en el trabajo y paso a enumerar algunas.</p>
<ul>
<li>Por un lado, yo, como responsable oficial del grupo y gracias al daily scrum, estoy much&iacute;simo m&aacute;s al tanto de lo que est&aacute;n haciendo en cada momento. Eso hace que no me desespere tanto cuando las cosas parece que tardan, ya que vivo los problemas d&iacute;a a d&iacute;a y s&eacute; los motivos de la tardanza. Y tambi&eacute;n hace que yo curre m&aacute;s, ya que al ser consciente de esos problemas, intento solucionarlos lo antes posible&#8230;. &iexcl;&iexcl; Incluso me he puesto a codificar m&aacute;s en serio !!. Antes tambi&eacute;n codificaba algo, pero picoteando de aqu&iacute; y de all&iacute;, en lo que m&aacute;s me apetec&iacute;a en cada momento. Ahora lo hago centrado en ayudar a alguien con lo suyo y conseguir que una historia de usuario se termine.</li>
<li>Por otro lado, aunque cada desarrollador tiende a lo suyo, es consciente de las tareas y problemas de los dem&aacute;s, por lo que siempre tienden m&aacute;s a ayudarse por iniciativa propia. Antes la ayuda se daba s&oacute;lo si alguien te la ped&iacute;a y seg&uacute;n el momento de la petici&oacute;n, pod&iacute;a ser molesto. Ahora se ofrecen voluntariamente para ayudar, m&aacute;s que nada, porque son conscientes de que pueden ayudar si a ellos les cuesta menos realizar esa tarea.</li>
<li>Los proyectos van avanzando y hay m&aacute;s visibilidad de ello. Todos somos conscientes de las historias que se van terminando y sabemos qu&eacute; cosas est&aacute;n o no hechas en cada proyecto y hasta qu&eacute; punto est&aacute;n hechas. Antes alguien cog&iacute;a una funcionalidad, se pon&iacute;a a implementarla y un par de meses despu&eacute;s dec&iacute;a &quot;ya t&aacute;&quot;. Y estaba o no estaba, seg&uacute;n lo h&aacute;bil que fuera ese desarrollador concreto desarrollando y probando. Ahora sabemos d&iacute;a a d&iacute;a qu&eacute; cosas est&aacute;n y si est&aacute;n bien o todav&iacute;a con fallos.</li>
</ul>
<p>Resumiendo, Scrum se aprende en cinco minutos, es muy dif&iacute;cil de hacer correctamente, pero se obtienen importantes beneficios incluso no haci&eacute;ndolo bien al 100%. Hay m&aacute;s sensaci&oacute;n de equipo y la gente trabaja m&aacute;s centrada en unos objetivos concretos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/06/05/scrum-tan-simple-y-tan-complejo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

