<?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</title><link>http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx</link><description>Tags: Scrum</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><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>Tales from the Scrum: el Product Owner y el Product Backlog</title><link>http://msmvps.com/blogs/lopez/archive/2009/11/28/tales-from-the-scrum-el-product-owner-y-el-product-backlog.aspx</link><pubDate>Sat, 28 Nov 2009 11:01:47 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1742698</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=1742698</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/11/28/tales-from-the-scrum-el-product-owner-y-el-product-backlog.aspx#comments</comments><description>&lt;p&gt;Quisiera hoy detenerme en uno de los roles de Scrum: el Product Owner&amp;#160; (podría traducirlo por “dueño del producto”, pero voy a seguir la costumbre de usar la denominación en inglés), y en particular, en una de sus actividades.&lt;/p&gt;  &lt;p&gt;La principal actividad, que le compete completamente, es el mantenimiento de los items del Product Backlog, y sus prioridades. Recordemos que el Product Backlog es el documento que lista la funcionalidad que esperamos del producto terminado. Esta lista es evidentemente importante: mal armada, puede hacer que el producto a entregar no sea el que el cliente final necesita.&lt;/p&gt;  &lt;p&gt;Esa lista no la decide el Equipo, y menos el Scrum Master. Lo decide el cliente, en reuniones anteriores al inicio del proceso, donde pueden intervenir distintos interesados, pero de ahí en más es el Product Owner el responsable de mantenerlo (un Product Backlog puede cambiar con el tiempo, no es un documento escrito en piedra). Este es el responsable de entender, mantener, y conocer las prioridades de esta lista, del que saldrá el producto que entregaremos al final del proceso.&lt;/p&gt;  &lt;p&gt;Es común, si no se conoce Scrum, querer priorizar los items por su orden “lógico” de desarrollo. No: la idea es priorizar por importancia para el negocio, para lo que necesita el cliente. De ahí que las prioridades no las decide el Equipo, sino el Product Owner.&lt;/p&gt;  &lt;p&gt;Esto implica que la persona que encarne ese rol, debe conocer del negocio del cliente. Debe tener contacto con los principales actores de la actividad del negocio, entenderlo, y debe conocer cuáles son las áreas importantes. Demos un ejemplo.&lt;/p&gt;  &lt;p&gt;Si tenemos que desarrollar un sistema de seguros en línea, el Product Owner deberá decidir qué partes del sistema a entregar darán más valor al negocio, y por qué. Tal vez, el grueso del negocio sean los seguros de vida, o tal vez el seguro de camiones, o quizás el seguro de autos. Dependiendo de ese dato, se podrá priorizar el tener una aplicación para calcular un seguro de vida, antes que uno de autos. No se comienza por lo “más fácil”, o por “lo que nos están pidiendo ahora”, sino por lo más importante.&lt;/p&gt;  &lt;p&gt;Si un equipo técnico tuviera que decidir sobre esos puntos, seguramente tomaría primero el tener una base de datos, o un sistema de seguridad, o cualquier otro punto. No es la idea en Scrum: la idea es entregar, al final de cada Sprint, iteración, algo que agregue valor. Por supuesto, lo entregado deberá cumplir con la calidad esperada por el cliente, pero debe estar alineado con los items del Product Backlog, armado y priorizado por el Product Owner.&lt;/p&gt;  &lt;p&gt;Como escribía más arriba, el Product Backlog inicial no es necesariamente EL Product Backlog final. Pero los cambios, de items, de prioridades, deben ser hechos por el Product Owner. El Equipo podrá levantar la mano, sugerir cambios, pero la decisión de cualquier modificación, recae en el Product Owner. Y éste no deberá cambiar los items por cualquier causa: deberá consultar con los interesados en el proyecto, con los que conocen del negocio, y estar atento a cualquier cambio en el entorno, para poder priorizar los items que son necesarios mantener en el Product Backlog.&lt;/p&gt;  &lt;p&gt;Vean entonces, la importancia del rol del Product Owner. De hecho, hay cursos especiales de entrenamiento de Product Owners, en el ambiente de Scrum. Muchas de las decisiones importantes pasan por él. Por supuesto, no son decisiones en solitario, consulta y recibe asesoramiento de otros interesados. Pero un Product Owner debe ser alguien que realmente se empape del negocio y del producto que queremos lograr. Puede que no sepa todo, pero debe tener el acceso a la información y al conocimiento de otras personas, y tener una mente y actitud de aprendizaje y atención al negocio.&lt;/p&gt;  &lt;p&gt;Uno de los anti-patrones de Scrum que mencionaba en el post &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/10/29/tales-from-the-scrum-anti-patrones-de-sprint.aspx" target="_blank"&gt;Anti-Patrones de Sprint&lt;/a&gt; era &lt;strong&gt;Demasiados cambios en los requerimientos, entre Sprints&lt;/strong&gt;. Román Mussi comentaba:&lt;/p&gt;  &lt;p&gt;Angel, sobre esto:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;Demasiados cambios en los requerimientos, entre Sprints&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Esto no estaría dependiendo del Product Owner? Y en ese caso... como puede intervenir el ScrumMaster para mitigar el problema?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Ciertamente, es un problema que puede nacer de un Product Backlog cambiante. Quisiera aclarar que los cambios pueden ser necesarios: tal vez el negocio de seguros cambión, y la plata ahora está en asegurar camiones: los seguros de vida donde poníamos nuestras fichas fueron afectados por algo, como la llegada de un competidor del extranjero, un cambio en la legislación, o lo que sea. Y esos cambios, el equipo debe enfrentarlos, sin perder impulso, sin sentir el “dolor del cambio”. Scrum, como todo lo ágil, está preparado para fomentar la aceptación del cambio, no de luchar contra él. Pero el anti-patrón aparece si los cambios no son producidos por una nueva evaluación del negocio.&lt;/p&gt;  &lt;p&gt;Los cambios así sin sentido de negocio, pueden venir de varias causas. Por ejemplo, un Product Backlog débil inicialmente, que no estaba claro al comienzo, puede ir mejorando al ir entendiéndose mejor el producto a producir, y el negocio en el que está inserto. Igualmente, pediría tratar de evitar esta situación: antes de lanzar el proceso, debería quedar más claro el Product Backlog. No habría que escatimar esfuerzo en tener un buen Product Backlog. Insisto: puede que no sea el final, pero deberíamos haber invertido un tiempo para no desperdiciar tiempo y esfuerzo del equipo. Es claro que no esperamos un “gran diseño inicial”, no es un tema de diseño técnico: es tema de sentido común, sobre lo que queremos obtener.&lt;/p&gt;  &lt;p&gt;Pero, por lo menos, si lo anterior tiene olor de anti-patrón inicial, por lo menos el documento evoluciona hacia algo mejor, más firme. Pero otra causa para que aparezca “mal olor” en el Product Backlog (más frecuente de lo esperado, en especial en proyectos largos), es ceder a las presiones externas: de pronto, por atender lo urgente (“tenemos que tener en línea los seguros de autos para la exposición Car2009 que comienza dentro de un mes”), o requerimientos internos de gente con poder en el cliente (“mi división necesita los seguros de camiones para ayer”), el Product Owner cede y cambia el Product Backlog. A ver, pongamos alguna aclaración y contexto: si realmente el futuro de la empresa depende del impacto que tenga en la exposición de autos que viene, entonces es válido el cambio (yo preguntaría entonces: esa exposición estaba planeada desde hace un año, por qué ese cambio de dirección no se previó antes?). Pero si solamente es un cambio promovido por urgencia, y no por importancia, estamos atacando el proceso.&lt;/p&gt;  &lt;p&gt;De alguna forma, todo lo ágil, más allá de Scrum, nos trata de proteger del síndrome “lo urgente mata lo importante”. El Product Backlog es el documento primordial, que guía las decisiones del resto del proyecto. El tener un Product Backlog “manteca”, que cambia de forma a cada momento, o según “cómo calienta el sol”, que se modifica incluso en el medio del Sprint (los dioses de Scrum no lo permitan!!), es síntoma de estar reaccionado a lo urgente, en vez de actuando sobre lo importante. El Product Owner, ayudado por el Scrum Master, y el compromiso de la dirección, deberá encarar ese problema.&lt;/p&gt;  &lt;p&gt;Espero que haya quedado claro la importancia del rol del Product Owner (en mi postura, el eslabón más débil en Sprint, por ser el que concentra tantas decisiones), y la salud del Product Backlog. Pienso que agregando ejemplos negativos al final, quedó mejor transmitido ese mensaje. He visto proyectos bien llevados, donde todo esto pasa desapercibido, justamente, porque es lo natural. Poner énfasis en los problemas, nos ayuda a entender por qué funciona un proyecto Scrum bien manejado.&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=1742698" 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+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: Anti-patrones de Sprint</title><link>http://msmvps.com/blogs/lopez/archive/2009/10/29/tales-from-the-scrum-anti-patrones-de-sprint.aspx</link><pubDate>Thu, 29 Oct 2009 11:34:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1736087</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=1736087</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/10/29/tales-from-the-scrum-anti-patrones-de-sprint.aspx#comments</comments><description>&lt;p&gt;Recordemos: el Sprint es la iteración en Scrum: puede durar una, dos semanas, o un mes. Eso se decide según el proyecto y el equipo. En los primeros tiempos de Scrum se elegía un mes, pero ahora se prefieren sprints más cortos: una de las razones es para responder a cambios más rápidos.&lt;/p&gt;  &lt;p&gt;El Sprint se inicia con una reunión de Sprint Planning, donde se expone el estado actual del Product Backlog (la lista de requerimientos del producto que estamos armando), y se arma el Sprint Backlog (la lista de tareas que se eligen para ese Sprint). El Sprint termina con la reunión Sprint Review, donde se presenta el nuevo estado del producto. Cada día, el equipo se reúne, y realiza la reunión diaria de Scrum, para informar el estado y comprometerse a las tareas de ese día. El ScrumMaster va acompañando al equipo para que aplique Scrum de forma efectiva.&lt;/p&gt;  &lt;p&gt;De vez en cuando, aparecen, aún equipo saludables, algunas actitudes y actividades que podemos denominar anti-patrones: no están alineadas con los principios de lo ágil y de Scrum. Veamos algunas:&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Tomar demasiadas tareas para el Sprint&lt;/strong&gt;: el equipo, entusiasmado (o presionado), toma más tareas que las que son materialmente cumplibles. Un equipo maduro conoce su fuerza y capacidad, y sabe hasta dónde puede llegar en cada Sprint.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;No partir bien las tareas del Sprint&lt;/strong&gt;: Relacionado con lo anterior. Una de las actividades de la Sprint Planning es enumerar las tareas que serían necesarias para avanzar con los items más prioritarios del Product Backlog (armado por el Product Owner). La lista de tareas tiene que estar bien armada (no olvidarse de ninguna). Luego se evalúa el tiempo y esfuerzo necesario para cada tarea. Y acá he visto muchas veces esto: el equipo no parte la tarea en subtareas. Si una tarea no se parte de esa manera, es más difícil evaluarla. Yo recomendaría partir cada tarea en subtareas que puedan evaluarse en tiempo de horas. Si una tarea es “armar los reportes contables”, no dejarlo así enunciada. Pasarla a la lista de subtareas, y evaluar una por una. Por ejemplo: una lista de esos reportes, y a su vez, dividir en programar el reporte, verificarlo, documentar en el manual de usuario, armar el script de instalación, e instalarlo en el servidor de pruebas. Si no se parten adecuadamente las tareas, no podemos evaluar bien el tiempo que emplearemos. No tiene que ser una partición definitiva: se puede ir refinando con el correr del Sprint. El llevar el detalle a subtareas de horas, que puedan realizarse en fracciones de días, tiene también otra ventaja: quedan disponibles para que se tomen en la reunión diaria: la tarea de cada miembro debería ser poder terminada en el mismo día. Sino, debería anunciar qué parte de la tarea toma, y a qué punto de avance se compromete a llegar en ese día.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Una tarea para un miembro&lt;/strong&gt;: cada día, debería cada miembro del equipo tomar una tarea, para seguir avanzando en el cumplimiento de lo que se comprometió para este Sprint. Pero puede pasar, que una tarea queda por siempre asignada a un miembro del equipo. No es la idea de Scrum: un miembro no toma esa tarea para él por todo el Sprint. La tarea es del equipo. Que haya un miembro del equipo más capacitado para llevarla a cabo, no implica que sólo él se encargue de la tarea. Debería por lo menos hacer “pair programming”, ir educando a alguien más en el equipo, para no caer en eso de “esta tarea es para Juan” y sólo para él.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Entregar trabajo no terminado&lt;/strong&gt;: Iba a poner “o terminado parcialmente”. Pero no debería existir ese concepto en un Sprint. La idea es entregar una tarea, bien terminada, bien hecha. Prefiero que un equipo tome una sola tarea, y la termine bien, a que encare cuatro tareas y finalmente, a cada una le falta algo para ser considerada realmente “hecha”. Muchas veces, el equipo piensa que de esta forma va avanzando: entregar 10 tareas, aunque no estén bien terminadas. Y piensa que así es mejor. Pero la experiencia muestra que el trabajo adicional de revisarlas y completarlas más adelante, no se puede soslayar. O si lo salteamos, habremos entregado producto sin una calidad y terminación adecuada. No hay que “patear para adelante” este tipo de cosas.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;No verificar el trabajo&lt;/strong&gt;: En el trabajo de cada, se va cumpliendo con las tareas, pero no se verifican. Así, puede pasar que lo que un miembro consideró como terminado, en realidad le falta algún detalle. Hay que recordar que el trabajo debe ser entregado de forma tal, que tenga la menor cantidad de errores o problemas al usarlo. No es cuestión de “termino tal tarea, cualquier problema me lo van a informar en el próximo Sprint”. No es la idea. El espíritu es&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Tener un Sprint de “estabilización del producto”&lt;/strong&gt;: Como las tareas se fueron entregando de forma no “totalmente hecha”, se elige un Sprint para “pulir” el producto, revisando lo entregado, para mejorarlo y corregir pequeños temas. De nuevo, no es la idea: no debería haber, en lo posible, este tipo de “estabilización”. En vez de haber entregado esas tareas de forma parcial, se deberían haber entregado menos tareas, pero bien terminadas. Como digo, el producto de cada Sprint debe venir “en paquete con moñito”: evitar la entrega parcial.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;No hacer “pair programming”&lt;/strong&gt;: si bien Scrum no exige esto, he visto que es común que alguna disciplina ágil, como la programación de a pares, se saltea siempre. Ya sea porque el equipo es pequeño y hay muchas tareas, o por la razón que sea, todas las tareas se ejecutan individualmente. El trabajo de a pares facilita la terminación de la tarea, dos cabezas piensan más que una, hasta se verifica mejor el trabajo entregado, y tiene un beneficio adicional: la integración del equipo.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Demasiados cambios en los requerimientos, entre Sprints&lt;/strong&gt;: Esto va más allá del Sprint, pero puede pasar: de Sprint a Sprint, los items del Product Backlog y sus prioridades, van cambiando demasiado. Lo que era prioridad hoy, mañana ya no es. Lo que se pidió para este Sprint “porque era importante”, resulta que para el próximo sprint ya no se tiene en cuenta. Tal cantidad de cambios, es indicación de una falta de rumbo. Y puede llegar a desmotivar a un equipo: ve que cada cosa que va armando, al final, no se usa, y se tiene que dedicar a cada momento a otra cosa.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Olvidarse de la retrospectiva&lt;/strong&gt;: una reunión importantísima del marco de trabajo Scrum. Parece que esta reunión muchas veces queda en el camino. Con el gusto diario de hacer tareas, con la concentración que implica el Sprint Planning, con la excitación de la entrega en el Sprint Review, al final, no hay tiempo o nos olvidamos de hacer la reunión de retrospectiva. Un gran error: es la gran oportunidad del equipo para reflexionar sobre lo que está haciendo y sobre la salud del proceso.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Saltearse algún Daily Standup Meeting&lt;/strong&gt; (la reunión diaria): Alguna vez, por temas de tiempo, de organización de un día en particular, se saltea esta reunión. Si una parte del equipo no puede asistir (ejemplo: fue a una reunión de capacitación), se debe acordar: o la realizamos igual, aunque sea con dos miembros, y luego, si se reintegra el resto del equipo, hacemos una sincronización; o la pasamos ese día a otro horario. Pero les recomendaría no saltearse esta reunión.&lt;/p&gt;  &lt;p&gt;El primer paso para ir corrigiendo estas situaciones, es darse cuenta: esa es la función de la retrospectiva. El segundo paso: no corregir todo de una, sino ir encarando problema por problema: comprometerse mejorar en un punto, y revisar la mejora en la próxima retrospectiva.&lt;/p&gt;  &lt;p&gt;Post relacionado: &lt;a title="Tales from the Scrum- Anti-patterns de la reunión diaria" href="http://msmvps.com/blogs/lopez/archive/2009/08/07/tales-from-the-scrum-anti-patterns-de-la-reuni-243-n-diaria.aspx"&gt;Tales from the Scrum- Anti-patterns de la reunión diaria&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=1736087" 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+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>0</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>Resultado de la VAN en ALT.NET Hispano sobre Scrum</title><link>http://msmvps.com/blogs/lopez/archive/2009/09/18/resultado-de-la-van-en-alt-net-hispano-sobre-scrum.aspx</link><pubDate>Fri, 18 Sep 2009 10:04:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1724686</guid><dc:creator>lopez</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1724686</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/09/18/resultado-de-la-van-en-alt-net-hispano-sobre-scrum.aspx#comments</comments><description>&lt;p&gt;Gracias a la comunidad de Alt.NET Hispano, en especial a &lt;a href="http://twitter.com/jorgegamba" target="_blank"&gt;@jorgegamba&lt;/a&gt;, de Colombia, que me ayud&amp;oacute; a tener todo preparado, pude participar en&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/09/04/van-en-alt-net-hispano-sobre-scrum.aspx" target="_blank"&gt;VAN en ALT.NET Hispano sobre Scrum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hubo varios participantes, a destacar Gustavo Quiroz y Raul Uribe de Agile Per&amp;uacute;. Tambi&amp;eacute;n me encontr&amp;eacute; con el bueno de &lt;a href="http://twitter.com/fabiomaulo" target="_blank"&gt;@fabiomaulo&lt;/a&gt;, que plante&amp;oacute; lo dif&amp;iacute;cil que es llevar a cabo un proyecto &amp;aacute;gil usando Scrum, ante la falta de un due&amp;ntilde;o de producto concreto.&lt;/p&gt;
&lt;p&gt;Pueden ver la desconferencia en video, enlaces y recursos en:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://altnet-hispano.pbworks.com/vanhispano-2009-09-06"&gt;VAN Hispano - 2009-09-06&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.todocontenidos.com/images/articles/scrumvan01.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Ah&amp;iacute; hice mi habitual presentaci&amp;oacute;n sobre Scrum, cambiando el orden de algunos temas, y limit&amp;aacute;ndola a 45 minutos, para dar cabida a la discusi&amp;oacute;n y consultas en el resto de la charla. No pude interactuar al principio, porque ten&amp;iacute;a un problema en mi audio: no pod&amp;iacute;a escuchar a los dem&amp;aacute;s. Luego pude solucionarlo, e integrarme al grupo en la segunda hora de la desconferencia.&lt;/p&gt;
&lt;p&gt;Me gusta mucho que una actividad realizada deje una traza en google, de esta forma: los que no pudieron participar, igual pueden ahora consultar lo que se hizo, y aprovechar las discusiones, opiniones, enlaces y recursos que fueron apareciendo en la charla. Hemos visto la luz! :-) :-)&lt;/p&gt;
&lt;p&gt;Y YA se viene una nueva VAN:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://groups.google.com/group/altnet-hispano/browse_thread/thread/7fc6f796954bccea?hl=es" target="_blank"&gt;Invitaci&amp;oacute;n a VAN Hispano S&amp;aacute;bado 19 de septiembre - ORM con Fabio Maulo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Para alquilar balcones! :-)&lt;/p&gt;
&lt;p&gt;Tienen siempre para visitar, los videos y recursos de las anteriores reuniones:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://altnet-hispano.pbworks.com/Historial-de-reuniones" target="_blank"&gt;Historial de reuniones&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;ldquo;Java&amp;rdquo; 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=1724686" 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+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>VAN en ALT.NET Hispano sobre Scrum</title><link>http://msmvps.com/blogs/lopez/archive/2009/09/04/van-en-alt-net-hispano-sobre-scrum.aspx</link><pubDate>Fri, 04 Sep 2009 10:23:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1720675</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=1720675</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/09/04/van-en-alt-net-hispano-sobre-scrum.aspx#comments</comments><description>&lt;p&gt;El domingo que viene, habrá una reunión virtual del grupo ALT.NET Hispano, sobre el tema Scrum. Yo participaré dando una introducción de algunos temas:&lt;/p&gt;  &lt;p&gt;- Marco de Trabajo Scrum    &lt;br /&gt;- Roles: Team, Product Owner, Scrum Master     &lt;br /&gt;- Product Backlog y Sprint Backlog     &lt;br /&gt;- Ceremonias: Sprint Planning, Sprint Review, Daily Scrum, Sprint     &lt;br /&gt;Retrospective&lt;/p&gt;  &lt;p&gt;En general, las reuniones duran 2 horas, y en las últimas, los asistentes han participado activamente, con preguntas y dudas y planteos. Así que no es una típica charla de presentación de un tema, sino que también habrá discusión. Mi idea es presentar los temas de arriba rápidamente, en 45 minutos, y dejar documentación adicional por acá.&lt;/p&gt;  &lt;p&gt;No tengo la confirmación, pero espero que participen también Raul Uribe y Gustavo Quiroz. La hora, no la vi publicada en el sitio de ALT.NET Hispano, pero supongo que será la habitual, 18:00 GMT (15hs en Buenos Aires, Argentina). En cuanto pueda, actualizo el post, con los datos en concreto.&lt;/p&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;&lt;/p&gt;  &lt;p&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;&lt;/p&gt;  &lt;p&gt;Pueden ver &lt;a title="el historial de anteriores reuniones VAN" href="http://altnet-hispano.pbworks.com/Historial-de-reuniones"&gt;el historial de anteriores reuniones VAN&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=1720675" 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+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>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>2</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><item><title>Tales from the Scrum: Anti-patterns de la reunión diaria</title><link>http://msmvps.com/blogs/lopez/archive/2009/08/07/tales-from-the-scrum-anti-patterns-de-la-reuni-243-n-diaria.aspx</link><pubDate>Fri, 07 Aug 2009 09:49:07 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1714033</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=1714033</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/08/07/tales-from-the-scrum-anti-patterns-de-la-reuni-243-n-diaria.aspx#comments</comments><description>&lt;p&gt;Hace unos días escribía sobre la reunión diaria de Scrum:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/07/27/tales-from-the-scrum-la-reuni-243-n-diaria-de-standup.aspx" target="_blank"&gt;Tales from the Scrum: la reunión diaria de standup&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;describiendo cómo se desarrollaba, y cuáles eran las motivaciones para ese tipo de reunión. Quiero hoy enumerar algunos anti-patrones que deberíamos tratar de evitar:&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Llegar tarde a la reunión&lt;/strong&gt;. Se debería planificar la reunión para que todos puedan llegar. Si no todos están a las 9hs, pueden planearla para las 10hs, pero una vez consensuado el horario, habría que exhibir puntualidad. No llegar a tiempo, no un día, sino varios, indica que no hay manejo de los tiempos por parte del miembro infractor, o que tiene otros problemas, que deberá plantear al equipo.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Hacerla unos días y otros no&lt;/strong&gt;. La reunión se llama “diaria” por alguna razón, capisce???&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Hay diálogos&lt;/strong&gt;. En vez de que cada miembro conteste las tres preguntas de rigor, se producen diálogos entre los miembros, con preguntas, respuestas, aclaraciones, descripciones detalladas de algo, discusiones, etc… No, todo eso se debe tratar en otra reunión, que perfectamente pueden organizar en el momento, luego del daily scrum.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Largas contestaciones&lt;/strong&gt;. Las respuestas a las tres preguntas, en vez de ser concisas, terminan en largos discursos, explicando cada detalle de lo que se hizo y se piensa hacer. Hay que explicar brevemente qué se hizo, pero no cómo. Cualquier detalle importante a comunicar al resto del equipo, debería haber quedado en algún informe de estado o documento.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Se toman tareas sin respetar prioridades del backlog&lt;/strong&gt;. No se conoce el backlog, o se toman las tareas que más nos simpatizan, en vez de tener en cuenta la prioridad dada por el sprint backlog.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Todos le hablan a una persona&lt;/strong&gt;. En vez de ser una reunión de información al equipo y sincronización, todos le habla a una persona, una especie de Program Manager implícitamente nombrado.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Una persona reparte los trabajos&lt;/strong&gt;. Alguien va dando tareas a cada miembro, en vez de que cada uno elija alguna tarea según las prioridades del sprint backlog.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Estar distraído&lt;/strong&gt;. Seguir contestando emails, mensajería instantánea, o leyendo Twitter.&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Falta de time-boxing&lt;/strong&gt;. No se plantea que la reunión tiene un tiempo acotado, y no termina en un horario determinado.&lt;/p&gt;  &lt;p&gt;Debe haber más anti-patrones. Los mencionados atentan contra la idea de lo que debe ser una daily meeting. Recuerden que es la actividad más frecuente de Scrum, y una forma de tomar el pulso del equipo, de la salud del proceso, día a día. Es una actividad importantísima, que permite ir detectando cualquier desviación en el desarrollo de la iteración.&lt;/p&gt;  &lt;p&gt;Otros posts a leer:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.softwareishardwork.com/2008/07/agile-anti-pattern-daily-pseudo-scrum.html" target="_blank"&gt;Agile anti-pattern: the Daily Pseudo-Scrum Meeting&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://coolthingoftheday.blogspot.com/2008/07/scrum-team-anti-patterns-how-to-piss.html" target="_blank"&gt;Scrum team Anti-patterns: How to piss off your ScrumMaster&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.agile42.com/cms/articles/2009/6/16/Scrum-risks/" target="_blank"&gt;Scrum – Challenges, Risks &amp;amp; Anti-Pattern&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=1714033" 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>