<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChileÁgil &#187; Metodologías</title>
	<atom:link href="http://www.chileagil.cl/category/metodologias/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chileagil.cl</link>
	<description>Comunidad Ágil y Lean de Chile</description>
	<lastBuildDate>Sat, 28 Jan 2012 19:23:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Clinica Agil/Lean para Líderes de equipos tecnológicos (Santiago Mayo y Junio 2011)</title>
		<link>http://www.chileagil.cl/2011/04/27/clinica-agillean-para-lideres-de-equipos-tecnologicos-santiago-abrilmayo-2011/</link>
		<comments>http://www.chileagil.cl/2011/04/27/clinica-agillean-para-lideres-de-equipos-tecnologicos-santiago-abrilmayo-2011/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 03:00:48 +0000</pubDate>
		<dc:creator>avillena</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Customer Development]]></category>
		<category><![CDATA[eXtreme Programming]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[clinicaagil]]></category>
		<category><![CDATA[kanban]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=1600</guid>
		<description><![CDATA[INSCRIBETE HACIENDO CLICK AQUÍ. Lugar: &#8220;Mapocho Plex&#8221; Huelén 164 piso 2 Fecha y Horario: Semanalmente desde Lunes 2 de Mayo de 2011, de 19:30 a 21:30. Pre-requisitos El pre-requisito principal es tener un equipo que desarrolle soluciones basadas en tecnología (web, software, diseño, etc) y estar interesado en implementar cambios basados en la cultura ágil [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://bit.ly/exlRXZ"><span style="font-size: large;">INSCRIBETE HACIENDO CLICK AQUÍ.</span><br />
</a></strong></p>
<p><strong>Lugar: </strong><br />
<em>&#8220;Mapocho Plex&#8221;</em> Huelén 164 piso 2</p>
<p><strong>Fecha y Horario:</strong><br />
Semanalmente desde Lunes 2 de Mayo de 2011, de 19:30 a 21:30.</p>
<p><strong>Pre-requisitos</strong></p>
<p>El pre-requisito principal es tener un equipo que desarrolle soluciones basadas en tecnología (web, software, diseño, etc) y estar interesado en implementar cambios basados en la cultura ágil</p>
<hr />
<div>
<div><a href="http://www.leansight.com/wp-content/uploads/2011/03/avillena_crisiscamp_japon1.png"><img class="alignright" title="Agustín Villena haciendo coaching en CrisisCamp Santiago Marzo 2011" src="http://www.leansight.com/wp-content/uploads/2011/03/avillena_crisiscamp_japon1.png" alt="Agustín Villena haciendo coaching en CrisisCamp Santiago Marzo 2011" width="373" height="309" /></a></div>
<div>
<ul>
<li><em>¿Tu equipo está sobrecargado de trabajo?</em></li>
<li><em>¿No sabes como priorizar entre los diversos clientes?</em></li>
<li><em>¿Tu equipo no tiene claro sus avances, o realiza trabajo duplicado?</em></li>
<li><em>¿Se repiten los mismos errores una y otra vez?</em></li>
<li><em>¿Eres cliente de un proveedor tecnológico y no sabes como hablar con él?</em></li>
<li><em>¿Te cuesta priorizar cuales son las funcionalidades más relevantes que deben ser implementadas?</em></li>
</ul>
</div>
<div>En mayo y junio de 2011 implementaremos una instancia para formar y acompañar a aquellas personas que tengan que &#8220;lidiar&#8221; con equipo de trabajo dentro del contexto de alta incertidumbre, en particular líderes de equipo de software y clientes de proyectos de desarrollo. La Agilidad permite alinear negocio con tecnología de manera periórdica generando relaciones profesionales productivas y gratificantes.</div>
<div>Se abordarán los  los siguientes contenidos:</div>
<div>
<ul>
<li>Actualizarse en principios y prácticas de gestion ágil</li>
<li>Técnicas de trabajo colaborativo ágil
<ul>
<li>Planning Game, o cómo alinear constantement el valor de negocio con las posibilidades tecnológicas<a href="http://c2.com/cgi/wiki?PlanningGame">http://c2.com/cgi/wiki?PlanningGame</a></li>
<li>Kanban <a href="http://www.limitedwipsociety.org/" target="_blank">http://www.limitedwipsociety.org</a></li>
<li>GameStorming <a href="http://www.gogamestorm.com/" target="_blank">http://www.gogamestorm.com/</a></li>
<li>Retrospectivas <a href="http://www.retrospectives.com/" target="_blank">http://www.retrospectives.com/</a></li>
</ul>
</li>
<li>Establecer un trabajo colaborativo entre líderes de diversas empresas, analizando los casos particulares, contrastando experiencias y transmitiendo experiencia.</li>
<li>Y lo más importante:<strong> Aplicar los aprendido a la realidad de cada asistente</strong></li>
</ul>
<h1 style="text-align: center;"><a href="http://bit.ly/exlRXZ">Inscríbete Aquí</a></h1>
</div>
<div>El formato de la Clinica es de sesiones semanales junto al resto de los  participantes, de aproximadamente 2 hrs, mas acompañamiento remoto, todo  esto por un periodo de 8 semanas, los lunes de 19:30 a 21:30 en grupos de aproximadamente 10 personas (si se excede este cupo se realizará un taller paralelo los miércoles a la misma hora), según el siguiente calendario:</div>
<div><a href="http://www.chileagil.cl/wp-content/uploads/2011/04/clinica-calendario.png"><img class="aligncenter size-medium wp-image-1622" title="clinica-calendario" src="http://www.chileagil.cl/wp-content/uploads/2011/04/clinica-calendario-300x197.png" alt="" width="300" height="197" /></a></div>
</div>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2011/04/27/clinica-agillean-para-lideres-de-equipos-tecnologicos-santiago-abrilmayo-2011/&via=&text=Clinica Agil/Lean para Líderes de equipos tecnológicos (Santiago Mayo y Junio 2011)&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2011/04/27/clinica-agillean-para-lideres-de-equipos-tecnologicos-santiago-abrilmayo-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Workshop de Extreme Programming en Puerto Montt (Viernes 29 de abril, Universidad Austral)</title>
		<link>http://www.chileagil.cl/2011/04/18/workshop-de-extreme-programming-en-puerto-montt-28-de-abril/</link>
		<comments>http://www.chileagil.cl/2011/04/18/workshop-de-extreme-programming-en-puerto-montt-28-de-abril/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 23:11:08 +0000</pubDate>
		<dc:creator>avillena</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[eXtreme Programming]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[extremeprogramming]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=1625</guid>
		<description><![CDATA[INSCRIBETE HACIENDO CLICK AQUÍ. Lugar: Sede Puerto Montt Universidad Austral de Chile. Sala N° 25 Tercer piso Edificio Pabellón Salas (frente a Biblioteca). Pueden entrar por la entrada de los microbuses pues hay estacionamientos justo detrás del edificio. En este mapa es el edificio 8. Fecha y Horario: Viernes 29 de Abril de 2011, 9:00 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chileagil.cl/wp-content/uploads/2011/04/chileagil-puertomontt.png"><img class="size-medium wp-image-1626 alignright" title="chileagil-puertomontt" src="http://www.chileagil.cl/wp-content/uploads/2011/04/chileagil-puertomontt-300x210.png" alt="" width="300" height="210" /></a></p>
<p><span style="font-size: large;"><strong><a href="http://bit.ly/fauv82">INSCRIBETE HACIENDO CLICK AQUÍ.</a></strong></span></p>
<p><strong>Lugar: </strong></p>
<p>Sede Puerto Montt Universidad Austral de Chile. Sala N° 25 Tercer  piso Edificio Pabellón Salas (frente a Biblioteca). Pueden entrar por la  entrada de los microbuses pues hay estacionamientos justo detrás del  edificio. En <a href="http://www.pmontt.uach.cl/organizacion/ubicacion.htm">este mapa</a> es el edificio 8.</p>
<p><strong>Fecha y Horario:<br />
</strong>Viernes 29 de Abril de 2011, 9:00 a 17:30. Existirá un break de 1 hora para almorzar. Se puede almorzar en el casino de la universidad.</p>
<p><strong>Pre-requisitos, Ambiente de desarrollo e instrucciones de configuración</strong></p>
<p>El único pre-requisito es saber programar software. Las prácticas de desarrollo ágil serán ejemplificadas usando el lenguaje <a href="http://www.python.org/">python</a>, lo que no inhibe su posterior adpatación a otros ambientes de desarrollo.</p>
<p>Cada asistente debe llevar su equipo personal de desarrollo. <span style="color: #ff0000;">Tienen que llevarlo configurado <a href="http://www.chileagil.cl/archivepage/instrucciones-de-configuracion-equipos-para-workshop-agil/"><strong>siguiendo estas instrucciones</strong></a></span></p>
<hr />Desde hace dos años que ChileAgil no tiene actividad formal en el sur de Chile, que fue cuando fui invitado al <a href="http://www.ic.uach.cl/v2.1/index.php?option=com_k2&amp;view=item&amp;id=18%3Aplanning-game-en-puerto-montt&amp;Itemid=156&amp;limitstart=10">4to Congreso Austral de Ciencias de la Computación en Puerto Montt </a>y realizamos un juego de planificación ágil conocido como Extreme Hour.</p>
<p>Aprovechando una nueva invitación, esta vez por la organización <a href="http://www.me.cl">Mujeres Empresarias</a> para contarles de mi experiencia en redes sociales (ganada gracias a ChileÁgil <img src='http://www.chileagil.cl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) me ha invitado a  Puerto Varas para fines de mes a un encuentro con profesionales emprendedoras y no puedo dejar pasar la oportunidad de hacer un taller en donde, en un día, se viva en la práctica un proyecto ágil desde su diseño hasta su implementación usando Diseño Guiado por Tests. Entre otros temas, veremos:</p>
<ul>
<li>Diseño de un ecosistema de objetos simples que conforman un sistema complejo, usando tarjetas Clase, Responsabilidad, Colaborador</li>
<li>Implementación incremental de un sistema usando Dimensional Planning</li>
<li>Programación de objetos con calidad intrínseca usando Test Driven Development (Desarrollo Guiado por Tests)</li>
</ul>
<p>Todo esto con una metodología 100% aplicada (no me gusta teorizar <img src='http://www.chileagil.cl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) para que se lo lleven a sus lugares de trabajo <img src='http://www.chileagil.cl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Este taller se realizará el día viernes 28 de abril en Puerto Montt, en la Escuela de Ingeniería de la Universidad Austral. Para conocer costos , consulten en el <a href="http://www.leansight.com/?page_id=7">siguiente formulario de contacto</a>.</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2011/04/18/workshop-de-extreme-programming-en-puerto-montt-28-de-abril/&via=&text=Workshop de Extreme Programming en Puerto Montt (Viernes 29 de abril, Universidad Austral)&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2011/04/18/workshop-de-extreme-programming-en-puerto-montt-28-de-abril/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lean StartUp &#8211; ¡Conoce a tus clientes! (charla webprendedor 2010)</title>
		<link>http://www.chileagil.cl/2010/11/30/lean-startup-%c2%a1conoce-a-tus-clientes-charla-webprendedor-2010/</link>
		<comments>http://www.chileagil.cl/2010/11/30/lean-startup-%c2%a1conoce-a-tus-clientes-charla-webprendedor-2010/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 22:25:23 +0000</pubDate>
		<dc:creator>avillena</dc:creator>
				<category><![CDATA[Customer Development]]></category>
		<category><![CDATA[eXtreme Programming]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[leansight]]></category>
		<category><![CDATA[leanstartup customerdevelopment extremeprogramming]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=1558</guid>
		<description><![CDATA[En el pasado Webprendedor 2010 me invitaron a hacer una charla sobre el nuevo miembro de la familia ágil : &#8220;lean startup&#8221;, que es la fusión entre la metodología de Customer Development de Steve Blank , orientada a validar de manera iterativa las hipótesis sobre las que se basa un emprendimiento, y las metodologías ágiles [...]]]></description>
			<content:encoded><![CDATA[<p>En el pasado <a href="http://www.webprendedor.com/">Webprendedor 2010</a> me invitaron a hacer una charla sobre el nuevo miembro de la familia ágil : &#8220;lean startup&#8221;, que es la fusión entre la metodología de <a href="http://steveblank.com/category/customer-development/">Customer Development </a>de <a href="http://en.wikipedia.org/wiki/Steven_Gary_Blank">Steve Blank</a> , orientada a validar de manera iterativa las hipótesis sobre las que se basa un emprendimiento, y las metodologías ágiles de desarrollo de software (en particular <a href="http://c2.com/cgi/wiki?ExtremeProgramming">eXtreme Programming</a>), lo que es fruto de la colaboración de Blank con el emprendedor tecnológico <a href="http://www.startuplessonslearned.com">Eric Reis</a>.</p>
<p>La presentación está disponible <a href="http://www.leansight.com/?p=76">aquí</a>.</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2010/11/30/lean-startup-%c2%a1conoce-a-tus-clientes-charla-webprendedor-2010/&via=&text=Lean StartUp - ¡Conoce a tus clientes! (charla webprendedor 2010)&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2010/11/30/lean-startup-%c2%a1conoce-a-tus-clientes-charla-webprendedor-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción al Desarrollo Ágil: Test Driven Development</title>
		<link>http://www.chileagil.cl/2010/11/19/introduccion-al-test-driven-development/</link>
		<comments>http://www.chileagil.cl/2010/11/19/introduccion-al-test-driven-development/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 15:57:18 +0000</pubDate>
		<dc:creator>vj</dc:creator>
				<category><![CDATA[TDD]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testdriven]]></category>
		<category><![CDATA[unit-test]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=1500</guid>
		<description><![CDATA[Introducción En Extreme Programming (XP) el Unit Testing es una práctica fundamental del ciclo de desarrollo al llevar a cabo un proyecto al permitir al equipo de desarrollo modificar y refactorizar el código existente sin miedo a romper funcionalidades, pues cada una de ellas tiene un test asociado que debe cumplirse y que, en principio, [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción</h1>
<p>En Extreme Programming (XP) el Unit Testing es una práctica fundamental del ciclo de desarrollo al llevar a cabo un proyecto al permitir al equipo de desarrollo modificar y refactorizar el código existente sin miedo a romper funcionalidades, pues cada una de ellas tiene un test asociado que debe cumplirse y que, en principio, verifican la validez de toda la “superficie de contacto” de cada uno de los módulos que conforman el sistema.</p>
<p>Esta capacidad de adaptarse al cambio es fundamental en proyectos ágiles, donde el cambio no es percibido como algo peligroso o nocivo, sino intrínseco a un proyecto y como un factor que debe ser tomado en cuenta en todo el proceso de gestión y desarrollo.</p>
<p>A pesar de esto, el Unit Testing requiere de mucha disciplina para llevarse a cabo, pues para cada funcionalidad que se desee agregar se debe escribir, antes que nada, uno o varios test que comprueben que la funcionalidad está implementada correctamente. Esta necesidad de escribir las pruebas antes de la funcionalidad propiamente tal nos obliga a escribir pruebas que no dependen del código que hayamos escrito (pues aún no existe) volviéndonos jueces más imparciales a la hora de evaluar nuestro trabajo.</p>
<p>Finalmente, el estar forzados a escribir tests antes de implementar funcionalidades nos obliga a considerar con más detenimiento las responsabilidades y diseño de éstas, lo que generalmente se traduce en código más robusto y entendible para otros desarrolladores.</p>
<p>El ímpetu por agregar funcionalidades constantemente o por deadlines inminentes son fuertes tentaciones para no escribir unit tests, pero debemos ser capaces de racionalizar que el escribir previamente tests de unidad ya estamos subconscientemente definiendo el comportamiento de nuestro nuevo método o función sin preocuparnos del código particular detrás de él, lo que nos da claridad al momento de definirlo, además que escribir código de buena calidad en este momento nos ahorra dolores de cabeza al tener que extenderlo o mantenerlo a futuro.</p>
<p>En este artículo damos una pincelada inicial al desarrollo guiado por tests (Test Driven Development) con un ejemplo práctico, mediante el cual nos podemos desvincular de las particularidades del lenguaje de programación o del problema y concetrarnos en el flujo del desarrollo. En particular tampoco nos vamos a concentrar en el círculo de gestión de proyecto o de generación de valor para el cliente.</p>
<h1>Nuestro ejemplo</h1>
<p>En este ejemplo, y como parte de un sistema más grande, se nos solicita implementar un “stack”, una estructura de datos que representa una pila de objetos, en el que podemos insertar elementos (“push”) y sacar elementos (“pop”) uno a uno y en orden predefinido, en el que cada vez que realizamos un “pop” sacamos el último elemento que fue insertado al stack.</p>
<p>Para este caso definimos las siguientes funcionalidades:</p>
<ul>
<li> Se deben poder crear stacks</li>
<li> Se debe poder insertar elementos en el stack mediante “push”</li>
<li> Se deben poder extraer elementos mediante “pop”
<ul>
<li>Si en este caso el stack está vacío, se debe gatillar un error o excepción</li>
</ul>
</li>
<li> Se debe poder consultar el tamaño (número de elementos) de un stack en cualquier momento</li>
</ul>
<h1>Definición de la plataforma</h1>
<p>Para llevar a cabo nuestro proyecto usaremos Python gracias a su flexibilidad y popularidad, además de requerir muy poco código inicial para definir funcionalidades.</p>
<p>Aquellos que no son familiares con Python no debieran tener mayores problemas siguiendo la guía pues el código es muy intuitivo, sólo se tiene que bajar el intérprete de Python si se ejecuta en Windows, pues en Linux y OS X viene incluido con el sistema operativo.</p>
<p>En principio podemos hacer unit testing escribiendo un programa común y corriente que llame los métodos de la clase que nos interesa y verifique manualmente sus resultados, pero dicha alternativa es engorrosa y de automatización no trivial. En vez de eso usaremos unittest, una suite de testing automatizado para Python inspirada en JUnit, por lo que su comportamiento debiera ser familiar para quienes han hecho testing antes.</p>
<p>Apegándonos a la convenciones, implementaremos el stack como una clase llamada Stack y definida en el archivo stack.py, los tests correspondientes a esta misma clase los definiremos en una clase llamada TestStack y definida en el archivo test_stack.py</p>
<h1>Primera iteración</h1>
<h2>Test</h2>
<p>En principio tenemos que escribir un test para cada una de las funcionalidades que vamos a implementar, inclusive el hecho de que nuestra clase Stack esté definida por nosotros, por lo que la primera versión de nuestro archivo test_stack.py es como sigue:</p>
<pre lang="python">from stack import Stack</pre>
<p>Para ejecutar nuestro test simplemente ejecutamos</p>
<pre lang="bash">python test_stack.py</pre>
<p>De lo que obtenemos</p>
<pre lang="bash">Traceback (most recent call last):
  File "test_stack.py", line 1, in
    from stack import Stack
ImportError: No module named stack</pre>
<p>¿Parece un test muy trivial? Imaginémosnos que Python ya define una clase Stack como parte del lenguaje y también en el paquete stack, en ese caso el test no habría arrojado ningún error y habríamos notado de inmediato que algo anda mal, ahorrándonos el proceso de cambiar el nombre de la clase para no tener colisiones con la definición de Python.</p>
<p>Lo único criticable del test es que debiera “reportar” que no hay una clase Stack disponible en vez de caerse, algo que se puede corregir, pero que preferimos no hacerlo pues complicaríamos innecesariamente los test posteriores.</p>
<p>Implementación</p>
<p>Para hacer que nuestro test “pase” necesitamos definir la clase Stack en el archivo correcto (stack.py)</p>
<pre lang="python">class Stack:
    pass</pre>
<p>Necesitamos agregar el “pass” dentro de la clase pues aún está vacía, algo que es inválido en Python, por lo que se usa esa palabra clave para que no lance errores al momento de ejecutarse.</p>
<p>Si ejecutamos nuevamente el test ejecuta sin decir nada, lo que nos indica que aprobamos el primer test.</p>
<h1>Segunda iteración</h1>
<p>En esta ocasión vamos a testear e implementación la creación de stacks</p>
<h2>Test</h2>
<p>En esta ocasión nuestro test es más concreto que el anterior y aprovecha la biblioteca unittest. Para usarla, cada una de nuestras clases que se dediquen a la ejecución de tests tiene que heredar de la clase unittest.TestCase.</p>
<p>Una vez creada la clase, definimos los tests, que son todos los métodos dentro de la clase cuyo nombre empiece con “test” y que son llamados automáticamente cuando se ejecuta el test.</p>
<pre lang="python">import unittest
from stack import Stack

# Tests para la clase Stack
class TestStack(unittest.TestCase):
    # Test para verificar el constructor del stack
    def test_stack_creation(self):
        s = Stack()

if __name__ == '__main__':
    unittest.main()</pre>
<p>Cuando se carga el test se define la clase TestStack y, si es que llamamos explícitamente el test (“python test_stack.py”) la condición al final del archivo (que está fuera de la clase) es cierta y se ejecuta unittest.main(), que carga y ejecuta todos los test definidos en la clase TestStack y muestra los resultados.</p>
<p>Como no hemos definido un constructor para Stack es natural que esperemos que nuestro nuevo test falle, pero al ejecutarlo nos damos cuenta que, si bien el test carga, no hay ningún error</p>
<pre lang="bash">.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK</pre>
<p>Esto se debe a que Python crea un constructor vacío para sus nuevas clases si estas no lo definen, así que, lamentablemente, tendremos que aceptar que el test no tuvo la oportunidad de “fallar”</p>
<p>Implementación</p>
<p>No hay cambios a la clase Stack</p>
<h1>Tercera iteración</h1>
<p>Ahora testearemos e implementaremos la inserción (“push”) y remoción (“pop”) de elementos del stack. Como en el test dependen una de la otra crearemos ambas pruebas simultaneamente, quizás no es muy estricto pero nos ahorra complicar innecesariamente el código.</p>
<h2>Test</h2>
<p>Crearemos un test que inserta algunos elementos y después los extrae, verificando que estén en el orden correcto. Además crearemos un segundo test que verifica que se lance un error o excepción si tratamos de quitar un elemento de un stack vacío.</p>
<p>Ejecutar estos tests generan dos errores, ambos apuntando a que aún no están definidos los métodos push y pop.</p>
<pre lang="python">import unittest
from stack import Stack

# Tests para la clase Stack
class TestStack(unittest.TestCase):
    # Test para verificar el constructor del stack
    def test_stack_creation(self):
        s = Stack()

    # Test para verificar que la insercion y remocion
    # se hacen en el orden correcto
    def test_insert_and_remove_elements(self):
        s = Stack()
        s.push('a')
        s.push('b')
        s.push('c')

        self.assertEqual(s.pop(), 'c')
        self.assertEqual(s.pop(), 'b')
        self.assertEqual(s.pop(), 'a')

    # Test para verificar que la remocion de un stack
    # vacio gatilla una excepcion
    def test_exception_on_pop_empty_stack(self):
        s = Stack()
        self.assertRaises(Exception, s.pop)

if __name__ == '__main__':
    unittest.main()</pre>
<p>Para probar la inserción y remoción de elementos en orden, usamos los métodos push para rellenar un stack para luego desapilarlos uno por uno, verificando que sean los que esperamos. En el segundo test inicializamos un stack vacío y tratamos de extraer un item, ante lo cual esperamos que la implementación arroje un error de tipo Exception, lo cual hace pasar el test.</p>
<p>Implementación</p>
<p>Para aprobar los tests, implementamos los métodos conflictivos</p>
<pre lang="python"># Clase que implementa una lista LIFO
class Stack:
    # Constructor vacio
    def __init__(self):
        self.list = list()

    # Metodo que agrega un nuevo elemento al final de la lista
    def push(self, element):
        self.list.append(element)

    # Metodo que extrae el ultimo elemento de la lista y lo retorna
    def pop(self):
        try:
            return self.list.pop()
        except IndexError:
            raise Exception()</pre>
<p>Si ejecutamos nuevamente los test estos aparecen OK</p>
<h1>Cuarta iteración</h1>
<p>Para terminar, implementamos un método size() que retorna el tamaño actual del stack sobre el que es llamado.</p>
<h2>Test</h2>
<p>Para esta funcionalidad definimos un único test, que verifica los cambios de tamaño en un stack a medida que insertamos y extraemos elementos.</p>
<pre lang="python">import unittest
from stack import Stack

# Tests para la clase Stack
class TestStack(unittest.TestCase):
    # Test para verificar el constructor del stack
    def test_stack_creation(self):
        s = Stack()

    # Test para verificar que la insercion y remocion
    # se hacen en el orden correcto
    def test_insert_and_remove_elements(self):
        s = Stack()
        s.push('a')
        s.push('b')
        s.push('c')

        self.assertEqual(s.pop(), 'c')
        self.assertEqual(s.pop(), 'b')
        self.assertEqual(s.pop(), 'a')

    # Test para verificar que la remocion de un stack
    # vacio gatilla una excepcion
    def test_exception_on_pop_empty_stack(self):
        s = Stack()
        self.assertRaises(Exception, s.pop)

    # Test para verificar el tamano de un stack
    def test_stack_size(self):
        s = Stack()
        self.assertEqual(s.size(), 0)
        s.push('a')
        self.assertEqual(s.size(), 1)
        s.push('b')
        self.assertEqual(s.size(), 2)
        s.pop()
        self.assertEqual(s.size(), 1)

if __name__ == '__main__':
    unittest.main()</pre>
<p>Como nos esperamos, el test falla porque el método size no está definido</p>
<p>Implementación</p>
<p>Para pasar este último test solo necesitamos definir el método size en nuestra clase</p>
<pre lang="python"># Clase que implementa una lista LIFO
class Stack:
    # Constructor vacio
    def __init__(self):
        self.list = list()

    # Metodo que agrega un nuevo elemento al final de la lista
    def push(self, element):
        self.list.append(element)

    # Metodo que extrae el ultimo elemento de la lista y lo retorna
    def pop(self):
        try:
            return self.list.pop()
        except IndexError:
            raise Exception()

    # Metodo que retorna el tamano del stack
    def size(self):
        return len(self.list)</pre>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2010/11/19/introduccion-al-test-driven-development/&via=&text=Introducción al Desarrollo Ágil: Test Driven Development&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2010/11/19/introduccion-al-test-driven-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agilidad: Oportunidad para nearshoring y nearsourcing en Chile</title>
		<link>http://www.chileagil.cl/2010/08/11/agilidad-oportunidad-para-nearshoring-y-nearsourcing-en-chile/</link>
		<comments>http://www.chileagil.cl/2010/08/11/agilidad-oportunidad-para-nearshoring-y-nearsourcing-en-chile/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 02:19:30 +0000</pubDate>
		<dc:creator>danijel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[agile methods]]></category>
		<category><![CDATA[Chile]]></category>
		<category><![CDATA[CMMI]]></category>
		<category><![CDATA[nearsourcing]]></category>
		<category><![CDATA[outsourcing]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=1050</guid>
		<description><![CDATA[Chile sin embargo, con su población de 16 millones no es capaz de competir en el ámbito de “outsourcing masivo”. India y China representan los poderes globales y son capaces de competir sobre la base de meros números. Es un ámbito donde las metodologías tradicionales han encontrado una tierra fértil. Las empresas certificadas en CMMI Nivel 5 de madurez se cuentan en centenares.]]></description>
			<content:encoded><![CDATA[<table bgcolor="#66CCFF">
<tbody>
<tr>
<td>En el mes de Mayo, la revista Inc.com ha publicado el artículo sobre Chile donde como caso de éxito figura una de más prominentes empresas ágiles de Chile: <a href="http://www.continuum.cl/">Continuum</a>, socios de la empresa <a href="http://hashrocket.com/">Hashrocket </a>de EE. UU.<br />
<a href="http://www.inc.com/articles/2010/05/chile-next-silicon-valley.html"> Articulo completo &gt;&gt; </a></td>
</tr>
</tbody>
</table>
<p>Chile, siendo favorecido por numerosas condiciones propicias, se considera hoy en día un destino de outsourcing y offshoring muy atractivo. Varias empresas multinacionales ya han descubierto Chile y han establecido sus operaciones aquí. Lo que buscan es un entorno estable, transparente y con buenas condiciones fiscales.</p>
<p>Sin embargo, lo que más diferencia a Chile comparado con los destinos de outsourcing tradicionales como China o India es la zona horaria: idéntica o con poca diferencia de buena parte de EE UU. Gracias a esta zona horaria favorable y el Internet es posible tener una comunicación directa y diaria entre proveedor y  cliente, o en muchos casos de offshoring, incluso equipos distribuidos, donde parte de este equipo se encuentra en EE UU y el otra parte en Chile.</p>
<p>Muchos estudios dicen que el mayor problema con los outsourcing radica en la calidad. Los que indagaron más en el tema, encontraron que estos problemas de calidad son un mero resultado de requerimientos mal entendidos. Lejanía geográfica, cultural e incluso de idioma, comunicación por vía escrita, aun mediante documentos pautados y sin encuentros cara a cara se generan muchas dificultades para los analistas y programadores que requieren entender el dominio del  negocio para el cual están construyendo los programas.</p>
<p>Al parecer, las empresas que envían sus operaciones a Chile han aprendido la lección y buscan una comunicación más directa, cara a cara y mucho más frecuente entre el cliente y el programador. De allí nace el fenómeno de <a href="http://en.wikipedia.org/wiki/Nearshoring">nearshoring</a>. A continuación recogeremos la opinión de algunos colegas referente al tema desde el mismo “campo de la batalla”:</p>
<p><em>“En todos los proyectos en los cuales he  participado en el Citi, siempre he tenido una comunicación diaria con el EE UU. Me ha tocado pasar largas horas comunicado telefónicamente o en conferencia con EE UU. Lo que se refiere a la división geográfica del equipos, no hay muchas reglas. A veces, la mayor parte de equipo esta aya, en otras ocasiones solamente los analistas se encuentran en EE UU. También me ha tocado comunicarme directamente con el cliente…<br />
Lo que se refiere a la metodología, depende del proyecto. En el último proyecto estuvimos aplicando <a href="http://es.wikipedia.org/wiki/Programaci%C3%B3n_extrema">Programación Extrema</a></em><em> con reuniones diarias con el cliente y con pruebas unitarias automatizadas. Últimamente, tuvimos que abandonar alguna de estas practicas.”</em><br />
Francisco, Citibank Chile</p>
<p><em>“En Experian estamos oficialmente aplicando <a href="http://es.wikipedia.org/wiki/Scrum">Scrum</a></em><em>, pero la verdad es que la aplicación de la metodología deja mucho por desear. Una mitad del equipo esta aquí en Santiago y la otra en EE UU. Todos los días partimos con los “<a href="http://en.wikipedia.org/wiki/Stand-up_meeting">daily stand-ups</a></em><em>”. La mayor problematica son los requerimientos: en este proyecto particular el autor del Producto es uno de nuestros gerentes senior y su disponibilidad es escasa”.</em><br />
Jaime, Experian Chile</p>
<p><em>“He trabajado como analista en Tata Consultancy Services, Chile. Mi trabajo era de analista, tener reuniones con el cliente y escribir documentos con los Casos de Uso. Estos los enviábamos a nuestro equipo en India, y ellos se encargaban de la implementación.  La Verdad es que hubo muchos problemas de comunicación y de requerimientos malentendidos. En fin, tuve que emprender un viaje a India en la fase final de un proyecto en un intento de salvarlo.”</em><br />
Rodrigo, ex empleado de Tata Consultancy Services, Chile</p>
<p>En Chile, la industria local se ha percatado de este fenómeno, pero aun asi hace falta saber posicionarse y marcar la diferencia.<br />
Las prácticas de outsourcing y offshoring tradicional, especialmente en el ámbito de mano de obra simple, son muchas veces fuertemente criticadas tanto en el lugar de origen (países desarrollados) como en el destino, en los países no desarrollados y de obra de mano barata. El termino “<a href="http://en.wikipedia.org/wiki/Sweatshop">sweatshop</a>” ilustra bien el fenómeno de explotación de mano de obra donde los trabajadores pasan largas horas trabajando bajo condiciones inmundas, sin derechos y seguros que aquí damos por obvias.<br />
No hay duda, sin embargo, que las prácticas de offshoring y outsourcing fueron motores de desarrollo de los países como China e India en las últimas décadas, y que en el ámbito informático pueden proveer muchos efectos positivos:</p>
<ul>
<li>disminuir fuga de cerebros</li>
<li>proveer más oportunidad de empleo</li>
<li>ayudar a mejorar el nivel profesional</li>
<li>ayudar al desarrollo del país</li>
</ul>
<p>Chile sin embargo, con su población de 16 millones no es capaz de competir en el ámbito de “outsourcing masivo”. India y China representan los poderes globales y son capaces de competir sobre la base de meros números. Es un ámbito donde las metodologías tradicionales han encontrado una tierra fértil. Las empresas certificadas en CMMI Nivel 5 de madurez se cuentan en centenares.En Chile, <a href="http://sas.sei.cmu.edu/pars/pars.aspx">empresas certificadas CMMI Nivel 3 o superior</a> se cuentan con dedos de una mano.</p>
<p>La oportunidad de Chile radica en proveer servicios de alta calidad, donde las mejores soluciones son los resultados de una comunicación transparente, directa e involucrada con el cliente.<br />
Es exactamente el modelo ágil que prescribe algunas recetas que se ajustan muy bien a la realidad local y a lo que buscan las empresas extranjeras con Chile en la mira.</p>
<p><strong>Comunicación directa con el cliente</strong></p>
<p>El mejor modo de recepcionar con eficacia los requerimientos y expectativas de un  cliente es la comunicación directa. Hoy en día, la tecnología nos permite tener conferencias telefónicas o de video entre partes geográficamente distantes y con un costo muy bajo.<br />
Se ha demostrado que la comunicación directa e interactiva, idealmente cara-a-cara es muchísimo más eficiente que los intercambio de documentación y correos electrónicos.<br />
Las metodologías “pesadas” como CMMI y los destinos de outsourcing en zonas horarias que no permiten la comunicación directa se caracterizan por una comunicación muy protocolar, basada en documentación, muy estructurada y con énfasis en trazabilidad.<br />
Las metodologías ágiles insisten en una comunicación directa, con la participación y presencia perpetua del cliente en el proyecto.</p>
<p><img src="http://www.agilemodeling.com/images/communicationModes.gif" alt="Riqueza y eficacia de los canales de comunicación " width="100%"  /></p>
<p><strong>Iteraciones cortas que siempre terminan entregando software operativo</strong></p>
<p>Las metodologías ágiles nos proponen iteraciones corta, con una duración de 1 a 3 semanas en promedio. Cada iteración debe finalizar con la entrega de software completamente operativo y al cual nuestro cliente pueda probar personalmente. Este ritmo trae numerosos beneficios pare el cliente y el proveedor:</p>
<ul>
<li> El equipo de desarrollo puede obtener un feedback real en un plazo mucho más corto que en el modelo de cascada tradicional, así se va mejorando la comunicación y entendimiento de los requerimientos y expectativas del cliente.</li>
<li> En el caso de algún cambio en las condiciones o requerimientos del cliente,  el proveedor es capaz de reaccionar en un tiempo muy corto, mejorando así la calidad del producto. El proveedor se convierte en el socio real del cliente capaz de apoyarlo frente a requerimientos y condiciones cambiantes del mercado. Esto es completamente opuesto en la práctica de “requerimientos congelados” típica para el modelo de cascada tradicional.</li>
<li> Finalmente, las iteraciones corta permiten dar mayor transparencia al proyecto, ya que el cliente puede tener una visión clara del avance real del proyecto, no solamente promesas o cartas Gantt descolgadas de la realidad. Esto permite dar al cliente la tranquilidad y una información veraz en cada fase del proyecto.</li>
</ul>
<p><strong> Fuerte énfasis en calidad</strong></p>
<p>Una de las practicas fundamentales de Lean Development es “Build quality in”,  en donde las prácticas como desarrollo dirigido por pruebas (TDD) son fundamentales para tener un producto sin defectos y que cumple con los requerimientos del cliente. “La verificación final no debe encontrar defectos!” dicen los Poppendiecks. Los productos de calidad y sin defectos son mejor marketing para una empresa de software. Metodologias agiles aplicadas bien, permiten crear software con calidad de “estilo Japones”.</p>
<p>La agilidad es hoy en pleno apogeo y Chile tiene muchas posibilidades de utilizar agilidad a su favor en el area de nearshoring de productos TI.<br />
Para discutir sobre el tema, etablar lazos e incluso buscar oportunidades de negocio, unete al grupo en LinkedIn:<br />
<a href="http://www.linkedin.com/groups?gid=3300444"> Agile Outsourcing to Chile</a></p>
<p><a href="http://www.linkedin.com/groups?gid=3300444"></a><br />
<strong><em>Vínculos de interés:</em></strong></p>
<ul>
<li>Artículo escrito por Martin Fowler<br />
<a href="http://martinfowler.com/articles/agileOffshore.html">Using an Agile Software Process with Offshore Development</a></li>
<li>Video entrevista con Jeff Sutherland, fundador de Scrum:<br />
<a href="http://blog.jaoo.dk/2008/09/23/the-secrets-of-doing-agile-offshoring-with-succes/">http://blog.jaoo.dk/2008/09/23/the-secrets-of-doing-agile-offshoring-with-succes/</a></li>
<li>Análisis de tendencias en desarrollo de software en TechTarget<br />
&#8220;Our experts pretty much agree that agile will continue its push into the mainstream in 2009..Perhaps some companies that started shallow will go deeper, and we&#8217;ll see more focus on the technical [aspects of agile], in particular incrementalism.&#8221;<br />
<a href="http://searchsoftwarequality.techtarget.com/news/article/0,289142,sid92_gci1344072,00.html"> http://searchsoftwarequality.techtarget.com/news/article/0,289142,sid92_gci1344072,00.html<br />
<span style="color: #000000"> </span></a><a href="http://searchsoftwarequality.techtarget.com/news/article/0,289142,sid92_gci1344072,00.html"> </a></li>
</ul>
<p><em><span style="font-style: normal">Danijel Arsenovski</span><br />
en</em>&gt; &#8220;Empowering your team for agile transition<br />
<em>es</em>&gt; &#8220;Facultando su equipo para transición ágil&#8221;<br />
<a href="http://www.empoweragile.com/" target="_blank">www.empoweragile.com</a></p>
<p><em>Los nombres de las personas mencionadas fueron cambiados para proteger su anonimato. Las opiniones expresadas en el artículo son responsabilidad del autor.</em></p>
<p><em><span style="font-style: normal"><strong><em>Actualizaciones</em></strong>:<br />
14.08.2010 Versión 1.1: Se elimina la referencia a la pagina &#8220;Quality&#8221; de Chile-It.</span></em></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2010/08/11/agilidad-oportunidad-para-nearshoring-y-nearsourcing-en-chile/&via=&text=Agilidad: Oportunidad para nearshoring y nearsourcing en Chile&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2010/08/11/agilidad-oportunidad-para-nearshoring-y-nearsourcing-en-chile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scrum Manager en Santiago</title>
		<link>http://www.chileagil.cl/2010/07/20/scrum-manager-en-santiago/</link>
		<comments>http://www.chileagil.cl/2010/07/20/scrum-manager-en-santiago/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 16:36:51 +0000</pubDate>
		<dc:creator>cruata</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[scrummanager]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=1041</guid>
		<description><![CDATA[Hola Chile Ágil !!!!! Muchas gracias amigo Agustín, por brindarme el espacio para escribir este post &#8230; !!! Estoy realmente muy contenta porque los próximos 9 y 10 de agosto estaré visitando Santiago para compartir el curso de Gestión de Proyecto con Scrum Manager.  Tengo un fantástico recuerdo de los momentos vividos en el AgileLean [...]]]></description>
			<content:encoded><![CDATA[<p>Hola Chile Ágil !!!!!</p>
<p>Muchas gracias amigo Agustín, por brindarme el espacio para escribir este post &#8230; !!!</p>
<p>Estoy realmente muy contenta porque los próximos 9 y 10 de agosto estaré visitando Santiago para compartir el curso de <a title="Scrum Manager" href="http://www.scrummanager.net/index.php?option=com_content&amp;view=article&amp;id=133" target="_blank">Gestión de Proyecto con Scrum Manager</a>.  Tengo un fantástico recuerdo de los momentos vividos en el AgileLean Day de noviembre 2009, y espero volver a encontrarme con muchas de las personas con las que compartirmos en aquella ocasión.</p>
<p>En este curso presentaremos el modelo evolutivo que transita el camino que va desde la tesis (reflejada en los modelos procedurales), pasando por la antítesis (modelos ágiles) a la síntesis de ambos (Scrum Manager). Desarrollaremos muchas actividades prácticas para reforzar los principales conceptos, y finalizaremos con una original simulación. Obviamente que todos los interesados en obtener la <a href="http://www.scrummanager.net/certificados" target="_blank">certificación profesional </a>podrán hacerlo, realizando el examen al final del curso.</p>
<p>Entre los principales temas que se tratarán puedo mencionar:</p>
<ul>
<li>Alternativas en la gestión de Proyectos de Software</li>
<li>Conviviendo con la Gestión Predictiva</li>
<li>Documentación exhaustiva vs. software que funciona</li>
<li>Caracteristicas del mercado actual</li>
<li>Manifiesto ágil &#8211; Principios</li>
<li>Ciclo de Desarrollo de Scrum</li>
<li>Agilidad en toda la empresa: Scrum Manager</li>
<li>Estimaciones y métricas</li>
</ul>
<p>Gracias nuevamente y hasta agosto !!!</p>
<p>Claudia Ruata</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2010/07/20/scrum-manager-en-santiago/&via=&text=Scrum Manager en Santiago &related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2010/07/20/scrum-manager-en-santiago/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>La verdad sobre certificación CMMI: ¡No existe!</title>
		<link>http://www.chileagil.cl/2010/04/23/la-verdad-sobre-certificacion-cmmi-%c2%a1no-existe/</link>
		<comments>http://www.chileagil.cl/2010/04/23/la-verdad-sobre-certificacion-cmmi-%c2%a1no-existe/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 03:44:16 +0000</pubDate>
		<dc:creator>danijel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[agile methods]]></category>
		<category><![CDATA[certificación]]></category>
		<category><![CDATA[CMMI]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=991</guid>
		<description><![CDATA[Aunque les puede parecer extraño, ya que todos hablan de “certificación CMMI” (y no solamente en Chile), la verdad es que tal cosa no existe]]></description>
			<content:encoded><![CDATA[<p><img src="http://webscripts.softpedia.com/screenshots/Checkbox-control-6905.png" alt="LCPBCs" width="363" height="476" /></p>
<p>Aunque les puede parecer extraño, ya que todos hablan de “certificación CMMI” (y no solamente en Chile), la verdad es que tal cosa no existe.</p>
<p>El Instituto de Ingeniería (SEI) de la Universidad Carnegie Mellon otorga lo que llaman el “informe de apreciación” (engl “appraisal”).</p>
<p>¿Bueno, pero aunque se utilice palabra diferente, se trata de la misma cosa, no cierto? Nada más que de una omisión de traductor..? Veamos que dice el SEI mismo:</p>
<p><em>The SEI does not certify the results of any appraisal nor is there an official accreditation body for CMMI. True certification of appraisal results would involve the ongoing monitoring of organizations&#8217; capabilities, a shelf life for appraisal results, and other administrative elements. When an organization is appraised against the CMMI model, their Lead Appraiser&#8217;s findings may indicate that the organization is operating at a particular &#8220;maturity level.&#8221;  The SCAMPI appraisal method maturity ratings are 1 through 5.</em></p>
<p><em>The SEI does not have a defined requirement for periodic follow-up after appraisals, nor does it accept legal responsibility for the performance of appraised organizations. All of these characteristics are required for a program that would provide certification of appraisal results. However, CMMI Appraisal results do expire after a period of three years.</em></p>
<p><em>Fuente: </em><em><a href="http://www.sei.cmu.edu/cmmi/start/faq/appraisals-faq.cfm">Sitio de SEI</a></em><em> </em></p>
<p>La verdad es que la diferencia,  aunque sutil, es importante, y se explica claramente en el mismo sitio de SEI. SEI no acepta responsabilidad legal para rendimiento de las empresas a cuales se otorgó informe de apreciación ni los directamente monitorea.</p>
<p>Veras, la selección de palabras no es casualidad. Entonces no sorprenden <a href="http://stackoverflow.com/questions/65296/does-anyone-still-believe-in-the-capability-maturity-model-for-software">reportes</a> (y <a href="http://stackoverflow.com/questions/1927004/does-a-process-like-cmmi-really-helps-a-project">aquí</a>) donde las empresas que se “certifican” utilizan un solo departamento o equipo para obtener el sello, que luego vuelven a las antiguas prácticas, que el proceso se convierte a la generación de documentación, que la única motivación es ganar la licitación o un contrato etc. ¿Has escuchado de los LCPBCs? Lo puedes googlear, no quiero echarte perder la sorpresa <img src='http://www.chileagil.cl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>En fin, la siguiente pregunta surge sola: ¿Caerán las certificaciones agiles a la misma trampa?</p>
<p>Danijel Arsenovski</p>
<p><em> &#8220;Facultando su equipo para transición ágil&#8221;<br />
</em> <a href="http;//www.empoweragile.com">www.empoweragile.com</a></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2010/04/23/la-verdad-sobre-certificacion-cmmi-%c2%a1no-existe/&via=&text=La verdad sobre certificación CMMI: ¡No existe!&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2010/04/23/la-verdad-sobre-certificacion-cmmi-%c2%a1no-existe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mercado laboral local empieza reconocer habilidades ágiles</title>
		<link>http://www.chileagil.cl/2010/04/17/mercado-laboral-local-empieza-reconocer-habilidades-agiles/</link>
		<comments>http://www.chileagil.cl/2010/04/17/mercado-laboral-local-empieza-reconocer-habilidades-agiles/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 22:51:13 +0000</pubDate>
		<dc:creator>danijel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[agile methods]]></category>
		<category><![CDATA[agilidad]]></category>
		<category><![CDATA[mercado laboral]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=968</guid>
		<description><![CDATA[Si bien somos muy lejos del promedio mundial, se pueden observare los primeros señales positivos para la agilidad. Empresas empiezan buscar el personal que tenga la experiencia con las metodologías ágiles]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="../wp-content/uploads/2010/04/workspace_antes_despues.png"></a><a href="http://www.chileagil.cl/wp-content/uploads/2010/04/workspace_antes_despues.png"><img class="aligncenter size-large wp-image-983" title="Espacio de trabajo antes y después de adoptar Agilidad" src="http://www.chileagil.cl/wp-content/uploads/2010/04/workspace_antes_despues-1024x325.png" alt="" width="502" height="159" /></a>
</p>
<p>Hay buenas señales en el mercado laboral nacional. Si bien estamos muy lejos del promedio mundial, se pueden observar las primeras señales positivas para la agilidad. Las empresas están empezando buscar el personal que tenga la experiencia con las metodologías ágiles.</p>
<p>Los requerimientos son todavía muy vagos: se mencionan las metodologías ágiles en general o alguna en particular, típicamente <em>Scrum</em>, pero todavía sin mencionar las practicas ágiles como el <em>TDD </em>o la <em>refactorización</em>. Algunos avisos dentro de los requerimientos estipulan el Inglés, posiblemente se trata de las empresas extranjeras con oficinas en Chile que están empezando traer esta &#8220;moda&#8221; a nuestro país.</p>
<p>La investigación fue hecha haciendo la bésqueda por términos relevantes para la agilidad en las bolsas de trabajos más importantes en el país. Ahora un poco de estadísticas:<br />
<strong>Infoempleo</strong></p>
<table>
<tbody>
<tr>
<td>Termino</td>
<td>Avisos Encontrados Vigentes</td>
<td>Avisos Encontrados Total</td>
<td>Primera Mención</td>
</tr>
<tr>
<td>Scrum</td>
<td>9</td>
<td>42</td>
<td>05/2008</td>
</tr>
<tr>
<td>Metodología Ágil</td>
<td>2</td>
<td>15</td>
<td>03/2009</td>
</tr>
</tbody>
</table>
<p>Un aviso menciona que el empleado &#8220;Reportará directamente al Scrum Master del proyecto, de la subgerencia de desarrollo.&#8221; ¿Se podrá sacar la conclusión que la la dicha empresa he avanzado en adopción de las practicas ágiles, tomando en cuenta que tienen roles como Scrum Master establecidas? El termino poco fortuito <em><strong>&#8220;reportará&#8221;</strong></em> seguramente se debe a un error de la traducción, ya que el aviso además menciona: &#8220;Responsable con sus horarios y actividades&#8221; lo que podría ser relacionado con el concepto ágil de equipos auto-organizados. Esperemos que no se trate  de interpretación Dilbertiana de esta metodología.</p>
<p><strong>Laborum (Chile)</strong></p>
<table>
<tbody>
<tr>
<td>Termino</td>
<td>Avisos Encontrados Recientes</td>
</tr>
<tr>
<td>Scrum</td>
<td>1</td>
</tr>
<tr>
<td>Metodología Ágil</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Laborum guarda los avisos hasta 60 días después de publicación. Interesante es que el aviso que menciona Scrum es para un para un cargo gerencial &#8220;Subgerente de Desarrollo Informático&#8221;.</p>
<p>Algunos avisos mencionan la agilidad conjunto con otras metodologías o procesos como RUP, CMMI etc. ¿Será para algún instituto o alguna universidad que esta haciendo estudio comparativos de las metodologías del desarrollo de software? Verdad es que no lo creo. De todos modos, poco sorprendente para las empresas de <em>outsourcing </em>(o <em>headhunting </em>como les gusta que las llamen ahora).</p>
<p>¿Y en mundo? Vamos a ver que <a href="http://www.dice.com">dice.com</a>, uno de los sitios mas conocidos portales para la búsqueda de trabajo en el área de tecnología:</p>
<p><strong>¡1257 menciones de Scrum, 4128 de la palabra “Agile”, 199 avisos para el “Agile Coach”, 231 menciones del “TDD” y 130 del “refactoring” y 949 de “Continuous Integration”!<br />
</strong></p>
<p>Finalmente, algunas &#8220;frases celebres&#8221; sacadas de los avisos que revisé durante esta investigación:</p>
<ul>
<li><em>&#8220;Se valorará conocimiento en metodologías Agile, RUP, MDA. &#8220;</em></li>
<li><em>&#8220;Si estás en la búsqueda de un cambio en tu carrera, los objetos son tu pasión, si no sabes vivir sin patrones y solo piensas en saber más sobre AOP&#8230; tienes que <span style="font-style: normal;"><em>ser parte de nuestro equipo&#8221;</em></span></em></li>
<li><em>&#8220;CMMi-SOA- oSGI, BPM y ESB.&#8221;</em></li>
<li><em>&#8220;Reportará directamente al Scrum Master del proyecto, de la subgerencia de desarrollo.&#8221;</em></li>
<li><em>&#8220;Metodologías como RUP, SCRUM, CMMI y UML.&#8221;</em></li>
<li>&#8220;Visual Basic.NET, FRMK’S 1.1, 2.0,3.0,3.5. &#8220;</li>
</ul>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2010/04/17/mercado-laboral-local-empieza-reconocer-habilidades-agiles/&via=&text=Mercado laboral local empieza reconocer habilidades ágiles&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2010/04/17/mercado-laboral-local-empieza-reconocer-habilidades-agiles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¡Agilistas 1 &#8211; Tradicionalistas 0!</title>
		<link>http://www.chileagil.cl/2009/11/16/agilistas_1_-_tradicionalistas_0/</link>
		<comments>http://www.chileagil.cl/2009/11/16/agilistas_1_-_tradicionalistas_0/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 22:53:22 +0000</pubDate>
		<dc:creator>danijel</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[agile methods]]></category>
		<category><![CDATA[CMMI]]></category>
		<category><![CDATA[comparación]]></category>
		<category><![CDATA[conferencias]]></category>
		<category><![CDATA[RUP]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=671</guid>
		<description><![CDATA[Es seguramente demasiado temprano para cantar victoria, pero la verdad es que los asistentes en charla sobre metodologías el jueves pasado se mostraron bastante entusiasmados con mi exposición. Además, organización de evento de tipo debate, con el título “¿Cuál es la mejor manera de construir software?” donde se pueden comparar las dos filosofías de desarrollo [...]]]></description>
			<content:encoded><![CDATA[<p>Es seguramente demasiado temprano para cantar victoria, pero la verdad es que los asistentes en charla sobre metodologías el jueves pasado se mostraron bastante entusiasmados con mi exposición. Además, organización de evento de tipo debate, con el título “¿Cuál es la mejor manera de construir software?” donde se pueden comparar las dos filosofías de desarrollo de softwareñ una contra otra, por el mismo Microsoft, habla por sí mismo: metodologías agiles empiezan a ser reconocida por empresas más grandes en Chile.</p>
<p>La charla fue grabada y debería ser publicada en el Internet, por lo pronto mi presentación en SlideShare:</p>
<div id="__ss_2495697" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="El Emperador No Tiene Traje" href="http://www.slideshare.net/Danijel_Arsenovski/el-emperador-no-tiene-traje-2495697">El Emperador No Tiene Traje</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=elemperadornotienetraje-12581444459-phpapp02&amp;stripped_title=el-emperador-no-tiene-traje-2495697" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=elemperadornotienetraje-12581444459-phpapp02&amp;stripped_title=el-emperador-no-tiene-traje-2495697" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/Danijel_Arsenovski">Danijel  Arsenovski</a>.</div>
</div>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2009/11/16/agilistas_1_-_tradicionalistas_0/&via=&text=¡Agilistas 1 - Tradicionalistas 0!&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2009/11/16/agilistas_1_-_tradicionalistas_0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frases ágiles</title>
		<link>http://www.chileagil.cl/2009/08/17/frases-agiles/</link>
		<comments>http://www.chileagil.cl/2009/08/17/frases-agiles/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 15:42:30 +0000</pubDate>
		<dc:creator>morellan</dc:creator>
				<category><![CDATA[eXtreme Programming]]></category>
		<category><![CDATA[Metodologías]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.chileagil.cl/?p=469</guid>
		<description><![CDATA[Recopilando algunas frases representativas, divertidas y útiles del mundo ágil, aquí están separadas por público objetivo: Para el Equipo: Haz la cosa mas simple que pueda llegar a funcionar (Do the simplest thing that could possibly work) Cuando piensen en agregar algo extra&#8230; No lo vas a necesitar (You aren’t gonna need it) Para los [...]]]></description>
			<content:encoded><![CDATA[<p>Recopilando algunas frases representativas, divertidas y útiles del mundo ágil, aquí están separadas por público objetivo:</p>
<p><strong>Para el Equipo:</strong></p>
<blockquote><p>Haz la cosa mas simple que pueda llegar a funcionar <em>(Do the simplest thing that could possibly work)</em></p></blockquote>
<blockquote><p>Cuando piensen en agregar algo extra&#8230; No lo vas a necesitar<em> (You aren’t gonna need it)</em></p></blockquote>
<p><strong>Para los Jefes de Proyecto:</strong></p>
<blockquote><p>Para convertirse en un Jefe de Proyecto, agrega conocimiento &#8212; para convertirse en Scrum Master, quítalo.</p></blockquote>
<blockquote><p>A veces la mejor forma de ser útil es no entorpecer el camino de otro<em> (Sometimes the best way to be useful is to get out of somebody&#8217;s way)</em></p></blockquote>
<p><strong>Para los consultores:</strong></p>
<blockquote><p>No se puede estandarizar lo que no deja de cambiar</p></blockquote>
<p><strong>Para los stakeholders internos:</strong></p>
<blockquote><p><em>Stakeholder:</em> Tenemos mas problemas ahora que antes de implementar esta metodología.</p>
<p><em>Consultor ágil:</em> Asi es, lo llamamos transparencia.</p></blockquote>
<p>Pueden ir agregando mas en los comentarios, para actualizar este post.</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.chileagil.cl/2009/08/17/frases-agiles/&via=&text=Frases ágiles&related=chileagil:&lang=en&count=vertical" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.chileagil.cl/2009/08/17/frases-agiles/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

