<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Angel "Java" Lopez : Scrum, Desarrollo de Software</title><link>http://msmvps.com/blogs/lopez/archive/tags/Scrum/Desarrollo+de+Software/default.aspx</link><description>Tags: Scrum, Desarrollo de Software</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Aplicando Agil en el Desarrollo de la Aplicación</title><link>http://msmvps.com/blogs/lopez/archive/2012/02/18/aplicando-agil-en-el-desarrollo-de-la-aplicaci-243-n.aspx</link><pubDate>Sat, 18 Feb 2012 11:13:53 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1806120</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1806120</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2012/02/18/aplicando-agil-en-el-desarrollo-de-la-aplicaci-243-n.aspx#comments</comments><description>&lt;p&gt;El mes pasado publiqué:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2012/01/28/el-armado-agil-de-una-aplicaci-243-n.aspx"&gt;El Armado Agil de una Aplicación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;describiendo algo del proyecto que está desarrollando mi equipo, usando iteraciones semanales, y un Scrum-like, con iteration backlog, reuniones diarias con compromisos y avances, revisión de iteración, etc.. Como es un proyecto privado, no puedo comentar detalles de la aplicación. Pero puedo seguir escribiendo sobre algunos avances y descubrimientos de las últimas semanas.&lt;/p&gt;  &lt;p&gt;Primero, el núcleo de lo que estamos desarrollando, lo podemos llamar X. Es un sistema a consumir, no directamente, sino por otros sistemas. En vez de desarrollarlo completamente, lo que estamos haciendo es encarar los casos de uso. Por ejemplo, en la penúltima semana construimos una aplicación A, símil de otra existente en la empresa contratante. Es una aplicación con interfaz web para usuarios, que consume los servicios básicos de X:&lt;/p&gt;  &lt;p&gt;A –&amp;gt; X&lt;/p&gt;  &lt;p&gt;Luego, en esta última semana, pusimos a prueba algunos conceptos de seguridad de X, que fueron aplicados exitosamente en la aplicación A. Además, hicimos una variante nueva de A, digamos A1, que tiene algunas características adicionales que no existen en la aplicación real en uso. Eso sirvió para que el “product owner” vea que X es lo suficientemente poderoso y flexible para lo que queremos hacer, AUN SIN ESTAR totalmente definido e implementado. Todo esto gracias a algo que comenté en el post anterior: NOS CONCENTRAMOS EN LOS CASOS DE USO, en vez de ir pensando e implementando en detalle TODO X. De hecho, el dominio de X, y los de A, siguen estando en memoria, y no hemos tenido que definir tablas, bases de datos, blob storage, todos artefactos que todavía no necesitamos (igual tenemos el código preparado para tener ese tipo de persistencia, y ya lo hemos probado en los casos simples).&lt;/p&gt;  &lt;p&gt;En la reunión de revisión de iteración de ayer, surgieron dos temas, que me parecen que son hitos en este proyecto.&lt;/p&gt;  &lt;p&gt;Uno, ha ido emergiendo qué es la “esencia” de X, los servicios fundamentales de este “engine” a ser consumidor por aplicaciones. Por ejemplo, visitamos aplicaciones reales de otras empresas, y VIMOS que podríamos reimplementar lo que brindan usando el “engine” X por debajo. Para eso poner a prueba eso, ya tenemos los casos A, A1, de aplicaciones reales implementadas parcialmente.&lt;/p&gt;  &lt;p&gt;Otro, es también interesante, aunque no tan relacionado tanto con el “engine” X. El “product owner” planteó que lo que más le sumaría valor, para las próximas iteraciones, sería implementar B, una aplicación que refleje un proceso ya existente en la empresa, pero que se maneja semi-informalmente en planillas Excel (jeje… todos tenemos esto en nuestro karma ;-). Esta vez, la idea es llegar más allá de una simple implementación A. Ahora queremos armar un B que se ponga en uso real. El PO eligió este caso, guiado por el valor que gana: implementar totalmente A sobre X, no agrega tanto valor, porque YA HAY una aplicación preexistente, funcionando, del tipo A. En cambio, la aplicación B va a implementar algo que no existe todavía como aplicación en la empresa.&lt;/p&gt;  &lt;p&gt;Pero ahí apareció algo nuevo, en la discusión: la necesidad de tener una aplicación C, que facilite el trabajo de los usuarios. Todo nació de una frase tipo “Tim necesita … “. Y ese fue el “key point”: al analizar QUE necesitaba, y POR QUE, pudimos llegar a comprender cuál es el problema a resolver, más allá del tema puntual de planillas Excel y proceso. Y ahí apareció cómo los usuarios podrían usar lo que estamos haciendo, de una forma MAS ORIENTADA a lo que necesitan. Lo que quedó claro ayer, es que podemos usar una metáfora (disculpen de nuevo, no hay mucho detalle a mostrar) que nos va a guiar en las siguientes iteraciones, al implementar la funcionalidad de B y de C. Iremos probando su efectividad, viendo qué funciona y qué no, en el uso de los usuarios.&lt;/p&gt;  &lt;p&gt;Y quiero destacar: esto no surgió solamente de un equipo “iluminado” que dice “hay que ir por acá”, o que dijo “hay que usar la tecnología tal y cual, porque tiene las características … “. Tampoco fue “bajada de línea” del cliente. Surgió de la interacción con sinergia del PO, y del centrarse en los casos de uso y problemas a resolver.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1806120" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>El Armado Agil de una Aplicación</title><link>http://msmvps.com/blogs/lopez/archive/2012/01/28/el-armado-agil-de-una-aplicaci-243-n.aspx</link><pubDate>Sat, 28 Jan 2012 17:34:09 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1805351</guid><dc:creator>lopez</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1805351</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2012/01/28/el-armado-agil-de-una-aplicaci-243-n.aspx#comments</comments><description>&lt;p&gt;En este nuevo año, estoy participando en la creación de una aplicación, en un equipo ágil, usando un Scrum-like (iteration reviews, planning, standups, iteration backlog, etc..). Tecnologías: .NET, C#, ASP.NET MVC, Azure, SQL Server, y más (en cualquier momento aparece JSON, REST, Javascript, jQuery, algún NoSQL, cache en memoria, etc…). Pero lo interesante de esta aplicación es que ha nacido prácticamente como “green field”. Si bien el proyecto completo tiene casi un año de existencia (y hasta tiene proyectos antecedentes que se remontan a 3 años atrás), la aplicación que le ha tocado a mi equipo es nueva: nace desde un File, New Project.&lt;/p&gt;  &lt;p&gt;El proyecto es privado, así que no hay repositorio público para mostrar avance. Pero quería comentar en este post algunas de las estrategias que estamos usando para avanzar en el proyecto.&lt;/p&gt;  &lt;p&gt;Primero: buscar basarnos en casos de uso. Anteriormente, el proyecto se basó demasiado (en mi parecer) en solucionar temas técnicos, sin llegar a hacer pie en lo que realmente se necesita. Entonces, desde la primera iteración (son semanales) nos concentramos en mostrar algo que funcione. Si bien hay varios riesgos técnicos a tomar en cuenta, no fueron (todavía) el centro de atención. Nos parece que para el cliente final lo mejor AHORA es mostrar algo andando, para que pueda explorar si es lo que necesita.&lt;/p&gt;  &lt;p&gt;Veamos un ejemplo de estrategia: en vez de modelar el dominio con persistencia en la base de datos, lo principal del mismo ESTA EN MEMORIA, en objetos que solamente viven en memoria: persistencia, concurrencia, transacciones no están en la agenda actual, porque por las características del sistema (disculpen no dar más detalles, es privado) NO SON EL TEMA a tratar AHORA. Es mejor explorar una base de solución ahora, que tener todas las piezas en su lugar.&lt;/p&gt;  &lt;p&gt;Como el cambio es constante (al aparecer nuevas historias, al reflexionar el cliente final sobre cómo quiere que quede el producto final, sus casos de uso), todo se ha ido construyendo con TDD (Test-Driven Development). El Code Coverage es &amp;gt; 85%, en general (incluido los controladores de vistas web, estamos usando ASP.NET MVC). Cuando hubo que cambiar algo en la segunda iteración (un refactor de los que yo llamo “quirúrgico”) todo esta en su lugar para que los tests nos ayudaran a comprobar que al cambiar la implementación interna todo siguiera funcionando como se esperaba.&lt;/p&gt;  &lt;p&gt;Otro ejemplo: esta semana pasada, gran parte del dominio paso a estar persistida en SQL Server (y en Azure SQL Server). El lunes completamos la implementación de almacenamiento/persistencia en esa tecnología, usando TDD, luego la inyectamos en los lugares apropiados, y prácticamente no se rompió ningún test. En la entrega del viernes, tenemos parte del dominio en memoria (para hacer cambios rápidos) y parte en SQL Server (para ir explorando algo más cercano al producto final). Pero estamos preparados para cambiar esa persistencia a Azure Table Storage, si hace falta, y por qué no, al nuevo DynamoDB de Amazon. El desarrollo ágil y TDD nos da el “courage” (coraje) de abrazar el cambio.&lt;/p&gt;  &lt;p&gt;TDD, en vez de ser un gasto de tiempo, es un gran avance: primero, nos sirve en el diseño de lo que implementamos. Luego, nos sirve en ir armando algo sin gastar tiempo en pruebas manuales o sesiones de depuración. Vamos avanzando de a “baby steps” (pasos de bebé): cada nueva característica se agrega con TDD, y la vamos integrando. Desplegamos en Azure más de una vez al día, para que el cliente final pueda ir viendo los avances. Las nuevas características se van anunciando en la lista del proyecto.&lt;/p&gt;  &lt;p&gt;Otro ejemplo: el jueves se comenzó a implementar temas de seguridad (autorización en particular, con usuarios y grupos). ¿Acaso implementamos eso usando alguna tecnología? ¿Fuimos e instalamos Azman o cualquier otra cosa? ¿Fuimos a usar Access Control System, tokens y claims? No. Armamos los tests e implementamos la lógica (permisos, reglas) en memoria. El viernes ya estaba listo para la demostración, con distintos usuarios (de nuevo, definidos en memoria). De ahora en más, podemos tener retroalimentación del cliente y usuarios finales, sobre qué es lo que funciona o no del “approach” que adoptamos. Sabemos que alguna parte de la implementación puede sufrir en escalabilidad. Es parte de lo que tenemos en el radar. Pero, como digo, “no cruzar el puente antes de llegar al puente”. No es (en este proyecto en particular, cada uno de Uds. analizará su caso y contexto) lo PRIORITARIO ahora. En vez de estar semanas viendo cómo implementar eso con Azman, o con claims, o lo que sea, ya en dos días tenemos algo funcionando, listo para refactorizar a tecnología PORQUE TENEMOS los tests.&lt;/p&gt;  &lt;p&gt;Claro que no todo tiene que ser un lecho de rosas. Pero, por lo menos yo, estoy muy contento y entusiasmado por este camino que tomamos. Espero que todo esto permita llevar a buen puerto un proyecto que ya lleva muchos meses dando vueltas.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1805351" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/TDD/default.aspx">TDD</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>Tales from the Scrum: Comunicación en el equipo y más allá</title><link>http://msmvps.com/blogs/lopez/archive/2010/07/07/tales-from-the-scrum-comunicaci-243-n-en-el-equipo-y-m-225-s-all-225.aspx</link><pubDate>Wed, 07 Jul 2010 13:51:42 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1773385</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1773385</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/07/07/tales-from-the-scrum-comunicaci-243-n-en-el-equipo-y-m-225-s-all-225.aspx#comments</comments><description>&lt;p&gt;Hace ya un tiempo que no escribo sobre Scrum: los últimos meses me los pasé ocupado en mi &lt;a href="http://ajlopez.zoomblog.com/archivo/2010/05/30/mudanza.html" target="_blank"&gt;proyecto personal de mudanza&lt;/a&gt; y &lt;a href="http://ajlopez.zoomblog.com/archivo/2010/05/03/consolidando-Libros.html" target="_blank"&gt;consolidación de libros&lt;/a&gt;. Tengo varios posts “in pectore” sobre el tema de Scrum y desarrollo ágil, pero hoy quisiera volver sobre un tema, que me parece importante.&lt;/p&gt;  &lt;p&gt;Como saben, en Scrum hay un equipo, y se hacen reuniones diarias (además de las reuniones de iteraciones y de retrospectivas). Pero no sólo hay equipo en Scrum. También hay otros actores: &amp;quot;stakeholders”, interesados en el proyecto, gente del cliente final, gente de apoyo técnico de nuestro entorno, etc. Recordemos también al Product Owner, que es nuestro principal punto de contacto con el cliente, y que es el encargado de priorizar el Product Backlog, por valor de negocio (y no por otro criterio).&lt;/p&gt;  &lt;p&gt;Pero una cosa que no está escrito en los rituales de Scrum, es el uso de herramientas: uno no está obligado a usar tal o tal herramienta. Podemos llevar todo Scrum con lápiz, papel y reuniones físicas. Sin embargo, en los últimos cuatro años de experiencia en proyectos ágiles, he visto una herramienta que ya a esta altura, me parece indispensable: la lista de correo.&lt;/p&gt;  &lt;p&gt;Algo ya escribí cómo suelo usar la lista de correo del proyecto en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/05/tales-from-the-scrum-informando-el-estado.aspx" target="_blank"&gt;Tales from the Scrum: Informando el estado&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pero he aprendido que la lista de correo permite también:&lt;/p&gt;  &lt;p&gt;- Mantener el sincronismo con el proyecto, aunque uno como miembro, se ausente un día o dos.&lt;/p&gt;  &lt;p&gt;- Mantener informado a otros interesados de lo que se está haciendo, de los bloqueos, de los avances, de los posibles caminos que se están explorando para resolver un tema.&lt;/p&gt;  &lt;p&gt;- Permite que interesados que no están en el equipo, puedan mantenerse al tanto del estado. Puede que algunos estén físicamente lejos.&lt;/p&gt;  &lt;p&gt;- Si bien todo esto se puede hacer con otras herramientas (agregando documentos a un repositorio, escribiendo en páginas de un wiki), la lista de correo tiene una forma de llevar información, digamos, “intravenosa”: me llegan los emails, sin necesidad de ir a otra herramienta.&lt;/p&gt;  &lt;p&gt;Casos que he visto donde participar en la lista de correo fue provechosa:&lt;/p&gt;  &lt;p&gt;- Una vez, estábamos desarrollando una aplicación web, y teníamos que implementar seguridad sobre un web service. Hicimos las reuniones de standup, teníamos las tareas, habíamos consultado algunos temas técnicos. Pero gracias a que publicamos lo que íbamos a hacer en la lista de correo, uno de los suscriptos, especialista técnico en el tema, supo darnos otra orientación que se nos había pasado por alto. Esa persona, como especialista, estaba muy ocupada usualmente, y no podía estar al tanto de todas las reuniones de varios equipos. Pero gracias a las lista de correo, podía ponerse al tanto del estado de los proyectos.&lt;/p&gt;  &lt;p&gt;- Lo mismo pasó en un caso no de programación. Ante una dificultad en el “deployment” de una aplicación, que no sabíamos cómo solucionar, alguien interesado del cliente, en el área de infraestructura, nos supo dar, al leer de nuestro problema en la lista de correo, una recomendación que sirvió para seguir adelante.&lt;/p&gt;  &lt;p&gt;- El propio Product Owner se mantiene al tanto de lo que va pasando por la iteración, sin necesidad de estar asistiendo a reuniones en el medio, y sin tener que esperar al fin de la iteración para tener idea del estado.&lt;/p&gt;  &lt;p&gt;- La lista de correo permite que gente de dirección, por ejemplo, de la consultora que está llevando a cabo el proyecto, sepa si hay un bloqueo o algún problema: recordar el tema: “bad news, travel fast”. La lista de correo se transforma entonces en una especie de “instrumento de medición” de la salud del equipo.&lt;/p&gt;  &lt;p&gt;- Una vez estuve enfermo unos días (sí, ya estoy viejito… :-) y la lista de correo permitió de alguna forma que me mantuviera al tanto, de lo que iba pasando.&lt;/p&gt;  &lt;p&gt;- No en todas las reuniones (de diseño, relevamiento, pruebas, demostraciones, …) asiste todo el equipo. Entonces, algún asistente a la reunión, prepara una minuta y la envía a la lista de correo. Esto permite que los lectores de la lista, se informen de eventos a los que no asistieron.&lt;/p&gt;  &lt;p&gt;También he notado que el informar los detalles por escrito, permite que quede más claro que simplemente informar rápidamente en una conversación, donde puede que no estén todos presentes, o no quede claro lo que uno dijo, o simplemente se olvide lo que se comentó. De alguna forma, lo escrito sobrevive más a lo simplemente conversado.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel &amp;quot;Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1773385" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Agile/Scrum es difícil?</title><link>http://msmvps.com/blogs/lopez/archive/2010/01/20/tales_2D00_from_2D00_the_2D00_scrum_2D00_is_2D00_agilescrum_2D00_hard.aspx</link><pubDate>Wed, 20 Jan 2010 09:37:34 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1752641</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1752641</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/01/20/tales_2D00_from_2D00_the_2D00_scrum_2D00_is_2D00_agilescrum_2D00_hard.aspx#comments</comments><description>&lt;p&gt;Hace un tiempo, seguramente via un mensaje en Twitter, me encontré con el post &lt;a href="http://www.agileadvice.com/2009/11/16/scrumxplean/agile-pervagile-on-slashdot/" target="_blank"&gt;Agile/Pervagile on Slashdot&lt;/a&gt; en el blog multi-autor de &lt;a href="http://www.agileadvice.com" target="_blank"&gt;Agile Advice – Working With Agile Methods (Scrum, OpenAgile, Lean)&lt;/a&gt;. Es una lectura interesante. El autor presenta una descripción de lo que llama Pervagile, the Perverted Agile, lo ágil pervertido por malas prácticas. Muchas compañías dicen que están usando Agile, con Scrum o algo parecido, pero, en realidad, su adopción es parcial. El autor menciona otras desviaciones, que tienen nombres como: &lt;a href="http://jeffsutherland.com/scrum/2008/12/official-scrumbutt-test-otherwise-known.html" target="_blank"&gt;Scrumbutt&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/nickmalik/archive/2007/06/04/waterscrum-vs-scrummerfall.aspx" target="_blank"&gt;Waterscrum&lt;/a&gt;, &lt;a href="http://www.agileprogrammer.com/dotnetguy/archive/2006/07/08/16855.aspx" target="_blank"&gt;Scrummerfall&lt;/a&gt;, pero esos temas merence un post aparte.&lt;/p&gt;  &lt;p&gt;Pero hoy, quiero comentar sobre el párrafo (disculpen que no traduzca):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Agile is Hard&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Okay, I’m actually being a little dis-honest.&amp;#160; The real truth is that doing agile is extremely, exceptionally, agonizingly difficult (for most people in most&amp;#160; organizations).&amp;#160; Why?&amp;#160; Because agile is not just another process to roll out.&amp;#160; It is, as has been mentioned in numerous places, a deep cultural change.&amp;#160; Agile is actually a liberation movement for people involved in software development.&amp;#160; Like most movements, however, it has been subject to corruptive forces.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Bien, cierto, pero… Quiero moderar las afirmaciones de arriba, esta vez en el contexto de la aplicación de Scrum (no de Agil en general). Si estamos involucrados en la introducción de Scrum por primera vez en su compañía, claro que va a necesitar un cambio cultural, pero veo que no tendría que ser profundo (“deep” como dice arriba). Lo que necesitamos es un grupo de gente proactiva que componga el primer equipo, un buen ScrumMaster que maneje la introducción de Scrum, y un Product Owner que conozca su función. Y (y no es un Y pequeño) el soporte de parte de la gerencia, para protejer al equipo de intereferencias externas, Y ESPECIALMENTE el soporte al Product Owner: protejerlo/a de las presiones de otros genertes, fuerzas políticas, que podrían alterar las prioridades en el Product Backlog, o que pudieran intereferir en el medio del Sprint. El resto de la compañía pueden seguir trabajando a la vieja usanza. Pero necesitamos que nuestro primer proyecto sea protejido. Necesita protección y cuidado. No un gran cambio cultural. El cambio en el resto de la compañía podría ser progresivo. Y el cambio en el equipo (pensando en que es su primer encuentro como miembros de un Scrum) sería progresivo, ayudado por un ScrumMaster experimentado.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1752641" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Estimación Agil por Mike Cohn</title><link>http://msmvps.com/blogs/lopez/archive/2010/01/08/agile_2D00_estimation_2D00_by_2D00_mike_2D00_cohn.aspx</link><pubDate>Fri, 08 Jan 2010 10:01:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1750497</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1750497</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/01/08/agile_2D00_estimation_2D00_by_2D00_mike_2D00_cohn.aspx#comments</comments><description>&lt;p&gt;Una de las preguntas más frecuentes de los asistentes a mis charlas de Scrum, es ¿cómo se estima en un proyecto de Scrum o ágil? Hace unos meses, encontré estos videos. Quiero hoy compartirlos con Uds.&amp;#160; &lt;a href="http://www.mountaingoatsoftware.com/" target="_blank"&gt;Mike Cohn&lt;/a&gt; es un reconocido experto en el mundo Agile y Scrum. Pueden visitar &lt;a href="http://blog.mountaingoatsoftware.com/" target="_blank"&gt;su blog&lt;/a&gt; donde publica posts sobre temas que nos podemos encontrar en un proyecto Scrum.&lt;/p&gt;  &lt;p&gt;En estos dos videos, él explica claramente que significa estimación en un proyecto ágil (involucrando al equipo en la estimación, haciendo iteraciones, planning poker, todas las prácticas de Scrum …):&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Alta resolución: &lt;a href="http://www.youtube.com/watch?v=fb9Rzyi8b90" target="_blank"&gt;http://www.youtube.com/watch?v=jeT0pOVg0EI&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Alta resolución: &lt;a href="http://www.youtube.com/watch?v=jeT0pOVg0EI" target="_blank"&gt;http://www.youtube.com/watch?v=jeT0pOVg0EI&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Los videos fueron tomados el 20 de Marzo del 2007, en la Bay XP Meeting.&lt;/p&gt;  &lt;p&gt;Espero ir comentando en español los principales puntos que expone Mike Cohn, en futuros posts de esta serie.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1750497" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Curso de Scrum de Tobias Mayer en Buenos Aires</title><link>http://msmvps.com/blogs/lopez/archive/2009/12/14/curso-de-scrum-de-tobias-mayer-en-buenos-aires.aspx</link><pubDate>Mon, 14 Dec 2009 17:49:46 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1745566</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1745566</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/12/14/curso-de-scrum-de-tobias-mayer-en-buenos-aires.aspx#comments</comments><description>&lt;p&gt;El bueno de &lt;a href="http://softwareagil.blogspot.com/" target="_blank"&gt;Juan Gabardini&lt;/a&gt; anuncia en la lista Foro Agiles, un nuevo curso de Scrum de &lt;a href="http://agilethinking.net/aboutme.html" target="_blank"&gt;Tobias Mayer&lt;/a&gt; en Argentina. Copio el mensaje original:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://agilethinking.net/aboutme.html"&gt;Tobias Mayer&lt;/a&gt; facilitará un taller de un día en Buenos Aires, Argentina. Está orientado a Scrum Masters y agile coaches.      &lt;br /&gt;Para los que no lo conocen, Tobias dió el primer curso de CSM en Argentina, allá por el 2006. Luego de eso ha venido varias veces (no se cuantos, pero dió al menos 5 CSM en Bs As). ….&lt;/p&gt;    &lt;p&gt;Se explorarán los principios y valores de Scrum. Este taller no se focaliza en las prácticas (se asume que los participantes tienen familiaridad con ellas) y explora Scrum en un nivel más profundo y humano. A través de una serie de juegos, ejercicios interactivos y conversaciones facilitadas, se adquirirá una comprensión más profunda del nuevo esquema de pensamiento requerido para hacer Scrum. Esto no es sobre metodologías o procesos, es sobre divertirse&lt;/p&gt;    &lt;p&gt;Cuándo: 28 de enero 2010&lt;/p&gt;    &lt;p&gt;Dónde: Perú 375, 1&lt;sup&gt;er&lt;/sup&gt; piso (&lt;a href="http://www.southworks.net/"&gt;Southworks&lt;/a&gt;)&lt;/p&gt;    &lt;p&gt;Costo: usd 220 + IVA&lt;/p&gt;    &lt;p&gt;Registración: &lt;a href="http://tinyurl.com/tobiasBsAsWorkshop"&gt;http://tinyurl.com/tobiasBsAsWorkshop&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Este evento es organizado por &lt;a href="http://www.agiles.org/"&gt;Agiles Argentina&lt;/a&gt; y &lt;a href="http://www.agilar.com.ar/site/"&gt;Agilar Argentina&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;Este evento será dado en inglés. Aunque por el tipo de evento no es imprescindible el hablar y entender perfectamente, ya que el resto de los que asistimos podremos dar una mano. Va el detalle en inglés.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Process/Mechanics&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;Scrum is quickly being seen as the de facto way of starting out down an Agile pathway. People see it as a quick and easy way in. The problem is that Scrum is very easily misunderstood. There are a multitude of Scrum Facades in place around the world, companies who claim to be doing Scrum because they have people with the titles of “Scrum Master” and “Product Owner”, have daily meetings, maybe even planning meetings, reviews and retrospectives, keep a backlog of work and show some sort of burn down graph each sprint.&lt;/p&gt;    &lt;p&gt;Underneath the facade though, the same old command and control beast lurks, the same old fear and CYA behavior. Nothing has essentially changed. So what is missing? I believe the spirit of Scrum is missing, the essence of change.&lt;/p&gt;    &lt;p&gt;Scrum is not just a framework and a set of roles, meetings and artifacts. Scrum is a way of being that is utterly different from any previous way of working that we have encountered in the software industry. To do Scrum — to really do Scrum — requires an absolute shift in the way we think and act. &lt;/p&gt;    &lt;p&gt;Scrum relies on some core principles:     &lt;br /&gt;— Empiricism      &lt;br /&gt;— Self-Organization      &lt;br /&gt;— Collaboration      &lt;br /&gt;— Prioritization      &lt;br /&gt;— Rhythm &lt;/p&gt;    &lt;p&gt;and some essential values:     &lt;br /&gt;— Courage      &lt;br /&gt;— Trustfulness      &lt;br /&gt;— Transparency &lt;/p&gt;    &lt;p&gt;This session will allow Scrum practitioners to reach the next level of Scrum by exploring some of these underlying foundations in a highly experiential way. The session will consist of a series of interactive exercises and facilitated discussion designed to help participants not just understand, but embody these principles and values at a deep level. &lt;/p&gt;    &lt;p&gt;I create and/or adapt new games frequently, the majority require no props, and usually require the participants to be on their feet. Most have simple formats and can be easily remembered. None of them have pre-determined outcomes: they are all about self-discovery. For more detailed information on the kinds of games and interactive exercises I’ll use for this session please follow one or more of these links to descriptions of sessions I have run previously.&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;p&gt;&lt;a href="http://agilethinking.net/agile2005/AgileThinkingWorkshop.html"&gt;Agile Thinking&lt;/a&gt; — Agile2005 session &lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;&lt;a href="http://agilethinking.net/greatgameofpower.html"&gt;Great Game of Power&lt;/a&gt; — Scrum Exchange 2006 session &lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;&lt;a href="http://agilethinking.net/blog/2008/08/18/scale-back-small-is-beautiful"&gt;Scale Back: Small is Beautiful&lt;/a&gt; — Agile2008 session &lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;&lt;a href="http://submissions.agile2008.org/files/Operating%20on%20the%20Creative%20Edge.pdf"&gt;Operating on the Creative Edge&lt;/a&gt; — Agile2008 session &lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;This session is intended as a taster and it is hoped participants will be encouraged to explore more deeply the human interaction foundations of Scrum once they leave the conference.&lt;/p&gt;    &lt;p&gt;Learning outcomes&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;p&gt;&lt;a href="http://agilethinking.net/aboutme.html"&gt;Tobias Mayer&lt;/a&gt; has built a reputation in the Scrum world of offering highly challenging training sessions, pushing people to the edge of their comfort zone and ultimately breaking through to a new way of behaving. This session has that same outcome in mind.&lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Ya comenté sobre el bueno de Tobias en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/11/16/tales-from-the-scrum-la-esencia-de-scrum.aspx" target="_blank"&gt;Tales from the Scrum: La esencia de Scrum&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/10/13/tales-from-the-scrum-un-d-237-a-en-el-equipo.aspx" target="_blank"&gt;Tales from the Scrum: Un día en el equipo&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/18/tales-from-the-scrum-el-coraz-243-n-de-scrum.aspx" target="_blank"&gt;Tales from the Scrum: El corazón de Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1745566" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Los Rolling Stones y cómo va su proyecto</title><link>http://msmvps.com/blogs/lopez/archive/2009/12/07/tales-from-the-scrum-los-rolling-stones-y-c-243-mo-va-su-proyecto.aspx</link><pubDate>Mon, 07 Dec 2009 09:22:09 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1744060</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1744060</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/12/07/tales-from-the-scrum-los-rolling-stones-y-c-243-mo-va-su-proyecto.aspx#comments</comments><description>&lt;p&gt;Bueno, en realidad, no los Rolling Stones. Solamente Keith Richards, y no el de los Rolling, sino &lt;a href="http://uk.linkedin.com/pub/keith-richards-dsdm-specialist/6/99/65b" target="_blank"&gt;Keith Richards&lt;/a&gt; presidente de&amp;#160; &lt;a href="http://www.keithrichardsconsulting.co.uk/site/home/" target="_blank"&gt;Keith Richards Consulting&lt;/a&gt;. Encuentro en un post de &lt;a href="http://gojko.net/" target="_blank"&gt;Gojko Adzic&lt;/a&gt; un post que comenta una charla de KRC:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gojko.net/2009/12/04/eight-interesting-techniques-to-test-how-a-project-is-going/" target="_blank"&gt;Eight interesting techniques to test how a project is going&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Es un muy interesante post, déjenme escribir esas técnicas, para saber si el proyecto y el equipo están en buena forma, sea que estén siguiendo Scrum o no. Esta es mi propia traducción de ese texto:&lt;/p&gt;  &lt;p&gt;- 1. ¿Puede cualquier miembro del equipo escribir el objetivo del proyecto en una nota post-it con marcador grueso? Si no pueden, el final del juego no está claramente definido ni entendido por todos&lt;/p&gt;  &lt;p&gt;- 2. Acérquese a un colega en su trabajo, y pídale ayuda para algo cualquiera. Vea cómo reacciona. Si encuentra una respuesta fría, la persona no está muy contento con su trabajo. Richards aconseja armar equipos con “aquellos que respondan ‘puedo’”. Esa gente mejorará la comunicación y el espíritu de equipo en su proyecto.&lt;/p&gt;  &lt;p&gt;- 3. Cuando una fase del proyecto está oficialmente “hecha” (done), pregúntese a sí mismo: “¿Es seguro seguir adelante?”. Si esta pregunta le provoca una mala sensación en las tripas, es que no están listos todavía para avanzar a la siguiente etapa.&lt;/p&gt;  &lt;p&gt;- 4. ¿Cuántos de sus proyectos terminan con una seria revisión del proyecto? Esto es, según Richards, crucial para la mejora de su organización. Permite prevenir errores repetidos y compartir conocimiento entre los equipos (yo agrego que, si trabaja en una organización con varios proyectos y equipos, tendría que haber comunicación entre equipos DURANTE los proyectos, comentando bloqueos, avances, hallazgos, problemas y soluciones; unas buenas reuniones periódicas con presentaciones timeboxed pueden ser un camino a seguir).&lt;/p&gt;  &lt;p&gt;- 5. ¿Cómo reacciona la gente de su equipo cuando el cliente dice “cambié de idea”? Si reaccionan negativamente, el sistema que están construyendo no es tan flexible como debiera.&lt;/p&gt;  &lt;p&gt;- 6. Pregúntele a alguien que le comente el estado actual de una tarea, y luego cállese 10 segundos; no hagan nada para provocar una respuesta. Si la persona se muestra insegura o nerviosa sobre algo, seguramente comenzará a comentarlo. Si se mantiene en silencio, las cosas van bien (este punto lo discutiría: debería haber comunicación y visibilidad sin necesidad de llegar a este tipo de “trick”).&lt;/p&gt;  &lt;p&gt;- 7. ¿Conoce cuánto tiempo se empleó en la última iteración en pruebas? Si no puede estimarlo, no está tomando buenas métricas del proyecto. Tomar métricas de este tipo, dice Richards, es crucial para hacer estimaciones realistas (nota mía: ojalá tuviera un peso por cada vez que alguien en un equipo estimó una tarea SIN tener en cuenta pruebas, verificación, etc.; pongan atención a esto).&lt;/p&gt;  &lt;p&gt;- 8. Tome un documento de su proyecto, usado durante una presentación. Si atrás hay diagramas dibujados a mano, señal que el documento no está claro, y necesitó de esa ayuda para ser explicado.&lt;/p&gt;  &lt;p&gt;Me quedo principalmente con los puntos 1, 2, 3, 5 en primer lugar. Luego 7, 4.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1744060" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>ALT.NET Hispano VAN: Get Things Done con Jeroen Sangers</title><link>http://msmvps.com/blogs/lopez/archive/2009/12/04/alt-net-hispano-van-get-things-done-con-jeroen-sangers.aspx</link><pubDate>Fri, 04 Dec 2009 10:13:20 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1743612</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1743612</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/12/04/alt-net-hispano-van-get-things-done-con-jeroen-sangers.aspx#comments</comments><description>&lt;p&gt;Este sábado 5 de Diciembre, 18 GMT/UTC (3 de la tarde por aquí en Buenos Aires), habrá otra des-conferencia virtual de la &lt;a href="http://altnet-hispano.pbworks.com/" target="_blank"&gt;comunidad ALT.NET Hispano&lt;/a&gt;. El tema será productividad, más específicamente &lt;a href="http://es.wikipedia.org/wiki/Getting_Things_Done" target="_blank"&gt;Get Things Done (GTD)&lt;/a&gt; (ver también &lt;a href="http://es.wikipedia.org/wiki/Consigue_hacer_el_trabajo" target="_blank"&gt;Consigue hacer el trabajo&lt;/a&gt;). La presentación inicial estará a cargo de Jeroen Sangers:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://jeroensangers.com/" href="http://jeroensangers.com/"&gt;http://jeroensangers.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/JeroenSangers" target="_blank"&gt;@jeroensangers&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Este es el temario de Jeroen:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Mi presentación va más que nada sobre Getting Things Done y consiste     &lt;br /&gt;de tres partes:      &lt;br /&gt;1. Control: un flujo de trabajo para controlar tus acciones      &lt;br /&gt;2. Perspectiva: dar dirección a todo lo que haces      &lt;br /&gt;3. Consejos prácticas para implementar un sistema de productividad&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;GTD se populariza con un libro de &lt;a href="http://www.davidco.com/" target="_blank"&gt;David Allen&lt;/a&gt;. Pueden leer la descripción de GTD en el sitio de Allen:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.davidco.com/what_is_gtd.php" target="_blank"&gt;What is GTD?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ahí leo:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Sophisticated without being confining, the subtle effectiveness of GTD lies in its radically common sense notion that with a complete and current inventory of all your commitments, organized and reviewed in a systematic way, you can focus clearly, view your world from optimal angles and make trusted choices about what to do (and not do) at any moment. GTD embodies an easy, step-by-step and highly efficient method for achieving this relaxed, productive state. It includes:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Capturing anything and everything that has your attention&lt;/li&gt;      &lt;li&gt;Defining actionable things discretely into outcomes and concrete next steps &lt;/li&gt;      &lt;li&gt;Organizing reminders and information in the most streamlined way, in appropriate categories, based on how and when you need to access them &lt;/li&gt;      &lt;li&gt;Keeping current and &amp;quot;on your game&amp;quot; with appropriately frequent reviews of the six horizons of your commitments (purpose, vision, goals, areas of focus, projects, and actions) &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Pueden encontrar una buena descripción (con diagrama incluido, como el que aparece en el libro original) de GTD y una relación con los “cuadrantes de Covey” (me gusta recordar al creador de ese concepto, que es &lt;a href="http://blog.lodewijkvdb.com/2007/08/sketchcast-2-using-the-eisenhower-matrix.html" target="_blank"&gt;la matriz de Eisenhower&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Mis enlaces sobre GTD, y productividad:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://delicious.com/ajlopez/gtd"&gt;http://delicious.com/ajlopez/gtd&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://delicious.com/ajlopez/productivity"&gt;http://delicious.com/ajlopez/productivity&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Bueno, ya envíe varios posts sobre las VAN de ALT.NET Hispano, pero les recuerdo:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Si no conocen qué es una reunión VAN, pueden consultar &lt;a href="http://www.zachariahyoung.com/zy/post/2009/01/Introduction-to-Virtual-ALTNET.aspx"&gt;VAN meetings&lt;/a&gt;. Para ver cómo se desarrolla una VAN de ALT.NET Hispano, y qué software necesitan para asistir, ver &lt;a href="http://altnet-hispano.pbworks.com/Descripcion-de-Reuniones-VAN"&gt;Descripcion-de-Reuniones-VAN&lt;/a&gt;. Pueden ver &lt;a href="http://altnet-hispano.pbworks.com/Historial-de-reuniones"&gt;el historial de anteriores reuniones VAN&lt;/a&gt; (visiten las que dieron, por ejemplo, sobre NHibernate, WPF y demás) (yo participé en &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/09/18/resultado-de-la-van-en-alt-net-hispano-sobre-scrum.aspx"&gt;VAN sobre Scrum&lt;/a&gt; y en otra &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/10/27/resultado-de-la-van-alt-net-hispano-sobre-generaci-243-n-de-c-243-digo.aspx"&gt;sobre generación de código&lt;/a&gt;). También pueden suscribirse para proponer nuevos temas, y colaborar con la comunidad. Si no pueden asistir a ésta VAN, seguramente quedará publicada más adelante, con video incluido.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1743612" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/ALT.NET/default.aspx">ALT.NET</category></item><item><title>Recursos de Scrum, del curso de Buenos Aires</title><link>http://msmvps.com/blogs/lopez/archive/2009/12/03/recursos-de-scrum-del-curso-de-buenos-aires.aspx</link><pubDate>Thu, 03 Dec 2009 11:50:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1743459</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1743459</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/12/03/recursos-de-scrum-del-curso-de-buenos-aires.aspx#comments</comments><description>&lt;p&gt;Gracias a la gente del Microsoft User Group de Argentina, ayer miércoles 2 de diciembre estuve dando una jornada de Scrum teoría y práctica, de todo un día. Con unos treinta asistentes, estuvimos viendo temas como el manifiesto ágil, y las ideas que sustentan Scrum en particular. Así como también los roles, artefactos, reuniones, que se manejan en este marco de trabajo. Discutimos tópicos como contratos ágiles, relación con el cliente, la importancia del product owner, la auto-organización del equipo, el “ownership” que tienen que ganar, la idea de trabajar a un ritmo razonable, el “entrar en flujo”, Product backlog vs Sprint Backlog, y el clásico Chanchos y Gallinas.&lt;/p&gt;  &lt;p&gt;Para mí, fue una grata experiencia: es uno de los cursos donde veo que más puedo aportar, y donde podemos practicar algo que considero muy importante conocer como es Scrum. Veo que la necesidad de tener equipos ágiles es creciente, no sólo en el desarrollo de software, sino en actividades en general. La labor en equipo permite llegar a objetivos que son más difícil de lograr individualmente o en simple grupo (vean que distingo entre equipo y grupo). Hay que estudiar más en detalle cuáles son los factores que hacen que Scrum funcione (me basé mucho en la idea de No somos vulcanos): hay un bias hacia mostrar los casos de éxito en la comunidad ágil, y no comentar los fracasos. Hay que pasar de la evidencia anecdótica a un fundamento más firme, no porque el marco de trabajo en sí lo necesite, sino para poder aplicarlo mejor, entender mejor en qué circunstancias funciona, y en cuáles se complica. &lt;/p&gt;  &lt;p&gt;La parte teórica ocupó la mañana, pero ya después los asistentes se separaron en cuatro grupos, y comenzaron a trabajar en desarrollar un entregable, en dos sprints de 3 días de 10 minutos cada día. Fue una experiencia interesante: fuimos viendo cómo mejorar las reuniones, la precisión del backlog, los acuerdos con el product owner para los entregables de Sprint Review, el reparto de trabajo, la mejor partición de las tareas en el Product Backlog, y más. &lt;/p&gt;  &lt;p&gt;Prometí publicar un post con los recursos que mencioné en el curso. Acá van los enlaces y bibliografía, que son similares a los que ya publiqué hace unos días para otros cursos dictados, pero para más comodidad, los concentro de nuevo en este post:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://altnet-hispano.pbworks.com/vanhispano-2009-09-06" target="_blank"&gt;Reunión virtual de Scrum&lt;/a&gt;, con video (gran parte de la teoría vista en el curso está en este video) (ahí están los enlaces que presento acá).&lt;/p&gt;  &lt;p&gt;Presentación usada en el curso &lt;a href="http://cid-9f903f3d6db0c176.skydrive.live.com/self.aspx/Presentations/ScrumSpanish.pptx" target="_blank"&gt;ScrumSpanish.pptx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://danube.com/system/files/What+Is+Scrum_blog.pdf"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pueden usar esta presentación compartida (en varios idiomas):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mountaingoatsoftware.com/scrum-a-presentation"&gt;A Reusable Scrum Presentation. Introduce Scrum to your team, ScrumMaster and Product Owner.&lt;/a&gt;&lt;/p&gt;  &lt;li&gt;Para leer en inglés y en español &lt;a href="http://scrumtraininginstitute.com/home/stream_download/scrumprimer"&gt;Scrum Primer&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://agilethinking.net/"&gt;http://agilethinking.net/&lt;/a&gt; El sitio de Tobias Meyer, que me inició en el ScrumMastering en el 2006.&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.implementingscrum.com/"&gt;http://www.implementingscrum.com/&lt;/a&gt; Sitio donde encontraran la clásica historia: &lt;a href="http://www.implementingscrum.com/blog/2006/09/11/the-classic-story-of-the-pig-and-chicken"&gt;The classic story of the pig and chicken&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;El &lt;a href="http://agilemanifesto.org/"&gt;Manifiesto Agil&lt;/a&gt; mencionado en la charla &lt;/li&gt;  &lt;li&gt;Artículo corto en inglés (pdf) &lt;a href="http://danube.com/system/files/What+Is+Scrum_blog.pdf"&gt;What is Scrum?&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Reviews of Agile Product Backlog and User Story Management Tools: &lt;a href="http://www.userstories.com/"&gt;http://www.userstories.com/&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Presentación en español sobre Contratos Ágiles    &lt;ul&gt;     &lt;li&gt;Slides: &lt;a href="http://www.slideshare.net/proyectalis/090603-contratos-giles"&gt;http://www.slideshare.net/proyectalis/090603-contratos-giles&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;Video Parte 1: &lt;a href="http://www.viddler.com/explore/jmbeas/videos/3"&gt;http://www.viddler.com/explore/jmbeas/videos/3/&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;Video Parte 2: &lt;a href="http://www.viddler.com/explore/jmbeas/videos/4"&gt;http://www.viddler.com/explore/jmbeas/videos/4/&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="http://groups.yahoo.com/group/foro-agiles"&gt;Foro Agiles&lt;/a&gt; (Grupo Yahoo en español) &lt;/li&gt;  &lt;li&gt;Blog de Juan Gabardini &lt;a href="http://softwareagil.blogspot.com/"&gt;Software Agil&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Enlaces y recursos adicionales en &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/22/scrum-pr-225-ctico-en-santa-f-233.aspx"&gt;Scrum Práctico&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.agile42.com/cms/pages/cheatsheet/"&gt;Scrum Cheat Sheet&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://es.wikipedia.org/wiki/Archivo:Ficha_scrum.png"&gt;Scrum: Ficha Sinóptica&lt;/a&gt;&lt;/li&gt;  &lt;p&gt;Un libro que para preparar las primeras versiones del curso&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=6916&amp;amp;locale=en-us"&gt;Agile Project Management with Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;de Ken Schwaber ISBN:073561993x Microsoft Press © 2004 &lt;/p&gt;  &lt;p&gt;En ese libro, están enumerados estos recursos:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;Agile Software Development with Scrum&lt;/i&gt;, Ken Schwaber and Mike Beedle (Prentice Hall, 2001) &lt;/p&gt;    &lt;p&gt;Teoría y práctica de Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.controlchaos.com/"&gt;www.controlchaos.com/&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de Ken Schwaber sobre Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.jeffsutherland.com/"&gt;http://www.jeffsutherland.com/&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;Jeff Sutherland tiene contenido relacionado con desarrollo de software, programación, tecnología, objetos, componentes y Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.mountaingoatsoftware.com/scrum/"&gt;www.mountaingoatsoftware.com/scrum/&lt;/a&gt; &lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de Mike Cohn sobre Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.scrumalliance.org"&gt;www.scrumalliance.org&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El hogar de los ScrumMaster certificados. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.agilealliance.org"&gt;www.agilealliance.org&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de la AgileAlliance, con recursos sobre Agile y Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://groups.yahoo.com/group/scrumdevelopment/"&gt;http://groups.yahoo.com/group/scrumdevelopment/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;El grupo de discusión de Scrum, con años de existencia. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.xprogramming.com"&gt;www.xprogramming.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de Ron Jeffries acerca de Extreme Programming (XP). XP provee varias de las prácticas que Scrum implementa para asegurar el incremento de funcionalidad potencialmente entregable. &lt;/p&gt; &lt;/blockquote&gt;  &lt;h6&gt;Otras lecturas recomendadas&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;Agile and Iterative Development: A Manager’s Guide by Craig Larman &lt;/li&gt;    &lt;li&gt;Agile Estimating and Planning by Mike Cohn &lt;/li&gt;    &lt;li&gt;Agile Retrospectives by Esther Derby and Diana Larsen &lt;/li&gt;    &lt;li&gt;Agile Software Development Ecosystems by Jim Highsmith &lt;/li&gt;    &lt;li&gt;Scrum and The Enterprise by Ken Schwaber &lt;/li&gt;    &lt;li&gt;User Stories Applied for Agile Software Development by Mike Cohn &lt;/li&gt;    &lt;li&gt;Artículos semanales en &lt;a href="http://www.scrumalliance.org"&gt;www.scrumalliance.org&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx" target="_blank"&gt;Mis posts sobre Scrum&lt;/a&gt; (estoy ahí escribiendo una serie “Tales from the Scrum” donde trato más en detalle algunos puntos que tratamos en el curso).&lt;/p&gt;  &lt;p&gt;Los enlaces que me interesaron los colecciono en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://delicious.com/ajlopez/scrum"&gt;http://delicious.com/ajlopez/scrum&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://delicious.com/ajlopez/agile"&gt;http://delicious.com/ajlopez/agile&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1743459" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Curso de Scrum práctico en Buenos Aires</title><link>http://msmvps.com/blogs/lopez/archive/2009/11/17/curso-de-scrum-pr-225-ctico-en-buenos-aires.aspx</link><pubDate>Tue, 17 Nov 2009 13:39:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740238</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1740238</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/11/17/curso-de-scrum-pr-225-ctico-en-buenos-aires.aspx#comments</comments><description>&lt;p&gt;En general no anuncio los cursos que estoy por dar (la difusión queda a cargo de cada institución), pero este es un curso que quiero destacar, porque trata de un tema que pienso que todo grupo de desarrolladores por lo menos tendría que conocer y practicar en algún momento. Es un curso que hace unos meses que no estoy dando por Buenos Aires, y siempre he tenido buenas experiencias dándolo.&lt;/p&gt;  &lt;p&gt;Gracias a la gente del Microsoft User Group de Argentina, daré un curso de Scrum con una explicación inicial, y luego todo práctica, el miércoles 2 de diciembre de 2009. Pueden ver más datos, costos, y forma de inscribirse en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mug.org.ar/Eventos/3400.aspx" target="_blank"&gt;Jornada de Scrum, teoría y práctica&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;El contenido (lo copio de ahí):&lt;/p&gt;  &lt;p&gt;&lt;em&gt;- El Equipo de trabajo. Los Roles: ScrumMaster. Product Owner. Daily Scrum. Chickens y Pigs. ScrumMaster vs Project Manager.      &lt;br /&gt;- Objetivos: Control empírico del proceso de desarrollo. Dar visibilidad de lo que se está haciendo. Generar una relación de confianza y comunicación constante entre el cliente y el equipo.       &lt;br /&gt;- Los Conceptos: Iteraciones. Autoorganización. Descripción del método.      &lt;br /&gt;- La Documentación: Qué es, cómo se arman y cómo se utilizan el Product Backlog, el Sprint Backlog y Burndown Chart.       &lt;br /&gt;- La Práctica: Se formarán equipos de trabajo, que resolverán un caso práctico. Se asignarán los roles y se discutirá cada caso en particular, buscando arribar a la solución al final de la jornada.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Lo importante es el trabajo práctico. Iremos descubriendo juntos algunas características, prácticas, y el por qué de cada cosa, en el marco de trabajo Scrum.&lt;/p&gt;  &lt;p&gt;Para los que no puedan asistir, recuerden que siempre escribo por acá sobre el tema en &lt;a href="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx" target="_blank"&gt;posts sobre Scrum&lt;/a&gt;. Ahí encontraran un varios posts, con enlaces, referencias, presentaciones, sobre el tema Scrum y ágil en general. Los posts primeros a revisar, con material relacionado, incluso un video de una charla y discusión sobre el tema, en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/09/18/resultado-de-la-van-en-alt-net-hispano-sobre-scrum.aspx" target="_blank"&gt;Resultado de la VAN en ALT.NET Hispano sobre Scrum&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/09/04/scrum-pr-225-ctico.aspx" target="_blank"&gt;Scrum Práctico&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/22/scrum-pr-225-ctico-en-santa-f-233.aspx" target="_blank"&gt;Scrum Práctico en Santa Fe&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/07/03/explicando-scrum.aspx" target="_blank"&gt;Explicando Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740238" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: La esencia de Scrum</title><link>http://msmvps.com/blogs/lopez/archive/2009/11/16/tales-from-the-scrum-la-esencia-de-scrum.aspx</link><pubDate>Mon, 16 Nov 2009 09:14:45 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739964</guid><dc:creator>lopez</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1739964</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/11/16/tales-from-the-scrum-la-esencia-de-scrum.aspx#comments</comments><description>&lt;p&gt;En esta serie de post, aún falta que escriba describiendo de principio a fin lo que es Scrum. Para llegar a ese punto, primero quiero compartir con Uds. esta traducción de un post de &lt;a href="http://agilethinking.net/aboutme.html" target="_blank"&gt;Tobias Mayer&lt;/a&gt;, quien fue mi instructor de Scrum Mastering en 2006. El post original, en inglés, lo encuentran en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://agilethinking.net/essence-of-scrum.html" target="_blank"&gt;Essence of Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Acá va mi traducción:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Scrum comenzó su vida como uno de las nuevas formas Agiles para construir software. En estos días, se lo considera una forma que puede ser usada para mejorar el mundo del trabajo, en un sentido más general, y así, cambiar la forma en que los individuos piensan e interactúan con otros en situaciones de trabajo. El potencial completo de Scrum está por explorar.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;En resumen, Scrum es una manera simple de manejar problemas complejos, proveyendo un marco de trabajo para soportar la innovación y permitir que equipos auto-organizados entreguen resultados de alta calidad en tiempos cortos. Scrum es un estado de la mente; en una manera de pensar que libera el espíritu creativo mientras se mantiene firmemente apoyado en principio sólidos y largamente respetados, incluyendo el empirismo, la emergencia y la auto-organización.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Empirismo&lt;/strong&gt; se refiere al proceso continuo de inspeccionar/adaptar que permite que tanto trabajadores como gerentes tomen decisiones en tiempo real, basado en datos actuales, y como resultado, puedan responder rápidamente a&amp;#160; condiciones siempre cambiantes que se presentan en el ambiente, como por ejemplo, el mercado donde el software a construir es vendido o distribuido.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;La &lt;strong&gt;Emergencia&lt;/strong&gt; surge de una aproximación empírica. Implica que todas las soluciones a todos los problemas se volverán claros a medida que trabajamos. No se volverán claros si simplemente hablamos de ellos. El “Big Up Front Design” (gran diseño de antemano) sólo producirá un “Big Wrong Design” (gran diseño erróneo) o a lo sumo un “Big Working But Totally Inflexible Design” (gran diseño que funciona pero totalmente inflexible). Cuando permitimos que las soluciones emerjan es siempre la solución más simple y apropiada, para el contexto actual, la que sube a la superficie. La emergencia junto con el empirismos nos guiaran a la solución más apropiada y flexible (es decir, que podemos cambiar).&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Auto-organización&lt;/strong&gt; se refiere a la estructura de los equipos que crean el producto. Se les da poder a pequeños equipos multidisciplinarios para que puedan tomar decisiones importantes, necesarias para 1) crear un producto de alta calidad, y 2) manejar su propio proceso. Acá la idea es que aquellos que hacen el trabajo conocen mejor que nadie cómo hacer el trabajo. Estos equipos trabajan de una manera altamente interactiva y generativa, donde el producto emerge del diálogo continuo, de la exploración e iteración. La auto-organización funciona cuando hay objetivos y límites claros.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Además de estos principios, Scrum se apoya en dos mecanismos principales: priorización y “timeboxing” (poner límites de tiempo a una tarea).&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Priorización&lt;/strong&gt; simplemente significa que hay cosas que son más importantes que otras. Esto es tan obvio que se olvida muchas veces cuando pensamos “necesitamos esto AHORA”. Scrum nos ayuda a poner el foco de vuelta en seleccionar cuáles son las cosas más importantes a hacer primero, y entonces, a hacerlas! Tomándose el tiempo para priorizar, y siendo rigurosos sobre eso, es esencial para el éxito de Scrum.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Timeboxing es un mecanismo simple para manejar la complejidad. No podemos imaginar el slistema completo de una vez, todo junto, entonces, tomamos un pequeño problema y en un corto espacio de tiempo, digamos una semana o un mes, trabajamos en solucionar ese problema. Los resultados de esa acción nos guiaran entonces a una solución para el próximo problema, más grande, y nos dará más conocimiento sobre las necesidades del sistema en conjunto.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Cambio organizacional&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Con Scrum, las jerarquías de gerencia de las organizaciones tienden a ser niveladas y los equipos de desarrollo tienen más contacto directo e inmediato con los clientes. El ambiente de trabajo se vuelve menos “comandar-y-controlar” hacia un estilo más colaborativo. Se promueve el diálogo regular y abierto sobre la documentación extensiva, y el acuerdo negociado es preferido a los contratos de trabajo formales e impersonales.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Las cualidades de apertura, honestidad y coraje son fomentadas en todos los niveles, y la ganancia individual se vuelve secundaria ante el avance colectivo. Un ambiente Scrum es uno que soporta a la gente, donde las personas de todos los niveles muestran respeto y confianza entre ellos. Las decisiones se toman por consenso, más que por imposición de alguien de más arriba, y todo el conocimiento es compartido, de una manera transparente y sin recelos.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Scrum va en contra de lo que hacen muchas compañías de la industria del software, donde una forma en fases acoplada con un alto grado de micro-gerenciamiento, y una insistencia en procesos definidos y documentación extensiva, se han hecho la norma por treinta años. Muchas compañías se basan en el miedo y el dinero como motivaciones claves para sus trabajadores. Esta forma de trabajo ha mostrado éxitos a corto plazo, pero más y más compañías están comenzando a entender que no es una buena estrategia para el largo palzo. Sin embargo, el concepto de cambiar a algo tan radical como Scrum aterroriza a muchos corazones de ejecutivos y gerentes de nivel medio.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Scrum está aún en la etapa de los “early-adopter” (los que abrazan tempranamente las nuevas ideas). Tomará muchos años para que la mayoría de las compañías reconozcan los beneficios de crear más lugares de trabajo, llenos de confianza. Sin ese cambio, muchas compañías de software se irán hundiendo bajo el peso de sus procesos pesados, y fuerzas de trabajo sobrecargadas. Otros, aquellos que abracen el método liviano, ágil, de Scrum, tendrán la gran oportunidad de sobrevivir y prosperar. Para aquellos que pasen a Scrum, y lo abracen completamente, la vuelta atrás a a los viejos días de trabajo será impensable. Un cambio de paradigma está ocurriendo en el lugar de trabajo, y Scrum es una parte importante de ese cambio.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Nota: el término Scrum proviene de un “paper” titulado &lt;/em&gt;&lt;a href="http://harvardbusinessonline.hbsp.harvard.edu/b02/en/common/item_detail.jhtml?id=86116" target="_blank"&gt;&lt;em&gt;The New New Product Development game&lt;/em&gt;&lt;/a&gt;&lt;em&gt; de Hirotaka Takeuchi y Ikujiro Nonaka. En rugby, un scrum es una forma de recomenzar el juego, luego de una infracción accidental o después que la pelota salió de juego. La práctica de Scrum en el mundo del software incluye reuniones regulares diarias y cortas donde los miembros del equipo se juntan para comunicar su progreso. Debido a la similitud entre la pausa del juego (trabajo), y habiendo los jugadores (miembros del equipo) armado la reunión, ésta se conoce comúnmente como el Daily Scrum. Jeff Sutherland, John Scumniotales y Jeff McKenna son los responsables de haber introducido el término Scrum en el mundo del desarrollo del software en 1993, mientras trabajaban en la Easel Corporation, una compañía de herrmientas de software de Massachusetts. Ken Schwaber escribió el “paper” original sobre Scrum, &lt;/em&gt;&lt;a href="http://jeffsutherland.com/oopsla/schwapub.pdf" target="_blank"&gt;&lt;em&gt;SCRUM Development Process&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, que fue presentado en la conferencia OOPSLA en 1995.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Otras referencias:      &lt;br /&gt;&lt;/em&gt;&lt;a href="http://agilethinking.net/blog/2008/09/26/scrum-its-place-in-the-world/" target="_blank"&gt;&lt;em&gt;Scrum: its place in the world&lt;/em&gt;&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://mountaingoatsoftware.com/scrum" target="_blank"&gt;&lt;em&gt;Scrum for Software Development&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Gracias a Tobias por tan buena descripción de Scrum.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739964" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: No esperemos a Superman</title><link>http://msmvps.com/blogs/lopez/archive/2009/10/24/tales-from-the-scrum-no-esperemos-a-superman.aspx</link><pubDate>Sat, 24 Oct 2009 14:18:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1734776</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1734776</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/10/24/tales-from-the-scrum-no-esperemos-a-superman.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.todocontenidos.com/images/articles/superman01.png" align="left" alt="" /&gt; En estos días, buscando ejemplos de antipatrones de Scrum, me encuentro con el “&lt;a href="http://scrumisscrum.wordpress.com/2009/04/02/hero-driven-development/" target="_blank"&gt;Hero-Driven Development&lt;/a&gt;” (visiten todo el blog &lt;a href="http://scrumisscrum.wordpress.com/" target="_blank"&gt;Scrum is Scrum&lt;/a&gt;). Hace poco comentaba sobre las “prima donnas” en desarrollo en &lt;a title="Tales from the Scrum- No somos Q" href="http://msmvps.com/blogs/lopez/archive/2009/10/22/tales-from-the-scrum-no-somos-q.aspx"&gt;Tales from the Scrum- No somos Q&lt;/a&gt;. El caso que quiero comentar ahora, es distinto. El desarrollador super héroe de nuestra historia, puede ser un tipo apreciado, querido por el equipo, reconocido en su campo. Es uno de esos desarrolladores que puede programar mucho más que los demás. Steve Mc Connell los llama &lt;a title="10X Developers" href="http://go2.wordpress.com/?id=725X1342&amp;amp;site=scrumisscrum.wordpress.com&amp;amp;url=http%3A%2F%2Fforums.construx.com%2Fblogs%2Fstevemcc%2Farchive%2F2008%2F03%2F27%2Fproductivity-variations-among-software-developers-and-teams-the-origin-of-quot-10x-quot.aspx"&gt;10X Developers&lt;/a&gt;. Pero puede causar problemas. Veamos (basado en el blog que mencioné):&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problema&lt;/strong&gt;: En el medio del desarrollo, surge un problema. Puede ser una configuración de Windows Communication Foundation, un tema de mapeo de Hibernate, una instalación en JBoss. No importa. El problema es complejo, y bastante técnico. De pronto, se abre la ventana, y entra nuestro “programador héroe”, reluciente en su traje. Se sienta, mira el código, entiende el problema, y lo va solucionando. El equipo, arrobado, se queda atrás, mirando, cómo nuestro Superman del código, va resolviendo el más intricado nudo de desarrollo. El héroe, concentrado, no habla ni explica. Parece relajado, lo que hace es “pan comido” para él. Entonces, en un momento, para, el problema está solucionado, levanta la vista, mira al equipo, y sale volando por la ventana, directo hacia el atardecer. Gran música de fondo.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Contexto&lt;/strong&gt;: El equipo no sabe cómo solucionar el problema técnico que surgió. Es algo en lo que tienen poca experiencia. Trataron de solucionarlo, pero no pudieron, y están entrando en pánico. Pasan las horas, y no avanzan. Todo está empantanado. Entonces, encienden la señal, para llamar al super héroe.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fuerzas&lt;/strong&gt;: Vivimos en tiempos de cumplir los compromisos que asumimos para la iteración. Queda poco tiempo para la entrega. Todo indica que necesitamos una solución rápida.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solución&lt;/strong&gt;: No hay que buscar solución rápida. Primero, habría que haber previsto el riesgo tecnológico, desde el propio equipo. Los miembros deberían haber anotado que en algún momento se toparían con una tecnología que no conocen, y tendrían que haber tomado la tarea asignándole más tiempo. Pero bueno, supongamos que no se pudo hacer eso. El problema de arriba, es que el equipo delega la solución FUERA del equipo. El equipo, de alguna forma, “se lava las manos”. La actitud del superhéroe también conspira para eso. No es ése el camino. El equipo no debería perder “ownership”, propiedad y responsabilidad del producto, y de cada pequeño o gran problema. El desarrollador super héroe, que los hay, debería haberse integrado al equipo, compartiendo su conocimiento. Debería actuar como consultor del resto del equipo, pero trabajando con él. Y cada cosa que haga, con el equipo, será considerada como cualquier otra tarea de otro miembro: deberá cumplir con los estilos pactados, las métricas adoptadas, la definición de “hecho”. No debe ser un miembro “distinguido”. Lo que haga, debe estar público y lo más entendible posible para el resto del equipo. Tal vez no consigamos una solución tan rápida como la de arriba. Pero seguramente, a largo plazo, estaremos construyendo un equipo más responsable.&lt;/p&gt;  &lt;p&gt;Recuerden: uno de los grandes entregables, en Scrum, es el equipo.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1734776" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: No somos Q</title><link>http://msmvps.com/blogs/lopez/archive/2009/10/22/tales-from-the-scrum-no-somos-q.aspx</link><pubDate>Thu, 22 Oct 2009 10:22:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1734228</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1734228</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/10/22/tales-from-the-scrum-no-somos-q.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.todocontenidos.com/images/articles/qstartrek00.png" align="left" alt="" /&gt; No se si conocen o recuerdan al &lt;a href="http://en.wikipedia.org/wiki/Q_%28Star_Trek%29" target="_blank"&gt;personaje de Q&lt;/a&gt;, que apareció en el capítulo presentación de &lt;a href="http://en.wikipedia.org/wiki/Star_Trek:_The_Next_Generation" target="_blank"&gt;Star Trek: Next Generation&lt;/a&gt;. Dotado de poderes sin límites, el personaje interpretado por &lt;a href="http://en.wikipedia.org/wiki/John_de_Lancie" target="_blank"&gt;John de Lancie&lt;/a&gt; ha aparecido en varios episodios, siendo uno de los favoritos de la audiencia trekkie. En la tercer temporada de Next Generation, en el capítulo &lt;a href="http://en.wikipedia.org/wiki/D%C3%A9j%C3%A0_Q" target="_blank"&gt;Déjà Q&lt;/a&gt; le quitan los poderes, y pasa a ser un simple mortal, que tiene hasta que comer para sobrevivir. Se le sugiere integrarse a la tripulación de la Enterprise, pero él responde que no está acostumbrado: “Es difícil trabajar en grupo cuando se es omnipotente”.&lt;/p&gt;  &lt;p&gt;Q nunca podría ser un buen miembro de equipo Scrum. Recuerden: Scrum es un marco de trabajo para producir software EN EQUIPO (se puede extender para otras actividades, pero siempre en equipo). La idea de equipo en Scrum es fuerte: miembros con distintas habilidades y competencias, que trabajan coordinados para ir armando, iterativamente, el producto que el cliente necesita. En general, se usa la figura del Scrum Master para mantener el equipo dentro de las buenas prácticas, como mantener la reunión diaria, evaluar correctamente el Sprint (iteración), actualizar el backlog de sprint, ver que se arma y priorice lo mejor posible el product backlog, etc.&lt;/p&gt;  &lt;p&gt;Pero, en el día a día, lo que cuenta es el trabajo en equipo. No hay lugar para “prima donnas” o “Qs” en un equipo Scrum. Claro que puede haber miembros con más “seniority” en un tema técnico, o en alguna habilidad (como diseño gráfico, o base de datos). Pero lo importante es que toda tarea, y su resultado, queda a cargo del equipo. No hay “me corto solo” en Scrum. No hay actitudes de “yo lo hago mejor, y hago esto, y nada más”. No hay “yo me encargo de la base de datos, lo demás no”. No hay “esto lo hago yo, porque lo hago mejor que Uds.”. Debe haber “esta tarea la tomo yo, si quieren, hago pair programming con X, y dejo claro cómo lo hice, para que mañana otro pueda seguir con esta tarea”. Si no se puede llegar a esa actitud, por lo menos, debemos luchar para conseguirla, y marcar nuestra falta en las retrospectivas (recuerden que para eso están las reuniones de retrospectivas: no para marcar errores, sino para detectar malas prácticas, o formas de trabajo no efectivas, y mejorarlas).&lt;/p&gt;  &lt;p&gt;Cada tarea es del equipo.&lt;/p&gt;  &lt;p&gt;Tomemos un ejemplo en concreto. Puede que haya en el equipo alguien ideal para escribir el manual de usuario de una parte del sistema que estamos armando y entregando (ciertamente, hay manuales de usuario, y es muy probable que se algo que para el cliente tiene valor de entrega y nos lo pida; sino, es, en general, un buen “over-delivery” que hace que el producto entregado tenga mejor recepción y uso). Supongamos que esa persona, llamémosla Juan, se recibió de “Technical Writer”, o que es el que mejor conoce esa parte del sistema. ¿Será él el que tome esa tarea? Un día, al comienzo, en la reunión diaria, Juan tome la tarea. Pero bien puede ser que sea una tarea que insuma varios días: hay que escribir una tabla de contenido, un glosario de los términos, una introducción, un paso a paso, sacar “screenshots” y ponerlos en el documento, escribir sobre el proceso A, el B, el C… En definitiva: la tarea puede partirse en varios pasos. Y entonces, seguramente otros miembros del equipo podrán colaborar con alguna de las subtareas. El miércoles, Juan está enfermo, y falta. Pedro, que estuvo colaborando con él, bien puede seguir con la tarea: aprendió cómo se organiza el material, cuál es el ejemplo que se estaba desarrollando en el manual, y puede seguir con el tema. Mientras tanto, el documento va quedando publicado en el repositorio de código del equipo. José “odia” hacer documentación. Pero igual revisa el documento parcial producido, y descubre que un “screenshot” no corresponde con lo el ejemplo que se explica. María detecta que se está usando mal el tiempo verbal. Francisco, que está desarrollando otra parte del sistema, y es el menos familiarizado con el tema del manual, apunta que no se entienden algunos términos, que el creador original del documento toma por sabidos por todo el mundo.&lt;/p&gt;  &lt;p&gt;Cuando al final del Sprint, el documento es entregado, casi todos los miembros del equipo pasaron por la producción del mismo: escribiendo, revisando, juntando material, mejorando una parte, sugiriendo cambios. Y ese entregable, es responsabilidad del equipo. Si luego se detecta que hay un error tipográfico o de concepto, es el equipo el que se hace cargo de ese defecto.&lt;/p&gt;  &lt;p&gt;Trabajando en equipo, hasta capaz le ganamos a Q y todo… :-)&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1734228" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Un día en el equipo</title><link>http://msmvps.com/blogs/lopez/archive/2009/10/13/tales-from-the-scrum-un-d-237-a-en-el-equipo.aspx</link><pubDate>Tue, 13 Oct 2009 09:20:03 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1732135</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1732135</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/10/13/tales-from-the-scrum-un-d-237-a-en-el-equipo.aspx#comments</comments><description>&lt;p&gt;Una de las cosas que hay que destacar de Scrum, por si es la primera vez que lo ven, es el trabajo en equipo. Los miembros del equipo realizan una reunión diaria inicial, el Standup, se reparten las tareas, y van trabajando físicamente juntos durante el día, programando, diseñando, haciendo pruebas del software, etc… Hace un tiempo, encontré este video, donde, oh! sorpresa! el ScrumMaster es el bueno de Tobías Mayer (&lt;a href="http://www.infoq.com/interviews/mayer-welfarecsm-scrum" target="_blank"&gt;@tobiasgmayer&lt;/a&gt;) (visiten su blog &lt;a href="http://agilethinking.net/blog/" target="_blank"&gt;Agile Thinking&lt;/a&gt;, y su iniciativa &lt;a href="http://agilethinking.net/welfareCSM/" target="_blank"&gt;WelfareSCM&lt;/a&gt; (entramiento Scrum de bajo costo), también &lt;a href="http://www.infoq.com/interviews/mayer-welfarecsm-scrum" target="_blank"&gt;el video que grabó sobre el tema en InfoQ&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Vean cómo se trabaja a veces de a pares, a veces en solitario. El ScrumMaster (el que acerca la cara y hace muecas…:-), va acompañando al equipo, de forma intermitente. El lugar físico es importante: todos se ven, todos están en contacto directo. Vean cómo van organizando las tareas en papeles. A la derecha, parece que tiene el tablero de control.&lt;/p&gt;  &lt;p&gt;Para los que no lo vivieron, es así: los miembros van avanzando en tareas, tienen reuniones de diseño, o para discutir dudas y caminos. No hace falta comer en el mismo lugar :-) pero pueden hacerlo.&lt;/p&gt;  &lt;p&gt;Pueden leer un post de Tobías que traduje al español en &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/18/tales-from-the-scrum-el-coraz-243-n-de-scrum.aspx" target="_blank"&gt;Tales from the Scrum: El corazón de Scrum&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1732135" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: TDD en todo</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/26/tales-from-the-scrum-tdd-en-todo.aspx</link><pubDate>Wed, 26 Aug 2009 10:55:26 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1718292</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1718292</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/26/tales-from-the-scrum-tdd-en-todo.aspx#comments</comments><description>&lt;p&gt;Hace un tiempo escribía sobre &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/03/tales-from-the-scrum-terminando-la-tarea.aspx"&gt;Tales from the Scrum: Terminando la tarea&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;donde hace hincapié en verificar cada tarea, e introducía algo a discutir en otro post: el concepto de “hecho”, que tiene que estar claro en el equipo y en el dueño de producto.&lt;/p&gt;  &lt;p&gt;Hoy quiero comentar sobre algo similar, que podemos hacer en cada tarea: aplicar ideas de &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank"&gt;Test-Driven Development&lt;/a&gt;. No hace falta que Ud. haya aplicado TDD: una disciplina que puede usarse en XP. Lo que quería adoptar de ahí, es, ante una tarea a realizar: escribir primero el test. Esto, a cualquier tarea. ¿A qué apunto?&lt;/p&gt;  &lt;p&gt;Veámoslo con un ejemplo. Supongamos que tenemos que migrar una base de datos contable, de un tipo de base datos (digamos Oracle), a SQL Server. Una tarea delicada. No queremos que se pierdan datos. Entonces, antes de comenzar la tarea, vamos escribiendo cuál sería el test, la prueba, a pasar luego de la tarea, para considerarla bien terminada. Podría ser:&lt;/p&gt;  &lt;p&gt;- Hacemos select count(*) de la tabla de plan de cuentas en Oracle&lt;/p&gt;  &lt;p&gt;- Comparamos esa cantidad con el select count de plan de cuentas en SQL Server&lt;/p&gt;  &lt;p&gt;- Hacemos un sum de debe y haber, en Oracle&lt;/p&gt;  &lt;p&gt;- Comparamos con el sum de debe y haber en la nueva base de SQL Server&lt;/p&gt;  &lt;p&gt;- Tomamos el mayor de la cuenta X (que tiene pocos movimientos) en Oracle y los comparamos con los movimientos del nuevo SQL Server&lt;/p&gt;  &lt;p&gt;- Hacemos lo mismo para el mayor de la cuenta Y (la de mayor cantidad de movimientos)&lt;/p&gt;  &lt;p&gt;- …&lt;/p&gt;  &lt;p&gt;- …&lt;/p&gt;  &lt;p&gt;Hasta podemos escribir un programa que haga estas comprobaciones, aunque no siempre es necesario o posible.&lt;/p&gt;  &lt;p&gt;La cuestión es comenzar la tarea con un fin en mente: qué tiene que pasar al final para que podamos decir la tarea está bien completa y hecha.&lt;/p&gt;  &lt;p&gt;Y esto, hacerlo ANTES de comenzar la tarea. El tener en claro hacia dónde queremos llegar, cuál es escenario final que queremos tener al terminar la tarea.&lt;/p&gt;  &lt;p&gt;Lo mismo hacemos con cualquier tarea, ya sea del sprint, o particular nuestra. Si una de las tareas es instalar un servidor Apache, con PHP y MySql, entonces, el test podría ser:&lt;/p&gt;  &lt;p&gt;- Escribimos &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt; en nuestro navegador y aparece la página inicial&lt;/p&gt;  &lt;p&gt;- Este servidor viene con phpmyadmin instalado, vamos a ese enlace, y vemos la página de la base MySql local&lt;/p&gt;  &lt;p&gt;- Vemos en la lista de base de datos instalada, las iniciales de MySql&lt;/p&gt;  &lt;p&gt;- Creamos una base con tal y tal parámetro&lt;/p&gt;  &lt;p&gt;- En esa base creamos una tabla con tales y tales características&lt;/p&gt;  &lt;p&gt;- …&lt;/p&gt;  &lt;p&gt;- Subimos un archivo desde nuestro disco a una aplicación de galería de fotos que ya vino instalada (acá podemos verificar permisos de escritura)&lt;/p&gt;  &lt;p&gt;- Repetimos estas pruebas desde otra máquina, llegando al servidor via http://&amp;lt;nombredeservidor&amp;gt;&lt;/p&gt;  &lt;p&gt;(este último punto nos servirá para comprobar los permisos y protecciones que puede tener el servidor para los usuarios finales)&lt;/p&gt;  &lt;p&gt;Tal vez para Uds. pueda parecer trivial todo esto. Yo quisiera recibir ahora un peso, por cada vez que vi que una tarea como la de arriba, fue considerada terminada solamente con instalar el servidor. O solamente poniendo &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt;. O por cada vez que una migración de base de datos se dio por buena con simplemente que no de error en el traspaso de datos.&lt;/p&gt;  &lt;p&gt;El escribir el test (en un programa, en un papel, en un email) también sirve para que cualquiera en el equipo pueda encarar más fácilmente la etapa de verificación, y para cuando alguna vez haya que repetir esa tarea. Es una especie de checklist de lo que tiene que quedar bien, en “verde” para que consideremos que lo que hicimos quedó bien terminado. Hay otras cuestiones a tener en cuenta, pero el test de cada tarea debería ser lo básico a cumplir.&lt;/p&gt;  &lt;p&gt;Como todo en el Sprint, se puede ir refinando este documento, si descubrimos que sería conveniente tener en cuenta alguna otra cosa en la verificación de una tarea. Y el test también sirve para que podamos estimar el tiempo de verificar el trabajo hecho.&lt;/p&gt;  &lt;p&gt;Gracias a &lt;a href="http://twitter.com/gabrielz" target="_blank"&gt;@gabrielsz&lt;/a&gt; que fue el primero que me hizo ver estos temas.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1718292" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Scrum práctico en Santa Fé</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/22/scrum-pr-225-ctico-en-santa-f-233.aspx</link><pubDate>Sat, 22 Aug 2009 14:29:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1717392</guid><dc:creator>lopez</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1717392</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/22/scrum-pr-225-ctico-en-santa-f-233.aspx#comments</comments><description>&lt;p&gt;Gracias al &lt;a href="http://www.mug.org.ar" target="_blank"&gt;MUG de Argentina&lt;/a&gt;, y a &lt;a href="http://www.softwaresantafe.com/Home/web/index.html" target="_blank"&gt;Software Santa Fé&lt;/a&gt;, ayer viernes estuve dando un curso práctico de todo un día, sobre Scrum, en la ciudad de Santa Fé, acá en Argentina. Más de 30 personas asistieron, se dividieron en 6 grupos y llevaron a cabo dos sprints simulados, practicando lo que es el product backlog, el sprint backlog, las reuniones de sprint planning, sprint review, y daily scrum. Creo que fue un curso muy interesante, en el que los asistentes participaron activamente, haciendo el trabajo encargado, y preguntando todo sobre el marco de trabajo Scrum y metodologías ágiles en general.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.todocontenidos.com/images/articles/scrum1.gif" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Si quieren saber cómo es Scrum, pueden leer la introducción (en inglés y español):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://scrumtraininginstitute.com/home/stream_download/scrumprimer" target="_blank"&gt;Scrum Primer&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hay un artículo corto en inglés: &lt;a href="http://danube.com/system/files/What+Is+Scrum_blog.pdf" target="_blank"&gt;What is Scrum?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pueden usar esta presentación compartida (en varios idiomas):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mountaingoatsoftware.com/scrum-a-presentation"&gt;A Reusable Scrum Presentation. Introduce Scrum to your team, ScrumMaster and Product Owner.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Algunos enlaces adicionales:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://agilethinking.net/"&gt;http://agilethinking.net/&lt;/a&gt; El sitio de Tobias Meyer, que me inició en el ScrumMastering en el 2006.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://agilemanifesto.org/"&gt;http://agilemanifesto.org/&lt;/a&gt; Manifesto for Agile Software Development&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;a href="http://softwareagil.blogspot.com"&gt;http://softwareagil.blogspot.com&lt;/a&gt;&amp;#160;&lt;/u&gt;El blog de Juan Gabardini, dedicado a Software Agil, en especial Scrum &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.implementingscrum.com/"&gt;http://www.implementingscrum.com/&lt;/a&gt; Sitio donde encontraran la clásica historia: &lt;a href="http://www.implementingscrum.com/blog/2006/09/11/the-classic-story-of-the-pig-and-chicken"&gt;The classic story of the pig and chicken&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://groups.yahoo.com/group/foro-agiles"&gt;http://groups.yahoo.com/group/foro-agiles&lt;/a&gt; Foro de prácticas ágiles, en español, muy interesante de seguir.&lt;/p&gt;  &lt;p&gt;La presentación que usé está en mi Skydrive:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-9f903f3d6db0c176.skydrive.live.com/self.aspx/Presentations/Scrum200802-2003.ppt"&gt;Scrum200802-2003.ppt&lt;/a&gt; (formato PowerPoint 2003, 7Megas)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-9f903f3d6db0c176.skydrive.live.com/self.aspx/Presentations/Scrum200802.pptx"&gt;Scrum200802.pptx&lt;/a&gt; (7Megas)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-9f903f3d6db0c176.skydrive.live.com/self.aspx/Presentations/Scrum200801.ppt"&gt;Scrum200801.ppt&lt;/a&gt; (Presentación original, más liviana, con menos gráficos, 1.2M)&lt;/p&gt;  &lt;p&gt;Agradezco a &lt;a href="http://blogs.southworks.net/dpoza"&gt;Diego Poza&lt;/a&gt;, por &lt;a href="http://blogs.southworks.net/dpoza/2008/08/27/filminas-de-la-charla-introduccin-a-scrum-y-casos-de-aplicacin-exitosa/"&gt;haber mejorado y ampliado&lt;/a&gt; la presentación original.&lt;/p&gt;  &lt;p&gt;Para preparar gran parte de la presentación, usé:&lt;/p&gt;  &lt;p&gt;El libro que me sirvió de base para esta presentación&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=6916&amp;amp;locale=en-us" target="_blank"&gt;Agile Project Management with Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;de Ken Schwaber ISBN:073561993x Microsoft Press © 2004 &lt;/p&gt;  &lt;p&gt;En ese libro, están enumerados estos recursos:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;Agile Software Development with Scrum&lt;/i&gt;, Ken Schwaber and Mike Beedle (Prentice Hall, 2001) &lt;/p&gt;    &lt;p&gt;Teoría y práctica de Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.controlchaos.com/"&gt;www.controlchaos.com/&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de Ken Schwaber sobre Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.jeffsutherland.com/"&gt;http://www.jeffsutherland.com/&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;Jeff Sutherland tiene contenido relacionado con desarrollo de software, programación, tecnología, objetos, componentes y Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.mountaingoatsoftware.com/scrum/"&gt;www.mountaingoatsoftware.com/scrum/&lt;/a&gt; &lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de Mike Cohn sobre Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.scrumalliance.org"&gt;www.scrumalliance.org&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El hogar de los ScrumMaster certificados. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.agilealliance.org"&gt;www.agilealliance.org&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de la AgileAlliance, con recursos sobre Agile y Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://groups.yahoo.com/group/scrumdevelopment/"&gt;http://groups.yahoo.com/group/scrumdevelopment/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;El grupo de discusión de Scrum, con años de existencia. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://www.xprogramming.com"&gt;www.xprogramming.com&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;El sitio de Ron Jeffries acerca de Extreme Programming (XP). XP provee varias de las prácticas que Scrum implementa para asegurar el incremento de funcionalidad potencialmente entregable. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a&gt;&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;Process Dynamics, Modeling, and Control&lt;/i&gt;, Babatunde A. Ogunnaike and W. Harmon Ray (Oxford University Press, 1994) &lt;/p&gt;    &lt;p&gt;La teoría que subyace a Scrum. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;The Alphabet Versus the Goddess&lt;/i&gt;, Leonard Shlain (Viking Penguin, 1998) &lt;/p&gt;    &lt;p&gt;El conflicto entre las palabras y la imagen. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;Wicked Problems, Righteous Solutions&lt;/i&gt;, Peter Degrace and Leslie Hulet Stahl (Yourdon Press, 1990) &lt;/p&gt;    &lt;p&gt;&lt;i&gt;A Universe of Consciousness&lt;/i&gt;, Gerald Edelman (Basic Books, 2000) &lt;/p&gt;    &lt;p&gt;Por qué es tan difícil pasar de requerimientos a código. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;Managing the Unknowable&lt;/i&gt;, Ralph D. Stacey (Josey-Bass, 1992) &lt;/p&gt;    &lt;p&gt;Explicando las dificultades del manejo de la complejidad. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;Complexity and Emergence in Organisations&lt;/i&gt;, Ralph D. Stacey (Routledge, 2000) &lt;/p&gt;    &lt;p&gt;Una crítica de cómo la teoría de la complejidad ha sido aplicada para entender organizaciones y marcar nuevas direcciones. Este libro promueve un reexamen radical del pensamiento gerencial. &lt;/p&gt;    &lt;p&gt;&lt;i&gt;Artful Making&lt;/i&gt;, Rob Austin and Lee Devin (Prentice Hall, 2003) &lt;/p&gt;    &lt;p&gt;Como manejar el trabajo creativo, adaptado del teatro.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1717392" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Cómo transferir conocimiento en un proyecto ágil</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/20/tales-from-the-scrum-c-243-mo-transferir-conocimiento-en-un-proyecto-225-gil.aspx</link><pubDate>Thu, 20 Aug 2009 10:33:13 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1716814</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1716814</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/20/tales-from-the-scrum-c-243-mo-transferir-conocimiento-en-un-proyecto-225-gil.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.todocontenidos.com/images/articles/knowledge.gif" align="left" alt="" /&gt; Ayer conocí, gracias a un mensaje del bueno de &lt;a href="http://blogs.southworks.net/jcisneros" target="_blank"&gt;Jonathan Cisneros&lt;/a&gt;, autor del &lt;a href="http://ajgenesisstudio.codeplex.com/" target="_blank"&gt;AjGenesis Studio&lt;/a&gt;, de este interesante experimento:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.infoq.com/news/2009/08/agile-knowledge-transfer" target="_blank"&gt;How to transfer knowledge in an Agile Project&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(Ciertamente, es un único experimento que habrá que refrendar con otros experimentos). Pero he asistido a situaciones similares y puedo decir que es una forma válida de transferencia de conocimiento en un proyecto ágil, Scrum en particular.&lt;/p&gt;  &lt;p&gt;¿En qué consistió el experimento? &lt;a href="http://agilefocus.com/author/stevebockman/" target="_blank"&gt;Steve Bockman&lt;/a&gt; trataba de saber cuál es la mejor forma de transferir conocimiento. En un proyecto ágil, Scrum en particular, es frecuente trabajar en un equipo con distintas habilidades y conocimientos, y es importantes que lo que un miembro del equipo conoce y sabe hacer, sea en algún momento asimilado por los otros miembros del equipo. Steve explica su experimento en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://agilefocus.com/2009/08/avoiding-the-knowledge-transfer-bottleneck/"&gt;Avoiding the knowledge transfer bottleneck&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;En el experimento, Steve trató de transferir conocimiento sobre un producto no usual: cómo construir un aeroplano de papel. Lo intentó de tres formas:&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Documentación&lt;/strong&gt;: a los participantes se les dio instrucciones escritas (22 pasos) para armar el aeroplano.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Ingeniería Inversa&lt;/strong&gt;: a los participantes se les dio un aeroplano completo que podían estudiar para reproducir los pasos para armarlo.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Mentoring&lt;/strong&gt;: el “diseñador en jefe” arma el aeroplano paso por paso, y los participantes replican cada paso a medida que lo ven realizado.&lt;/p&gt;  &lt;p&gt;El experimento fue realizado con 8 participantes, con una duración total de 5 minutos para cada escenario. Los resultados fueron:&lt;/p&gt;  &lt;p&gt;Sólo &lt;strong&gt;12.5%&lt;/strong&gt; de las personas pudieron completar el trabajo usando la estrategia de leer la documentación. Usando ingeniería inversa, el &lt;strong&gt;25%&lt;/strong&gt; de las personas pudieron armar el aeroplano. Mientras que usando mentoring, el &lt;strong&gt;100%&lt;/strong&gt; de los participantes completó el trabajo.&lt;/p&gt;  &lt;p&gt;Yo pienso que esto es otra forma de demostrar que &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/07/29/no-somos-vulcanos.aspx" target="_blank"&gt;no somos Vulcanos&lt;/a&gt;: un vulcano escribiría la documentación, de tal forma, que cualquier otro vulcano podría entenderla de primera vez, para realizar el trabajo. Y entendería casi inmediatamente el por qué de los pasos.&lt;/p&gt;  &lt;p&gt;Tal vez, el mentoring, no transfiere tan rápidamente el “por qué” de alguna práctica. O eso lo van descubriendo los participantes con el tiempo, o por contraste con otra práctica. Ejemplo: podemos aprender pair programming, usando mentoring, pero por qué preferimos esa práctica de programación a pares, será cuestión de verlo por contraste con no hacerla.&lt;/p&gt;  &lt;p&gt;En un anterior post:&lt;/p&gt;  &lt;p&gt;&lt;a title="Tales from the Scrum- cualidades de los miembros del equipo" href="http://msmvps.com/blogs/lopez/archive/2009/07/28/tales-from-the-scrum-cualidades-de-los-miembros-del-equipo.aspx"&gt;Tales from the Scrum- cualidades de los miembros del equipo&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;sugería que se puede hacer pair programming en una tarea, donde uno de los participantes está más capacitado que otro. Esto tiene también la consecuencia de transferir las habilidades y conocimientos de un miembro del equipo al otro. Vean que hablo no sólo de conocimientos: también de habilidades. Yo puedo conocer todo sobre armonía musical pero no tener la habilidad de tocar el piano.&lt;/p&gt;  &lt;p&gt;Esa forma de pair programming, viene descripto por Young Ye y Royce Fay en un paper (pdf)&lt;/p&gt;  &lt;p&gt;&lt;a title="knowledge transfer using Asymmetric pair Programming" href="http://www.agilealliance.org/system/article/file/1409/file.pdf"&gt;Knowledge transfer using Asymmetric pair Programming&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Este método lo aplican no sólo a trabajo de a pares con desarrolladores, sino también entre desarrolladores y usuarios del dominio. Pone énfasis, entonces, en la comunicación humana más que en la documentación.&lt;/p&gt;  &lt;p&gt;Alan Skorking escribió también sobre el tema en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.skorks.com/2009/07/effective-vs-ineffective-pair-programming/" target="_blank"&gt;Effective vs Ineffective Pair Programming&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Escribe: “En mi opinión, el beneficio más importante es el hecho que trabajar de a pares es altamente favorable a la transferencia orgánica de conocimiento…. Creo que es la clave porque en un sistema grande prácticamente no hay otra forma de hacerlo bien”.&lt;/p&gt;  &lt;p&gt;Justamente, ahora estoy envuelto en el desarrollo en equipo de un sistema con un dominio grande, y complejo. Sería interesante comenzar a aplicar este tipo de transferencia, no sólo dentro del equipo, sino también con los expertos del dominio. Esto no quita la existencia de documentación, pero es difícil de escribir en dominios complejos.&lt;/p&gt;  &lt;p&gt;Imagen tomada de &lt;a href="http://www.kegoodpractice.org/"&gt;&lt;/a&gt;&lt;a href="http://www.kegoodpractice.org/"&gt;&lt;/a&gt;&lt;a title="http://www.kegoodpractice.org/" href="http://www.kegoodpractice.org/"&gt;http://www.kegoodpractice.org/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1716814" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: El corazón de Scrum</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/18/tales-from-the-scrum-el-coraz-243-n-de-scrum.aspx</link><pubDate>Tue, 18 Aug 2009 09:20:58 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1716431</guid><dc:creator>lopez</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1716431</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/18/tales-from-the-scrum-el-coraz-243-n-de-scrum.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.todocontenidos.com/images/articles/black_board_small.jpg" align="left" alt="" /&gt; Al final de un anterior post:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/05/tales-from-the-scrum-informando-el-estado.aspx"&gt;Tales from the Scrum: Informando el estado&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;comentaba que había otra herramienta para ir coordinando y viendo el avance del equipo en el proyecto. El bueno de &lt;a href="http://agilethinking.net/aboutme.html" target="_blank"&gt;Tobias Meyer&lt;/a&gt;, quien fue mi instructor de Scrum Master en el 2006, escribe en estos días un post más poético, pero que apunta al corazón del tema. Pueden leer el original en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://agileanarchy.wordpress.com/2009/08/03/the-heart-of-scrum/" target="_blank"&gt;The heart of Scrum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hoy les deje una traducción libre:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Cuanto más enseño y hago coaching de Scrum, más me convenzo que el tablero de tareas es el corazón del Scrum. Sin el tablero de tareas no hay centro, no hay foco. El tablero de tareas, cuando es realmente comprendido, se transforma en el hogar espiritual del equipo, en la iglesia, si quieren llamarlo así. Los miembros del equipo arguyen,discuten, innovan, alrededor del tablero de tarea, se alinean unos con otros, para corregir el rumbo, para aprender, para celebrar.&lt;/p&gt;    &lt;p&gt;El tablero de tareas genera colaboración. Es visual, es táctil, es más grande que la vida (es más grande que la pantalla de una computadora). Se yergue como un gran y visible marcador de nuestro de progreso y de nuestro carácter. Proclama quienes somos como equipo. Es nuestra identidad. El tablero de tareas nos dice la verdad, y difunde el mensaje: no tenemos miedo.&lt;/p&gt;    &lt;p&gt;El tablero de tareas es frecuentemente descripto como el “water cooler” (enfriador de agua) del nuevo paradigma. El paralelo, aunque tiene buen sentido, está haciendo al tablero de tarea un daño. Sí, es el lugar para interactuar. No, no es un lugar para quejarse, para esparcir rumores, o desgarrar el equipo. El tablero de tareas es el lugar para regenerarse a uno mismo, para reconectarse, para tomar respiro. Representa una carrera hacia, no un escape, una carrera de huida de.&lt;/p&gt;    &lt;p&gt;Scrum es la antítesis del cubículo corporativo de la mentalidad de divide-y-vencerás. No necesitamos mesa de tenis o metegol para calmarnos, para crear un balance artificial de trabajo y vida. No necesitamos divertirnos como algo más allá del trabajo. El trabajo es divertido. No necesitamos momentos de “water cooler” o cortes para fumar para ejercitar nuestras profundas necesidades humanas de conversación, de interacción. En Scrum, nosotros vivimos de esta manera. Todo el día, todos los días.&lt;/p&gt;    &lt;p&gt;Scrum es todo sobre la gente, no sobre competencias o capacidades. Scrum no es “yo” sino “nosotros”. Es acerca de compartir, aprender, mejora continua, interacción vibrante, colaboración apasionada y crecimiento personal. Scrum es sobre tribus, sobre construir comunidad. Cada miembro de la tribo necesita un sentido de pertenencia, de búsqueda personal. Tribus enteras necesitan lugares de interacción, necesitan objetos sagrados, necesitan foco y necesitan pulso. Scrum soporta esa forma de ser. El tablero de control, y el ambiente que emerge de él, provee esa fuerza central de vida, donde este tipo de cosas nacen.&lt;/p&gt;    &lt;p&gt;Para vivir, para realmente vivir, Scrum necesita un corazón. Y ese corazón es el tablero de control. Sin él, Scrum nos parece y se siente insípido. Es débil, y delgado. Pierde su foco, y sin un controlador externo (por ejemplo, un coach, o un campeón del producto) para continuamente insuflar vida en él, el esfuerzo pronto se disolverá de nuevo en el proceso disfuncional al que quería reemplazar. Sin ese corazón, Scrum no tiene poder.&lt;/p&gt;    &lt;p&gt;Uno de los servicios más importantes que un Scrum Master puede hacer por su equipo y por la organización en conjunto, es crear transparencia. La transparencia nos permite ver las fallas, y cuando vemos las fallas, podemos elegir hacer algo con ellas. Podemos parar de ser víctmas del proceso y comenzar a ser guerreros del cambio.&lt;/p&gt;    &lt;p&gt;En el blog de Xavier Quesada Allue &lt;a href="http://www.xqa.com.ar/visualmanagement/2009/02/visual-management-for-agile-teams/" target="_blank"&gt;Visual Management&lt;/a&gt; encontraremos muchas sugerencias sobre cómo usar el tablero de tareas para alcanza el objetivo de la transparencia. El trabajo de Xavier en esta área toma el tablero de tareas y lo transforma de un objeto útil en un objeto de belleza e inspiración. Y de la manera en que lo veo yo, éste es el lugar correcto del tablero. El corazón se nutre de amor.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Les recomiendo la visita al blog de Xavier, y el de Tobias, &lt;a href="http://agileanarchy.wordpress.com/" target="_blank"&gt;Agile Anarchy&lt;/a&gt; (el actual) y &lt;a href="http://agilethinking.net/blog" target="_blank"&gt;Agile Thoughts&lt;/a&gt; (el anterior). Vean de visitar y soportar su iniciativa &lt;a href="http://agilethinking.net/welfareCSM/" target="_blank"&gt;Welfare SCM&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Statement of Intent&lt;/p&gt;    &lt;p&gt;WelfareCSM is a program designed by Tobias Mayer to embrace the change we are currently experiencing in the world. The aim of WelfareCSM is two-fold: &lt;/p&gt;    &lt;p&gt;1. To offer low-cost or no-cost Scrum training, including Certified Scrum Master training to individuals in low-paid jobs, the unemployed, students and anyone working for a company that has cut its training budget in this time of crisis. &lt;/p&gt;    &lt;p&gt;2. To spread the principles, practices and values of Scrum beyond the software world, by training people from other industries, and those involved in other kinds of work or community activities. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;He tenido poca experiencia con un tablero físico, en muchos equipos se tiende a tener una herramienta electrónica. Pero cada tanto trato de armar un tipo de tablero así. Cuando existe, la reunión diaria de Scrum se realiza ENFRENTE del tablero, es el lugar donde el equipo se reencuentra con sí mismo y con el proyecto.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1716431" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Armando un equipo automanejado</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/12/tales-from-the-scrum-armando-un-equipo-automanejado.aspx</link><pubDate>Wed, 12 Aug 2009 11:15:56 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1715059</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1715059</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/12/tales-from-the-scrum-armando-un-equipo-automanejado.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.todocontenidos.com/images/articles/selfteam.jpg" align="left" alt="" /&gt; Ya sabemos que Scrum es un trabajo de equipo. Pero una cosa que diferencia a Scrum, es que el equipo es automanejado. ¿A qué apunta esto? A que el equipo toma decisiones y se mantiene y mejora como equipo, por sí mismo. Por supuesto, con ayuda, de quien quiera ayudar: desde el Scrum Master, hasta mentores, otros equipos e interesados. Pero el equipo toma decisiones en varios puntos del proceso, el principal es el planeamiento del próximo sprint, iteración.&lt;/p&gt;  &lt;p&gt;Ya escribí que me parece importante el desarrollo del equipo; es parte del entregable, aunque no lo parezca:&lt;/p&gt;  &lt;p&gt;&lt;a title="Tales from the Scrum- su equipo, el próximo nivel" href="http://msmvps.com/blogs/lopez/archive/2009/08/06/tales-from-the-scrum-su-equipo-el-pr-243-ximo-nivel.aspx"&gt;Tales from the Scrum- su equipo, el próximo nivel&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pero muchas veces, el equipo no tiene toda “la salud” para auto manejarse, o sus miembros vienen de otros ámbitos donde no se fomentó esta actitud. Veamos algunos puntos a revisar, para mejorar en estos puntos.&lt;/p&gt;  &lt;p&gt;Primero: &lt;/p&gt;  &lt;h4&gt;Deje de hacer esto&lt;/h4&gt;  &lt;p&gt;- No dejar que los participantes del equipo participen en todas las etapas del ciclo de desarrollo. Cuanto más se involucren en todas las actividades, como reuniones con los clientes, planeamiento, toma de requirimientos, diseño, mejor. No todos tienen que estar en una reunión de diseño. Pero hay que ir viendo de que todos los miembros, en algún momento, hayan tomado parte de alguna de las actividades. Un anti-pattern: sólo “los principales” miembro del equipo asisten a al reunión de cierre de Sprint. Si cada miembro del equipo participa de cada actividad, en algún momento del proyecto, verán de embeberse más del proyecto y del proceso, en vez de encerrarse en su zona de confort o “expertise”.&lt;/p&gt;  &lt;p&gt;- Asignar tareas a los miembros: es común que alguien vaya asignando tareas a algunos miembros. Hay que dejar de hacer eso. Hay que fomentar que los miembros del equipo vayan tomando tareas, por propia cuenta. Y promover que cada miembro de equipo no se centre sólo en lo que sabe. El especialista en base de datos puede participar de una tarea de diseño de interfaz de usuario, tal vez ayudado por “pair programming” con otro miembro que conozca del tema. Esto permite que los miembros vayan interactuando, conociendo las debilidades y fortalezas de cada uno, y ayudándose y aprendiendo unos de otros al mismo tiempo. &lt;/p&gt;  &lt;p&gt;- Decir para cuándo tiene que estar tal tarea lista: hay que recordar que esa es una decisión del equipo, en Scrum. Claro que se espera que el equipo vaya mejorando en la estimación de los tiempos y en la velocidad de avance. Pero es una decisión de los miembros del equipo cuánto tiempo necesitan para terminar con una tarea. Se podrá discutir qué hace falta para avanzar más rápido, qué cambios hacer para mejorar en eso, pero la decisión del tiempo es del equipo. Si Ud. no deja esta decisión en el equipo, no logrará que avance en las cualidades de autogestión.&lt;/p&gt;  &lt;p&gt;- En la reunión de planeación de sprint, las tareas propuestas por el producto owner, son aceptadas sin mayor discusión, o sin evaluar si se pueden conseguir en tiempo en forma. Esta es una variante del anti-pattern “asignar tareas”. Una de las funciones principales de la reunión de planeamiento, es que el equipo (no uno, o dos miembros), discuta y tenga en claro los pasos y esfuerzos estimados para cumplir con lo que el product owner pide. Es común (y no debería serlo) que se tome eso tal cual, sin discusión, y sin haber pasado en limpio lo que implica comprometerse a realizar esas tareas.&lt;/p&gt;  &lt;p&gt;- Saltearse las retrospectivas: no hay tiempo, siempre se posponen. No: pare de olvidarse de esta reunión. La retrospectiva es una actividad, yo diría fundamental, para que el equipo madure y mejore. Es un “parar la pelota”, ver para atrás, y señalar qué se hizo bien, regular, o simplemente mal. Y, aun más importante: en la reunión se decide qué hacer para mejorar.&lt;/p&gt;  &lt;p&gt;Segundo:&lt;/p&gt;  &lt;h4&gt;Comience a hacer esto&lt;/h4&gt;  &lt;p&gt;- Limpie el camino para el avance. Haga que el equipo pueda avanzar, y quite los bloqueos que encuentre. Puede ser desde falta de hardware, hasta temas políticos de relación con otros departamentos. Eso permitirá que el equipo se concentre en lo que tiene que hacer, más que luchar con la fricción y los impedimentos. Cuando el equipo esté más maduro, podrán los propios miembros del equipo ocuparse de esto, tal vez rotando en la tarea por Sprint, pero al principio, habrá que permitir que el equipo crezca, sin tener que lidiar tan directamente con estos problemas.&lt;/p&gt;  &lt;p&gt;- Sea un facilitador y mentor. Como facilitador, vaya por el anterior punto. Como mentor, observe, comente, señale la actividad y actitud del equipo, proponga mejoras (no las imponga), sea un entrenador de cada persona, reconozca en qué son buenos, en qué son regulares, y trabaje con ellos para ir mejorando.&lt;/p&gt;  &lt;p&gt;- Mida el avance. El equipo se auto organiza, pero comience a medir el avance, y difundiendo esa medición. Esto hará que el equipo tenga una imagen de cuán bien o mal están yendo. Cualquier desviación del plan de trabajo, debe surgir lo más pronto posible, para que el equipo autoorganizado pueda detectar el problema, la causa, tomar una acción correctiva, y aprender a no caer de nuevo en ese paso.&lt;/p&gt;  &lt;p&gt;En un equipo maduro, cada miembro se ocupará, casi automáticamente, de estos puntos. Pero al principio, habrá que cultivarlos activamente. Con el tiempo, llega el momento en que el equipo “cuaja”: comienzan a entrar en pista, a ganar confianza, a ver que la forma de trabajo que eligieron funciona, y entran “en flujo”: una forma continua, rítmica, de avance, hacia el objetivo final.&lt;/p&gt;  &lt;p&gt;Varios de estos puntos los tomé, e interpreté y comenté a mi manera, del post:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://braintrustsoftware.wordpress.com/2009/02/16/building-self-managed-teams/" target="_blank"&gt;How to Build Self-Managed Teams&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Imagen tomada de: &lt;a title="http://www.skyjump.com/Pages/SkydivingPhotosVideos.html" href="http://www.skyjump.com/Pages/SkydivingPhotosVideos.html"&gt;http://www.skyjump.com/Pages/SkydivingPhotosVideos.html&lt;/a&gt; Photo by Phil Robertson&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1715059" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Tales from the Scrum: Ser easy to work with</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/11/tales-from-the-scrum-ser-easy-to-work-with.aspx</link><pubDate>Tue, 11 Aug 2009 11:12:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1714882</guid><dc:creator>lopez</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1714882</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/11/tales-from-the-scrum-ser-easy-to-work-with.aspx#comments</comments><description>&lt;p&gt;Ya sabemos que el avance en Scrum es un trabajo de equipo. Como miembro del equipo, uno tiene que colaborar con los otros miembros para conseguir que el trabajo avance. Una de las cualidades que deberíamos perseguir, para cada uno de nosotros y para el equipo, es lo que en inglés se escribe “easy to work with”: que los demás perciban que es fácil trabajar con nosotros.&lt;/p&gt;  &lt;p&gt;Como otros conceptos, puede ser más fácil describirlo con algunos ejemplos negativos:&lt;/p&gt;  &lt;p&gt;Si uno llega tarde a las reuniones diarias, reiteradamente y sin buenas razones y no avisa, eso no es ser “easy to work with”.&lt;/p&gt;  &lt;p&gt;Si uno hace una tarea y no informa que la terminó, o en qué estado la dejó, el resto del equipo no podrá aprovecharse de ese resultado, y Ud. no será “easy to work with&amp;quot;.&lt;/p&gt;  &lt;p&gt;Si Ud. codifica algo, y lo envía al repositorio de código, y está mal escrito, de forma que cualquiera que tome la última versión, encuentre una solución que no compila, eso es no ser “easy to work with”.&lt;/p&gt;  &lt;p&gt;Si cada tarea que Ud. termina, al revisarse para verificarla, se encuentra que tiene muchas correcciones a hacer, y esta situación se repite, entonces, Ud. no será “easy to work with”.&lt;/p&gt;  &lt;p&gt;Si lo que escribimos produce un aumento en las infracciones de Code Analysis, y otro tienen que pasarse un tiempo corrigiéndolas, y eso se repite, entonces no seremos “easy to work with”.&lt;/p&gt;  &lt;p&gt;En definitiva, si alguien, con su trabajo, produce un montón de trabajo EVITABLE en los demás, ese alguien no será “easy to work with”.&lt;/p&gt;  &lt;p&gt;Si alguien es así, a la larga pasará que nadie va a querer trabajar con él, y no confiarán en lo que produzca.&lt;/p&gt;  &lt;p&gt;Lo mismo puede pasar a nivel de equipo. Si como equipo entregamos la nueva versión del software al final del Sprint, y el cliente no tiene instrucciones para instalarlo, o tiene que armar una máquina virtual durante dos semanas para poder ejecutar lo que entregamos, no seremos “easy to work with”. La solución: ir mejorando en cada Sprint, para que lo entregable sea fácilmente consumible, por ejemplo, dándole una máquina virtual ya armada, y el software e instrucciones para correrla.&lt;/p&gt;  &lt;p&gt;Pero aparte de estos temas técnicos, hay temas de cualidades de relación con los demás, de los “soft skills” tan importantes en todo grupo. Veamos algunas cualidades para ser “easy to work with”:&lt;/p&gt;  &lt;p&gt;- Sea flexible. Si Ud. no es ágil para actuar en un ambiente cambiante, con requerimientos que se van modificando, tendrá problemas. Si Ud. es un cabezón que siempre cree tener la razón, y si no se la dan, se empaca, también tendrá problemas. A veces, hay que ser flexible, entender a los demás, y ver que no siempre se puede seguir el camino que a uno le parece mejor. Explore nuevas formas de hacer las cosas, no rechace algo de antemano solamente por que sí.&lt;/p&gt;  &lt;p&gt;- Sea un buen comunicador: no es indispensable, pero es bueno tener buenos comunicadores en el equipo. He visto buenos miembros de equipo, callados, pero que compensan esa escasa comunicación, siendo un “tanque Sherman”: gente que toma una tarea, y la termina, sí o sí y con calidad. Pero volvamos a la comunicación: es importante, porque no todo es código. Recordemos que lo que hacemos lo tenemos que mostrar, tenemos que informarlo, tenemos que interactuar con los clientes. Si todo lo que hacemos es maravilloso, pero no lo comunicamos, es como si no lo hubiéramos hecho. A veces, uno piensa que armar una presentación es una pérdida de tiempo, pero no: puede ser la pieza clave que falta para conseguir apoyo de los interesados en el proyecto. Si Ud. es un buen comunicador, otras partes (otros equipos, product owner, stakeholders, clientes, usuarios) querrán interactuar con Ud. Y será alguien “easy to work with”, no un erizo a evitar.&lt;/p&gt;  &lt;p&gt;- Esté disponible. No hace falta estar disponible 24 horas, 7 días. Si el equipo se organiza, se debería organizar todo para cinco días a la semana, y 10 a 18hs. Pero en ese tiempo, si alguien necesita su ayuda, tenga planeado tiempo libre para poder ayudarlo. En la reunión diaria no tiene que comprometer las 8hs de trabajo: es de profesional, reconocer que hay tareas que pueden surgir, y reservar entonces tiempo para esos casos que pueden aparecer en el transcurso del día. Cuando alguien vaya a preguntarle algo o a pedirle ayuda, irá con la expectativa “Fulano me va a ayudar”. Otra forma, indirecta, de estar disponible, es haber escrito instrucciones de cómo usar algo, o dejado información sobre lo que uno hizo. Por ejemplo, si Ud. diseñó un parte del sistema, si alguien quiere preguntarle sobre una decisión de diseño, puede hacerlo, pero si no está disponible (está enfermo, de vacaciones), que por lo menos pueda encontrar fácilmente un documento (no tiene que ser extenso ni “fancy”) que explique lo que hizo.&lt;/p&gt;  &lt;p&gt;- Sea positivo: Si cada vez que abra la boca, es para tirar abajo algo, pasarán dos cosas: la gente lo evitará, o dejarán de tomarlo en cuenta. “Ahí viene el tiramerdis” pensarán cuando lo vean venir. No confundir una actitud positiva con un “está todo bien” a ultranza. Hay que reconocer los problemas. Solamente hay que ser también, parte de la solución, o por lo menos, ayudar a que en equipo consigamos la solución. A quién quiere tener al lado al naufragar en una isla desierta? Alguien que diga: “Viste, yo te dije que no teníamos que venir, ahora está todo mal, no me hicieron caso…”, y se pase todo el día lamentándose así, o a alguien que diga: “Tenemos un problema, veamos como lo podemos solucionar”.&lt;/p&gt;  &lt;p&gt;- Sea honesto: si Ud. ve un problema, o tiene un bloqueo, o no sabe como encarar una tarea, dígalo. En el equipo tiene que reinar la honestidad y la comunicación. Acá no se busca castigar al que no sabe o no tiene tal capacidad. Si hay un problema en ciernes, lo mejor es comunicarlo. Si ve que hay algo mal en el equipo, dígalo. Pero también combine esto con todo lo de arriba: comuníquelo bien, sea positivo, no señale con el dedo a personas sino a problemas, vaya con algún atisvo de solución.&lt;/p&gt;  &lt;p&gt;- Diviértase: nadie quiere a un “caracúlico” al lado todo el día… :-)&lt;/p&gt;  &lt;p&gt;Habría tanto para comentar. Pienso que en todas las relaciones, más allá de un equipo de Scrum, tenemos que ir cultivando el ser alguien “easy to work with”. Ud. puede ser el gran gurú en un tema, pero estará solo y no conseguirá nada, si los otros no ven en Ud. alguien en quien pueden confiar, alguien con quien sea fácil trabajar.&lt;/p&gt;  &lt;p&gt;Para las últimas cualidades, consulté y expuse a mi manera, lo del post:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.to-done.com/2006/01/be-easy-to-work-with/" target="_blank"&gt;Be easy to work with&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1714882" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item></channel></rss>