<?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; scrum</title>
	<atom:link href="http://blog.chuidiang.com/tag/scrum/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>¿Se deteriora Scrum?</title>
		<link>http://blog.chuidiang.com/2011/01/14/%c2%bfse-deteriora-scrum/</link>
		<comments>http://blog.chuidiang.com/2011/01/14/%c2%bfse-deteriora-scrum/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 16:58:51 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[scrum]]></category>
		<category><![CDATA[varios]]></category>
		<category><![CDATA[mentiras]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=868</guid>
		<description><![CDATA[Veo que Scrum est&#225; dando fuerte. En nuestra empresa, aparte de nuestros intentos de hacer Scrum, hay otros departamentos que tambi&#233;n lo est&#225;n intentando. Tambi&#233;n conozco gente en otras empresas con las que colaboramos que est&#225;n empezando a usarlo. Pero no solo es eso lo que me llama la atenci&#243;n (&#34;frikis&#34; los habemos en todos [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="scrum" vspace="10" hspace="10" align="right" src="http://img25.imageshack.us/img25/1854/scrumcambios.jpg" />Veo que <a href="http://www.chuidiang.com/ood/metodologia/scrum.php">Scrum</a> est&aacute; dando fuerte. En nuestra empresa, aparte de nuestros intentos de hacer Scrum, hay otros departamentos que tambi&eacute;n lo est&aacute;n intentando. Tambi&eacute;n conozco gente en otras empresas con las que colaboramos que est&aacute;n empezando a usarlo. Pero no solo es eso lo que me llama la atenci&oacute;n (&quot;frikis&quot; los habemos en todos lados)</p>
<p>Por un lado, en la portada de nuestra intranet, que la empresa aprovecha para poner lo maravillosa que es, los proyectos que tiene y lo bien que va, apareci&oacute; hace unos d&iacute;as un art&iacute;culo en el que nuestra empresa y otra hab&iacute;an colaborado para la implantaci&oacute;n de Scrum en los procesos de no s&eacute; qu&eacute;.</p>
<p>Por otro, ha ca&iacute;do en mis manos (de forma completamente legal) una oferta t&eacute;cnica de otra empresa para el desarrollo de un sistema &#8230; y en &eacute;l ponen que usar&aacute;n redmine &#8230; y Scrum como metodolog&iacute;a de desarrollo.</p>
<p>Todo esto tiene su parte buena &#8230; y su parte mala.</p>
<p>La parte buena es que Scrum est&aacute; ganando la suficiente fama de ser una buena metodolog&iacute;a de desarrollo como para que las empresas empiecen a considerarlo como algo bueno, que merece la pena intentar. Lo ponen en su propaganda, en sus ofertas, &#8230;</p>
<p>Lo malo es lo de siempre, que se acaba desvirtuando el fondo real que hay detr&aacute;s de la metodolog&iacute;a. Al convertirse en algo &quot;bonito&quot; para poner en papel, se pondr&aacute; &quot;usamos Scrum&quot; por sistema, se use bien, se use mal o no se use en absoluto. El cliente no conseguir&aacute; siempre los resultados esperados de esta metodolog&iacute;a y acabar&aacute; perdiendo su fama.</p>
<p>La verdad es que estoy un poco hasta las narices de las mentiras empresariales, &quot;vende-motos&quot; y palabras rimbombantes. Conseguir un premio a &quot;la excelencia empresarial&quot; es muy f&aacute;cil, sea lo que sea eso, pero todos los curritos sabemos que lo que hay detr&aacute;s es cualquier cosa menos &quot;excelencia&quot;. La &quot;garant&iacute;a de calidad&quot;, sea lo que sea eso, tres cuartos de lo mismo. Tener la &quot;certificaci&oacute;n ISO no s&eacute; qu&eacute;&quot;, sea lo que sea eso, igual. Y dentro de nada, ser &quot;Scrum certified&quot; ser&aacute; algo (sea lo que sea) que no sabremos que es, pero que pagando se consigue.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2011/01/14/%c2%bfse-deteriora-scrum/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>¿Qué habría pasado de usar TDD?</title>
		<link>http://blog.chuidiang.com/2010/07/02/%c2%bfque-habria-pasado-de-usar-tdd/</link>
		<comments>http://blog.chuidiang.com/2010/07/02/%c2%bfque-habria-pasado-de-usar-tdd/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 15:08:51 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[metodologías]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[anécdotas]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=832</guid>
		<description><![CDATA[Siguiendo un poco con el post anterior, hace tiempo en Verlo para creerlo coment&#233; un c&#243;digo real de una empresa con el que me hab&#237;a tropezado. En ese c&#243;digo hab&#237;a una clase (llam&#233;mosla Datos) con 16 atributos est&#225;ticos iguales (digamos, atributo1, atributo2, &#8230; atributo16). Pulsando un bot&#243;n (uno por atributo) deb&#237;a mostrarse en una ventana [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="hommer pensando en un programa software" vspace="10" hspace="10" align="right" src="http://img43.imageshack.us/img43/9639/homersimpsondoh.jpg" />Siguiendo un poco con el post anterior, hace tiempo en <a href="http://blog.chuidiang.com/2010/04/26/verlo-para-creerlo/">Verlo para creerlo</a> coment&eacute; un c&oacute;digo real de una empresa con el que me hab&iacute;a tropezado. En ese c&oacute;digo hab&iacute;a una clase (llam&eacute;mosla Datos) con 16 atributos est&aacute;ticos iguales (digamos, atributo1, atributo2, &#8230; atributo16). Pulsando un bot&oacute;n (uno por atributo) deb&iacute;a mostrarse en una ventana nueva algunas cosas relativa a uno de esos atributos. En el c&oacute;digo hab&iacute;a 16 clases Ventana, una por atributo, llamadas Ventana1, Ventana2&#8230;. Ventana16. La &uacute;nica diferencia en el c&oacute;digo de esas clases, aparte del nombre, era que acced&iacute;a a Datos.atributo1, Datos.atributo2 &#8230; Datos.atributo16</p>
<h2>&iquest;Qu&eacute; habr&iacute;a pasado si hubieran usado TDD?</h2>
<p>Supongamos que este mismo programador hubiera hecho este c&oacute;digo usando TDD. &iquest;Qu&eacute; habr&iacute;a pasado?. Pues lo evidente, habr&iacute;a 16 clases de test llamadas TestVentana1, TestVentana2, &#8230; TestVentana16.</p>
<p>Pero TDD no es s&oacute;lo hacer test, es hacerlos antes. Bueno, supongamos que los ha hecho antes.</p>
<p>Y TDD tiene otro tercer paso, refactorizar para quitar todas las repeticiones posibles de c&oacute;digo, incluso las menos evidentes. Bueno, no s&eacute; vosotros, pero yo, independientemente de usar o no TDD, me repatear&iacute;a hacer copy-paste 16 veces de una misma clase y como ser vago a veces es una virtud, habr&iacute;a dado las vueltas necesarias para no hacer esto. Sin TDD se me ocurre simplemente meter los atributos en un array de 16 posiciones y en un m&eacute;todo set() de la &uacute;nica clase VentanaUnica pasarle el &iacute;ndice de la posici&oacute;n que debe tratar. Es lo primero que se me ocurre, nada complejo, seguramente hay m&aacute;s y mejores soluciones.</p>
<p>Sin embargo, este desarrollador no lo ha hecho. &iquest;Por qu&eacute;?. Se me ocurren cuatro posibles motivos:</p>
<ol>
<li>Totalmente inexperto en java, un array es algo complejo de usar y lo del set() ni lo cree posible. Muchos programadores novatos tiene problemas para hacer que los atributos de una clase se vean en otra y por eso tienden a hacerlos est&aacute;ticos (justo como ha hecho este se&ntilde;or).</li>
<li>No tiene cabeza para programar, por m&aacute;s vuelta que le ha dado, no se le ha ocurrido c&oacute;mo evitar hacer las 16 clases.</li>
<li>Le importa tres pepinos. Para qu&eacute; se va a complicar la vida si con 16 clicks de rat&oacute;n (un copy y 15 pastes) lo arregla.</li>
<li>Todas las anteriores.</li>
</ol>
<p>Bueno, pues con este panorama, &iquest;qu&eacute; habr&iacute;a hecho al intentar refactorizar con TDD?</p>
<ol>
<li>Ya tengo mi TestVentana1, as&iacute; que hago mi Ventana1. Ahora mi TestVentana2 y hago mi Ventana2. &iexcl;&iexcl; C&oacute;digo repetido !!. &iexcl;&iexcl; Vamos a refactorizar !!: Imposible, java no permite hacerlo, si java no permite pasar el atributo de la clase Datos a la clase Ventana, Ventana1 y Ventana2 deben ser clases distintas. Y no te digo juntar los dos test en uno solo.</li>
<li>Buff, qu&eacute; dolor de cabeza, no se me ocurre como puedo convertir dos clases distintas que manejan atributos distintos en una sola.</li>
<li>J&oacute;, que rollo refactorizar ahora que me est&aacute; funcionando, voy con los siguientes 14 pastes, que el copy ya lo tengo hecho.</li>
<li>Java no deja, no se me ocurre como hacerlo y voy a correr un mont&oacute;n si reaprovecho el copy para el resto de pastes.</li>
</ol>
<p>Algo como Srcum tampoco evitar&iacute;a estas cosas. En el sprint diario este se&ntilde;or dir&iacute;a &quot;Ya tengo las ventanas de &nbsp;los atributos&quot; y todos felices. Bueno, con un poco de suerte, un d&iacute;a dir&iacute;a &quot;tengo la Ventana1 del atributo1&quot;, al d&iacute;a siguiente &quot;tengo la Ventana2 del atributo2&quot; y alrededor del quinto d&iacute;a, quiz&aacute;s a alguien se le ponga la mosca detr&aacute;s de la oreja y quiera ver qu&eacute; est&aacute; haciendo. De todas formas, no se tardan 16 d&iacute;as en hacer 15 pastes.</p>
<p>Una herramienta de an&aacute;lisis est&aacute;tico de c&oacute;digo integrada en una herramienta de integraci&oacute;n continua cantar&iacute;a esto por la noche, suponiendo que cante cuando encuentra c&oacute;digo repetido y, como hacemos nosotros, el compilado falla si no se cumple alguna m&eacute;trica importante. Desgraciadamente, existe el @SuppressWarnings que la gente se acostumbra a poner por sistema, incluso antes de que cante la m&eacute;trica (conozco al menos dos personas que lo hacen).</p>
<p>La programaci&oacute;n en parejas tambi&eacute;n habr&iacute;a ayudado, salvo que la pareja de nuestro programador fuera el reci&eacute;n entrado al que le han asignado para que le ense&ntilde;e.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2010/07/02/%c2%bfque-habria-pasado-de-usar-tdd/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Metodologías ágiles y tradicionales. ¿De verdad sirven para algo?</title>
		<link>http://blog.chuidiang.com/2010/07/01/metodologias-agiles-y-tradicionales-%c2%bfde-verdad-sirven-para-algo/</link>
		<comments>http://blog.chuidiang.com/2010/07/01/metodologias-agiles-y-tradicionales-%c2%bfde-verdad-sirven-para-algo/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 13:03:18 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[metodologías]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=830</guid>
		<description><![CDATA[Bueno, parece que &#250;ltimamente las malas son las metodolog&#237;as tradicionales y las buenas son las metodolog&#237;as &#225;giles, pero a fin de cuentas, ambas son metodolog&#237;as y las metodolog&#237;as, en general, presentan sus problemas. &#191;Por qu&#233;?. Este art&#237;culo de Joel on Software nos da la respuesta. Un cocinero excepcional hace lo siguiente: Ahora bien, el Chef [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="el big-mac de las metodologias" vspace="10" hspace="10" align="right" src="http://img443.imageshack.us/img443/5420/bigmacv.jpg" />Bueno, parece que &uacute;ltimamente las malas son las metodolog&iacute;as tradicionales y las buenas son las metodolog&iacute;as &aacute;giles, pero a fin de cuentas, ambas son metodolog&iacute;as y las metodolog&iacute;as, en general, presentan sus problemas. &iquest;Por qu&eacute;?. <a href="http://spanish.joelonsoftware.com/Articles/BigMacsvs.TheNakedChef.html">Este art&iacute;culo de Joel on Software</a> nos da la respuesta.</p>
<p>Un cocinero excepcional hace lo siguiente:</p>
<blockquote>
<p>Ahora bien, el Chef Desnudo no sigue ning&uacute;n apestoso Manual de Operaciones. No mide nada. Mientras esta cocinando, usted ve un frenes&iacute; de comida sacudida y siendo arrojada por aqu&iacute; y all&aacute;. &quot;Simplemente pondremos una pizca extra de romero por ac&aacute;, que no lo arruinara, y le daremos una buena sacudida&quot;, dice el. &quot;Am&aacute;senlo as&iacute;. Perfecto. Solo esp&aacute;rzanlo por todos lados.&quot; (Si, de verdad se ve como si simplemente lo esparciera por todos lados.</p>
</blockquote>
<p>es decir, una persona brillante (cocinero en este caso), no necesita seguir ninguna metodolog&iacute;a ni medir nada para obtener un producto genial. &iquest;Por qu&eacute; las metodolog&iacute;as?. Pues porque gente brillante hay poca y del resto hay un mont&oacute;n. Para conseguir que el resto de la gente haga un buen producto, la persona brillante escribe una serie de reglas para que la gente del mont&oacute;n sea capaz de hacer lo mismo que &eacute;l &#8230; y eso no funciona. Si se hace, se tienen &quot;Big Macs&quot;. El resumen del proceso es el que indica Joel on Software en el mismo art&iacute;culo</p>
<blockquote>
<p>1. Algunas cosas requieren de talento para hacerse realmente bien.<br />
2. Es dif&iacute;cil tener talento a la medida.<br />
3. Una forma en que la gente intenta igualar el talento es haciendo que el talentoso cree las reglas para que los menos talentosos las sigan.<br />
4. La calidad del producto resultante es muy baja.&nbsp;</p>
</blockquote>
<p>&iquest;Y qu&eacute; pasa con el software?. Pues m&aacute;s o menos lo mismo. Unas personas geniales escribieron unas metodolog&iacute;as para hacer buen software, sean las tradicionales, sea Scrum, sea TDD y el resto de los mortales tratamos de seguirlas. &iquest;Y qu&eacute; pasa?. Pues cosas como esta</p>
<ul>
<li>&quot;Scrum no nos gusta por la reuni&oacute;n diaria de 90 minutos&quot;&nbsp;<a href="http://www.dosideas.com/noticias/metodologias/917-scrum-diario-efectivo.html">http://www.dosideas.com/noticias/metodologias/917-scrum-diario-efectivo.html</a></li>
<li>&quot;Hacer TDD mal es m&aacute;s costoso que no hacerlo&quot;&nbsp;<a href="http://geeks.ms/blogs/lontivero/archive/2009/09/28/unit-tests-contras-de-implementar-test-unitarios.aspx">http://geeks.ms/blogs/lontivero/archive/2009/09/28/unit-tests-contras-de-implementar-test-unitarios.aspx</a></li>
<li>etc, etc.</li>
</ul>
<p>Total, que para hacer bien Scrum o hacer bien TDD o cualquier otra de las metodolog&iacute;as &aacute;giles hay que hacer un cambio importante de mentalidad, ser bueno en muchas materias incluido como programador, tener mucho sentido com&uacute;n, etc, etc.</p>
<p>Y digo yo&#8230; la persona que cumple todo eso y puede hacer realmente bien TDD/Scrum/metodolog&iacute;as &aacute;giles&#8230; &iquest;necesita realmente hacer todo eso?. Estoy totalmente convencido que un programador genial es totalmente capaz de hacer un muy buen software sin preocuparse en absoluto por ninguna metodolog&iacute;a concreta, sino siguiendo simplemente su intuici&oacute;n. Y estoy convencido que el resto de los mortales estamos predestinados a hacer mal software directamente o hacer mal software despu&eacute;s de haber seguido deficientemente una metodolog&iacute;a &aacute;gil.</p>
<p>A pesar de todo, es mejor seguir una metodolog&iacute;a que ninguna. Imagina en el McDonalds si cada uno se hace los BigMac de cualquier manera. Pero aunque lo he dicho&nbsp;muchas veces, me reitero. Si se quiere un buen software que destaque, el punto m&aacute;s importante a tener en cuenta es elegir a los mejores programadores.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2010/07/01/metodologias-agiles-y-tradicionales-%c2%bfde-verdad-sirven-para-algo/feed/</wfw:commentRss>
		<slash:comments>16</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>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>¿Dos es más del doble? ¿Quién se atreve a probarlo?</title>
		<link>http://blog.chuidiang.com/2009/07/22/%c2%bfdos-es-mas-del-doble-%c2%bfquien-se-atreve-a-probarlo/</link>
		<comments>http://blog.chuidiang.com/2009/07/22/%c2%bfdos-es-mas-del-doble-%c2%bfquien-se-atreve-a-probarlo/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 20:12:08 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[metodologías]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=635</guid>
		<description><![CDATA[Pong&#225;monos en situaci&#243;n. Supongamos un grupo de dos desarrolladores que tienen que hacer dos tareas. Las tareas no tienen nada que ver la una con la otra, incluso son de proyectos distintos. Lo &#250;nico que tienen en com&#250;n es que tienen que estar para ayer, es decir, el tiempo para que est&#233;n acabadas es demasiado [...]]]></description>
			<content:encoded><![CDATA[<p>Pong&aacute;monos en situaci&oacute;n. Supongamos un grupo de dos desarrolladores que tienen que hacer dos tareas. Las tareas no tienen nada que ver la una con la otra, incluso son de proyectos distintos. Lo &uacute;nico que tienen en com&uacute;n es que tienen que estar para ayer, es decir, el tiempo para que est&eacute;n acabadas es demasiado corto y es muy probable que se llegue por los pelos o no se llegue.</p>
<p>Ante esta situaci&oacute;n tenemos dos soluciones:</p>
<ol>
<li>Soluci&oacute;n tradicional, est&aacute;ndar, t&iacute;pica y la m&aacute;s habitual. Cada desarrollador se pone con una tarea y hasta donde lleguen. Esto da tranquilidad aparente, puesto que ambas tareas est&aacute;n haci&eacute;ndose y se acabar&aacute;n o no dependiendo de si los desarrolladores se acordaron de traerse el gorro de dormir a la empresa.</li>
<li>Soluci&oacute;n &aacute;gil, moderna y a la moda. Los dos desarrolladores se ponen juntos a hacer una de las tareas. Cuando la acaban, se ponen con la otra. Desde luego, parece muy arriesgado y a alg&uacute;n jefe se le pueden poner los pelos de punta &#8211; &iexcl;&iexcl; Pero !! .. &nbsp;&iquest;c&oacute;mo?&iquest;no estais haciendo nada de la tarea B? -</li>
</ol>
<p>Supuestamente la soluci&oacute;n &aacute;gil es la correcta, pero eso s&oacute;lo es cierto si dos desarrolladores trabajando juntos avanzan el doble de r&aacute;pido que uno solo. Pero no queda ah&iacute; la cosa. Si la soluci&oacute;n &aacute;gil es la correcta, es porque es mejor que la soluci&oacute;n tradicional. Eso quiere decir que dos desarrolladores juntos deber&iacute;an trabajar m&aacute;s del doble de r&aacute;pido que si trabaja uno solo.</p>
<p>&iquest;Y es esto cierto? &iquest;dos desarrolladores juntos trabajan m&aacute;s del doble de r&aacute;pido que uno solo?. Si t&uacute; eres uno de los desarrolladores y es a t&iacute; al que van a caer los capones si las tareas no est&aacute;n acabadas a tiempo, &iquest;te atrever&iacute;as a desarrollar una en conjunto con tu compa&ntilde;ero y abandonar temporalmente la segunda? Y si t&uacute; eres el jefe de esos dos desarrolladores y es a t&iacute; al que caen los capones &iquest;les animar&iacute;as a trabajar juntos en una tarea dejando abandonada temporalmente la otra? &iquest;Y a mitad del tiempo l&iacute;mite dar&iacute;as el tipo cuando tengas que decir -La tarea B no est&aacute; porque ni siquiera la hemos empezado-?</p>
<p>Decisi&oacute;n dif&iacute;cil que requiere valor.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/07/22/%c2%bfdos-es-mas-del-doble-%c2%bfquien-se-atreve-a-probarlo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>¿Por qué elegí Scrum?</title>
		<link>http://blog.chuidiang.com/2009/07/08/%c2%bfpor-que-elegi-scrum/</link>
		<comments>http://blog.chuidiang.com/2009/07/08/%c2%bfpor-que-elegi-scrum/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 19:44:32 +0000</pubDate>
		<dc:creator>Chuidiang</dc:creator>
				<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.chuidiang.com/?p=632</guid>
		<description><![CDATA[&#160; Este comentario de ilcavero al post Se nos va relajando Scrum&#8230; y los siguientes comentarios me han dado bastante sobre lo que reflexionar, si Scrum es o no adecuado para nuestro caso. Nuestros sistemas llevan much&#237;simos equipos hardware de distinta &#237;ndole (GPS, Receptores de radio, Grabadores digitales, etc, etc) que nuestro software debe controlar. [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Este <a href="http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/#comment-1983">comentario</a> de ilcavero al post <a href="http://blog.chuidiang.com/2009/07/03/se-nos-va-relajando-scrum-por-decirlo-suavemente/">Se nos va relajando Scrum&#8230;</a> y los siguientes comentarios me han dado bastante sobre lo que reflexionar, si Scrum es o no adecuado para nuestro caso.</p>
<p>Nuestros sistemas llevan much&iacute;simos equipos hardware de distinta &iacute;ndole (GPS, Receptores de radio, Grabadores digitales, etc, etc) que nuestro software debe controlar. Algunos de esos equipos se compran, pero otros se fabrican en otros departamentos de nuestra empresa. Adem&aacute;s, todo el montaje de esos equipos en los armarios correspondientes, con su cableado entre ellos y con los ordenadores, es tambi&eacute;n cosa de otro departamento m&aacute;s de la empresa. De hecho, los costes de los equipos, de los armarios y su montaje son mayores que los del software que hacemos nosotros.</p>
<p>Dichos equipos y montaje no suele estar completa hasta fases finales del proyecto, de hecho, los plazos de entrega se miden m&aacute;s por el tiempo que se puede tardar en comprar/fabricar los equipos y montarlos que en lo que se va a tardar en hacer el software, que se supone que es menos. Por ello, no podemos probar en condiciones reales nuestro software hasta casi el final del proyecto.</p>
<p>Y esa es la duda que plantea ilcavero sobre si es adecuado o no usar Scrum en estas condiciones. Nosotros (los del software), al principio del proyecto podemos pensar en un sprint de un mes (por ejemplo), una serie de historias de usuario y hacer el sprint. Pero no podemos garantizar que esas historias de usuario est&aacute;n completas sin pruebas con los equipos reales que todav&iacute;a no est&aacute;n disponibles. Nuestra &uacute;nica opci&oacute;n para hacer una prueba del software es hacer simuladores de los equipos. Esto hace que el producto &quot;entregado&quot; al final de cada Sprint no sea el producto real.</p>
<p>Por ello y siendo consciente del asunto, al elegir Scrum, tuve en cuenta que no se probar&iacute;an los sprint en el sistema real. La condici&oacute;n de &quot;historia terminada y funcionando&quot; deber&iacute;a relajarse un poco y ser &quot;historia probada y funcionando con simuladores, pendiente de prueba real en cuanto haya equipo&quot;.</p>
<p>Y de esta forma, aunque se pierden parte de las ventajas de Scrum relativas a entregas frecuentes, si nos aporta el resto de ventajas:</p>
<ul>
<li>La reuni&oacute;n diaria hace que tengamos m&aacute;s sensaci&oacute;n de equipo. Anteriormente, cada desarrollador se dedicaba a su tema y trabajaba aislado de los dem&aacute;s, salvo que su c&oacute;digo tuviera comunicaci&oacute;n con el c&oacute;digo de otro. Aunque no llevamos mucho tiempo con Scrum y no lo estamos haciendo bien, algunos desarrolladores empezaban a coger tareas que no eran suyas, s&iacute;mplemente para ayudar a un compa&ntilde;ero o porque cre&iacute;an que ellos pod&iacute;an hacerlo mejor o m&aacute;s r&aacute;pido que el compa&ntilde;ero novato.</li>
<li>La demo al final del Sprint no es como debiera ser, pero s&iacute; se llama a la gente (jefes de proyecto principalmente y otros desarrolladores de otros grupos que tengan que hacer algo parecido). Todos son conscientes de que hay cosas &quot;simuladas&quot; y que habr&aacute; que depurar al final, con equipos reales.</li>
<li>La retrospectiva ayuda a mejorar la forma de trabajo, independientemente de que el producto de la demo sea real o no.</li>
</ul>
<p>Las pegas, hay dos importantes:</p>
<ul>
<li>La fase final del proyecto (en la que estamos ahora en uno de ellos), puede durar uno o dos meses en los que el c&oacute;digo est&aacute; pr&aacute;cticamente hecho al 100%, pero no probado con todos los equipos reales. Esta parte de integraci&oacute;n es muy compleja de llevar con Scrum (al menos, no se me ocurre como), ya que los errores no son conocidos y sabes que vas a dedicar el d&iacute;a a probar y corregir lo que vayas encontrando. Imposible hacer un sprint-planning, demos o incluso en el d&iacute;a a d&iacute;a, contar que vas a hacer ese d&iacute;a. Nuestro &quot;Scrum&quot; actual es sin sprints y se basa s&iacute;mplemente en reunirse a diario, contarnos los bugs encontrados y corregidos el d&iacute;a anterior, los encontrados y no corregidos, as&iacute; c&oacute;mo que problemas tenemos con las pruebas.</li>
<li>Esta fase absorbe el 100% del tiempo (es la fase final del proyecto que est&aacute; a punto de cumplir hito) y las pruebas son lentas, ya que no s&oacute;lo es el software el que tiene fallos, tambi&eacute;n hay cables mal hechos o equipos con bugs en su firmaware. Cualquier prueba necesita gente de varios departamentos. En un post anterior comentaba que estaba de Scrum master de dos equipos de scrum simult&aacute;neamente. Pues bien, uno de esos equipos es el que est&aacute; integrando ahora &#8230; y el otro se ha quedado sin Scrum master.</li>
</ul>
<p>En cualquier caso, otro punto importante a tener en cuenta es que hay muchos post en muchos blogs en los que se critica a los que dicen &quot;Nosotros no podemos aplicar Scrum&quot;. Las condiciones no son las ideales, pero es cuesti&oacute;n de intentarlo y estoy convencido de que si logramos sacarlo adelante, aunque sea con pegas, vamos a mejorar nuestra forma de trabajo. Todo es cuesti&oacute;n de insistir y para eso est&aacute;n las retrospectivas al final del sprint, para ver c&oacute;mo mejorar.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chuidiang.com/2009/07/08/%c2%bfpor-que-elegi-scrum/feed/</wfw:commentRss>
		<slash:comments>4</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>

