<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/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/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Lucas Ontivero : Project Management</title><link>http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx</link><description>Etiquetas: Project Management</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Deberían los testers arreglar bugs–Parte I</title><link>http://geeks.ms/blogs/lontivero/archive/2012/11/15/deber-237-an-los-testers-arreglar-bugs-parte-i.aspx</link><pubDate>Thu, 15 Nov 2012 03:23:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207429</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=207429</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=207429</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2012/11/15/deber-237-an-los-testers-arreglar-bugs-parte-i.aspx#comments</comments><description>&lt;p&gt;Esa es &lt;a href="http://sqa.stackexchange.com/questions/5194/should-tester-fix-bugs" target="_blank"&gt;la pregunta&lt;/a&gt; que lanzé en el sitio &lt;a href="http://sqa.stackexchange.com/" target="_blank"&gt;Software Quality Assurance and Testing&lt;/a&gt; de StackExchange.com en cuyas respuestas pude ver que existe cierto desacuerdo entre la comunidad de testers sobre ese tema y si bien yo tengo una idea clara al respecto, lo que en verdad quería conocer eran las argumentaciones de aquellos que piensan que sí deberían arreglar defectos (algunos defectos) y aquellos que piensan que no deberían para así hacer una síntesis. &lt;/p&gt;  &lt;p&gt;No obstante, al poco tiempo otro usuario inicia otro hilo en el que pregunta &lt;a href="http://sqa.stackexchange.com/questions/5097/what-are-the-main-role-and-responsibilities-of-a-tester" target="_blank"&gt;cuales son las principales responsabilidades de un tester&lt;/a&gt; en las que expone una pequeña lista de responsabilidades: &lt;/p&gt;  &lt;pre&gt;&lt;code&gt;1) Analyzing the Requirements from the client
2) Participating in preparing Test Plans
3) Preparing Test Scenarios,test cases
4) Defect Tracking
5) Preparing Suggestion Documents to improve the quality of the application
6) Communication with the Test Lead / Test Manager
7) Conducting Review Meetings within the Team&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hay tantas cosas con las que no estoy de acuerdo con lo que leo en ese foro que voy a dejar plasmado aquí mi pensamiento. Para comenzar tengo que decir que para mi, la responsabilidad de todos los miembros de un equipo es exactamente la misma: contribuir tanto como sea posible al éxito del proyecto. Entonces, si bien las actividades, especialidades y orientaciones pueden ser distintas, la responsabilidad es la misma.&lt;/p&gt;

&lt;p&gt;Ahora bien, si aceptamos esto como válido deberíamos entonces definir qué es un proyecto exitoso y qué no lo es. Para todos aquellos medio entrado en años (de profesión) como yo de seguro les sonará el cuentito llamado OTOBOS que dice que un proyecto exitoso es un proyecto “on time, on budget, on scope” y la verdad es que en los tiempos del los modelos predictivos, en los que el SDLC era por lo general en cascada, mantener al proyecto a lo largo del tiempo on time, on budget y on scope era cosa de magos, se creía que la clave estaba en el *control*. Pues bien, puede que me equivoque pero voy a darles *mi* definición de lo que es un proyecto exitoso: &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p align="center"&gt;&lt;em&gt;&lt;font color="#cccccc" size="4"&gt;“Un proyecto exitoso es aquel que nos otorga un alto retorno sobre la inversión a la vez que nos permite crear una relación de confianza con el cliente”&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p align="center"&gt;&lt;em&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;La segunda parte de esta definición habla de la satisfacción del cliente, y puesto que lo que este recibe no es otra cosa que software, deberíamos aclarar qué es un software exitoso para el cliente. Veamos, nuestros clientes no nos encargan el desarrollo de una solución porque no se les ocurran mejores cosas en que despilfarrar el dinero, sino que lo invierten en una herramienta que les permita cumplir con sus metas de negocio. Ya sea optimizando o agilizando la gestión de la compañia, diferenciandose de la competencia, fidelizando clientes, brindando nuevos servicios online o alguna otra ventaja, las empresas *invierten* en software y esperan un retorno de esa inversión. Entonces:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p align="center"&gt;&lt;font color="#cccccc" size="4"&gt;&lt;em&gt;“Un software exitoso (para el cliente) es aquel que le permite cumplir con sus metas de negocios y por tal, le otorga el esperado retorno sobre la inversión” &lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Y es que de eso se trata y siempre se ha tratado, de dinero. Por lo tanto, la responsabilidad de *todos los miembros del equipo* (sí, testers incluidos) es contribuir a este éxito. Y para esto hace falta mucho más que control y responsabilidades estrictas y predeterminadas.&lt;/p&gt;

&lt;p&gt;Continuará…&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a842d013-bfb5-4c47-bb5b-12f95046a2ac" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/software+testing" rel="tag"&gt;software testing&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/bug+fixing" rel="tag"&gt;bug fixing&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/testers+roles" rel="tag"&gt;testers roles&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207429" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Code Freeze–Explicando esta MALA práctica</title><link>http://geeks.ms/blogs/lontivero/archive/2012/01/23/code-freeze-explicando-esta-pr-225-ctica.aspx</link><pubDate>Mon, 23 Jan 2012 06:05:26 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202929</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=202929</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=202929</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2012/01/23/code-freeze-explicando-esta-pr-225-ctica.aspx#comments</comments><description>&lt;p&gt;Hace un par de días una amigo preguntó por esta práctica en twitter por lo que decidí dar una brevísima explicación en este video.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:40819724-58a1-4d65-8977-097cbad545ee" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=sKh7x-LU30Y&amp;amp;feature=youtube_gdata_player" target="_new"&gt;&lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/lontivero/video6802293669c7_5F00_506B5599.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;NOTA: a sugerencia de Rodrigo Corral he cambiado el título para que quede claro de entrada que en la inmensa mayoría de los casos esta es una mala práctica, cosa que entiendo he dejado bien claro en el video; aunque nunca se sabe. Creo además que la malas prácticas también necesitan ser explicadas ya que forman parte del vocabulario común y uno debe conocerlas.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202929" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_F300_n+de+la+configuraci_F300_n/default.aspx">Gestión de la configuración</category></item><item><title>Programar no es tan complicado</title><link>http://geeks.ms/blogs/lontivero/archive/2012/01/08/programar-no-es-tan-complicado.aspx</link><pubDate>Sun, 08 Jan 2012 05:23:23 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202634</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=202634</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=202634</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2012/01/08/programar-no-es-tan-complicado.aspx#comments</comments><description>&lt;p&gt;Es fácil entender por qué los hombres de negocio prefieren cantidad de desarrolladores sobre calidad de desarrolladores, es por lo que yo llamo el &lt;a href="http://geeks.ms/blogs/lontivero/archive/2007/09/28/misc-el-pensamiento-lineal.aspx"&gt;pensamiento lineal&lt;/a&gt; en la administración y que no voy a discutir nuevamente aquí pero solo diré que esa tendencia lleva implícita la idea de que programar no es tan complicado y por lo tanto cualquier programador podrá hacerlo bien.&lt;/p&gt;  &lt;p&gt;Lo que cuesta entender es el por qué Ivar Jacobson dice que el 80% del trabajo de programación es algo mecánico (“it is not brain work” - según él). Ivar Jacobson es uno de esos personajes que todo el mundo debe conocer y cuyos aportes han sido grandiosos (salvo este) y por lo tanto se merece el mayor de nuestro respeto aunque sinceramente lo primero que pensé cuando lo escuché por primera vez fue: “ojalá hubiese estado presente un programador iraquí para que le tirara un zapatazo”&lt;/p&gt;  &lt;p&gt;Si a la tendencia de “los hombres de negocio” de preferir cantidad sobre calidad se le suman las opiniones de verdaderos gigantes de nuestro medio como Ivar Jacobson, la idea de que programar es relativamente sencillo toma todavía mucha más fuerza y nos hace un flaco favor. Sumado a esto tenemos una realidad difícil de falta de talentos debido a la gran demanda de desarrolladores en la industria que lleva a que conseguir buenos desarrolladores sea una tarea complicada.&lt;/p&gt;  &lt;p&gt;Por estos motivos es que muchas empresas completan sus puestos con lo que muchas veces llaman “programadores promedio” que hace referencia a aquellos programadores cuya principal destreza es la fuerza bruta. (Si como dijo Lampson: &lt;em&gt;todo problema en computación puede ser resuelto añadiendo un nivel de indirección&lt;/em&gt;; según el “programador promedio”:&lt;em&gt; todo problema en computación puede ser resuelto añadiendo un IF)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Lo interesante del caso es que las expectativas que se tienen sobre el desempeño de estos programadores son muchas veces demasiado altas y así se pretende lograr software de calidad superior con desarrolladores de calidad promedio desviando el foco hacia las metodologías, QA, auditorías y herramientas entre otras cosas.&lt;/p&gt;  &lt;p&gt;Está claro que para muchas tareas de desarrollo no se necesitan genios, también es cierto que las tareas que requieren mayores destrezas las deben realizar aquellos con mayor experiencia y conocimientos, es claro además que todo el mundo es distinto y que no se pueden contratar todos rock stars pero una cosa es decir esto y otra mucho más delicada es decir que programar no es tan complicado.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202634" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Empresas/default.aspx">Empresas</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/RRHH/default.aspx">RRHH</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category></item><item><title>Management deficiente (I)</title><link>http://geeks.ms/blogs/lontivero/archive/2011/12/09/management-deficiente-i.aspx</link><pubDate>Fri, 09 Dec 2011 08:58:49 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202058</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=202058</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=202058</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2011/12/09/management-deficiente-i.aspx#comments</comments><description>&lt;h3&gt;Introducción&lt;/h3&gt;  &lt;p&gt;La historia del software está plagada de ejemplos de proyectos que fracasaron estrepitosamente, estos por lo general han excedido el presupuesto estimado, el esfuerzo estimado y el&amp;#160; tiempo estimado en muchas veces y si bien parece que la industria viene haciendo avances importantes en estos problemas, aún hoy es común ver u oír de proyectos que fallan de manera espectacular.&lt;/p&gt;  &lt;p&gt;Voy a introducir solo algunas de las razones de por qué esto sigue sucediendo, de cómo puede solucionarse y de cómo afecta a los equipos. Pero el foco voy a centrarme en la gente, en cómo los afecta, en sus reacciones y motivaciones (o desmotivaciones) y para ello voy a usar un ejemplo real de un proyecto en el que participé.&lt;/p&gt;  &lt;h3&gt;Costos&lt;/h3&gt;  &lt;p&gt;Todos los proyectos que fracasan tienen una característica en común: superan los costos. Sea porque se renegocian o porque pierden dinero o porque no ganan lo esperado, o porque se extienden en el tiempo (también representa un costo) o por el motivo que fuera, los costos están siempre relacionados al fracaso de un proyecto.&lt;/p&gt;  &lt;p&gt;Uno de estos costos, y probablemente uno de los que más afectan a la moral de los equipos es el llamado costo de calidad probre, costo de mala calidad o costo de no calidad, esto es, cuanto cuesta (dinero) desarrollar software con defectos (bugs) y luego tener que arreglarlos. Mientras más alto es este costo, más probabilidades existen de que un proyecto fracase.&lt;/p&gt;  &lt;h3&gt;Una introducción a La Historia&lt;/h3&gt;  &lt;p&gt;La historia con la que quiero ejemplificar se basa en el desarrollo de una aplicación gubernamental en la que trabajé y a la cual me referiré con el nombre ficticio de “pyjs”. En este proyecto, el costo de calidad pobre era una aberración, cada caso de uso requería un esfuerzo de entre 2,5 y 4 días-hombre de desarrollo y se le hallaban un promedio de 12 bugs. Así, el equipo, formado por alrededor de 13 desarrolladores desarrollaba algo así como 40 casos de uso por sprint de 2 semanas.&lt;/p&gt;  &lt;p&gt;Lo interesante de esto es que con esos 40 casos de uso, venían también unos 480 bugs! Digamos que si arreglar cada uno de eso&amp;#160; bugs costara tan solo una hora de desarrollo, esa bolsa de bugs costaría 480 horas-hombre, a digamos algo así como 10 u$/hs serían u$ 4.800 tirados por la ventana cada 2 semanas.&lt;/p&gt;  &lt;h3&gt;Un poco más sobre este costo&lt;/h3&gt;  &lt;p&gt;Una de las razones por la que deben atacarse rápidamente las causas de este costo es porque este crece de manera exponencial a medida que la detección de los defectos se aleja de la fase de desarrollo. Así, llevándolo a lo cotidiano, cuesta mucho menos (menos dinero) encontrar un defecto en una revisión de código antes de subirlo al repositorio que encontrarlo durante la etapa de pruebas ya que aquí se debió utilizar tiempo del equipo de pruebas, hay más reportos, más administración, etc. Ni que hablar si en lugar de encontrarlo el equipo, lo encuentra el cliente.&lt;/p&gt;  &lt;h3&gt;Volvamos a La Historia&lt;/h3&gt;  &lt;p&gt;En el pyjs la relación testers/desarrolladores era muy baja, no por algún número teórico sino por la simple razón que el equipo de pruebas no daba a basto y por ende se retrasaba cada vez más hasta llegar el punto de que probaban funcionalidad que se había terminado más de un mes atrás. Así las cosas, para cuando reportaban los defectos, el equipo ya estaba desarrollando otras funcionalidades (muchas que dependían del correcto funcionamiento de las anteriores) y una vez acumulados estos bugs se repartían muchas veces a “el equipo de los bugs”, esto es, a miembros del equipo que no habían estado involucrados en el desarrollo de esos casos de uso y que por lo tanto no los conocían, no sabían qué debía hacer esos casos de uso, cómo se relacionaban con otros casos de uso ni nada en lo absoluto. Esto convertía a estos desarrolladores en los “mártires de turno” (digo “de turno” porque alguna vez los cambiaban).&lt;/p&gt;  &lt;p&gt;Una cosa curiosa es que la líder de proyecto comentaba que se requería el mismo esfuerzo para desarrollar los casos de uso que para arreglarlos y por esta razón en algunas ocasiones se alternó un sprint para desarrollo y el siguiente para corrección de bugs. Esto quiere decir que a menos que al cliente se le presupuestara 3 o más veces el costo de desarrollo, el proyecto era inviable. &lt;/p&gt;  &lt;p&gt;Otra cosa a tener en cuanta es que si los casos de uso no tuvieran defectos, el proyecto podría haberse terminado en quizás en la mitad del tiempo.&lt;/p&gt;  &lt;h3&gt;Reacciones del management&lt;/h3&gt;  &lt;p&gt;Ante semejante situación, las reacciones del management fueron las siguientes:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Remover a aquellos desarrolladores que habían participado en el desarrollo de las funcionalidades con mayor número de defectos.&lt;/li&gt;    &lt;li&gt;Incrementar el número de desarrolladores e incrementar el “seniority” del equipo incorporando personas con mayor experiencia (incrementando los costos). Esto llevó a la necesidad de “distribuir” al equipo ya que estos nuevos desarrolladores estaban en otras ciudades.&lt;/li&gt;    &lt;li&gt;Asignar más presupuesto al proyecto para posibilitar que desarrolladores “externos” al equipo participaran en la creación de casos de uso de manera independiente (desde sus casas y en horarios extralabolares)&lt;/li&gt;    &lt;li&gt;Pedir a los desarrolladores que por favor entendieran la situación del proyecto y que no generaran más defectos.&lt;/li&gt;    &lt;li&gt;Pedírselo de nuevo&lt;/li&gt;    &lt;li&gt;… y de nuevo…. y otra vez más.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Reunión de retrospectiva tras reunión de retrospectiva los líderes de proyecto (digo los porque en realidad eran 2!) repetían que el mismo sermón a los desarrolladores: “Entindan! Les pedimos que por favor entiendan que tienen que generar menos bugs a la vez que necesitamos que incrementen la velocidad!”, “A esta situación llegamos por la falta de compromiso de los desarrolladores”, “Necesitaban más memoria y se las dimos, pidieron cursos y se los estamos gestionando, ahora recapaciten!”&lt;/p&gt;  &lt;h3&gt;Cómo afectó al equipo&lt;/h3&gt;  &lt;p&gt;Si esto no bastaba para bajarle la moral a alguien, si alguno con una psiquis de acero todavía permanecía en pie, los reportes de estado del proyecto realizados por teléfono a los superiores argumentando que el proyecto estaba como estaba por una “falta de compromiso”, “por los descuidos”, “por no leer la documentación correctamente” más otras actitudes desmotivantes como los mails pidiendo al equipo que “piensen en las cosas que están haciendo mal”, acabaron con las fuerzas del equipo.&lt;/p&gt;  &lt;p&gt;El mismo equipo que reunión de retrospectiva tras reunión de retrospectiva decía que los tiempos estaban muy comprimidos, que los bugs se detectaban muy tarde y que se sentían presionados a entregar aun a sabiendas de que estaban entregando con baja calidad.&lt;/p&gt;  &lt;p&gt;Por otro lado, la remoción de prácticamente la mitad del equipo de un plumazo, personas que quizás se desempeñaban algo por debajo del resto pero que hacían valiosos aportes al proyecto (recuerdo que muchos de ellos trabajaban muchas horas de más e incluso cuando se les pidió trabajar un fin de semana lo hicieron de buena gana), no ayudó a mejorar en lo absoluto sino todo lo contrario. De hecho esta fue la primera acción que se tomó.&lt;/p&gt;  &lt;p&gt;La moral de un equipo es algo que debe cuidarse celosamente y protegerla porque marca una diferencia enorme en los resultados. Por eso, luego de que la moral bajara al nivel más bajo que recuerdo, el equipo comenzó a realmente desempeñarse por debajo de sus posibilidades, a importarle menos sus resultados, a ser lo que todos los días se les decía que eran: descuidados y poco comprometidos.&lt;/p&gt;  &lt;h3&gt;Costos de calidad&lt;/h3&gt;  &lt;p&gt;Existen otros costos de calidad divididos según las tareas específicas que requieren como costo de inspección, costos de prevención y así, pero básicamente lo que se busca es invertir (dinero) en actividades claves que reduzcan el número y severidad de los defectos, idealmente identificándolos en las etapas más tempranas posibles donde el costo de un defecto es menor.&lt;/p&gt;  &lt;h3&gt;Costos de calidad en esta Historia&lt;/h3&gt;  &lt;p&gt;En el pyjs la inversión en actividades de “prevención” era prácticamente $ 0,00. La justificación era que no había tiempo, que las entregas al cliente requerían que se utilizara todo el tiempo disponible en el desarrollo de las funcionalidades pactadas. Por esa razón, cuando se pidió al TL que no se siguieran desarrollando las pruebas unitaria y luego cuando propuso volver a realizar las revisiones de código obtuvo un “no hay tiempo para esas cosas”.&lt;/p&gt;  &lt;p&gt;Por fortuna, digo que la inversión fue de “prácticamente” $ 0,00 porque se autorizó que el arquitecto desarrollase un generador de código y un set de componentes reutilizables en 4 días, lo que ayudó al proyecto a salir solo un poco de apuros. Esto se autorizó gracias al poder seductor del pensamiento mágico que todo “generador de código” despierta en algunas mentes.&lt;/p&gt;  &lt;h3&gt;Mi reacción&lt;/h3&gt;  &lt;p&gt;Como esto estaba muy claro para mi, retrospectiva tras retrospectiva planteaba la necesidad de incorporar aquellas prácticas que todo el mundo sabe que dan resultado: revisiones de código, pruebas unitarias (aunque sea en aquellas funcionalidades más delicadas), reuniones técnicas para aunar criterios o despejar dudas (el equipo se dividía entre 4 ciudades distintas). &lt;/p&gt;  &lt;p&gt;Por otro lado, con el fin de obtener feedback más rápido por parte de testing, propuse incrementar el equipo de testing y agilizar las pruebas, filtrar aquellos defectos que no eran realmente defectos o que no se querían o podían arreglar en ese momento (los reportes de defectos en crudo a los desarrolladores es una perdida de tiempo descomunal), no enviar funcionalidades sin probar al cliente (una práctica habitual que encarecía el proyecto y le causaba muchísimo daño).&lt;/p&gt;  &lt;p&gt;Por último, no desmotivar al equipo!&lt;/p&gt;  &lt;h3&gt;Fin de la Historia&lt;/h3&gt;  &lt;p&gt;Mis recomendaciones cayeron en oídos sordos todas la veces, ni siquiera formaban parte de las minutas de las reuniones de retrospectiva ya que la razón de los problemas no eran ningunas de esas estupideces que yo decía sino que era un tema de falta de compromiso, descuidos y falta de profesionalidad.&lt;/p&gt;  &lt;p&gt;A todo esto, la pregunta obvia era: ¿si existe falta de compromiso en algunos miembros entonces por qué no se los remueve?. Y la respuesta fue que no se iba a modificar más el equipo porque la falta de compromiso era general! Yo creo que la razón era otra: si luego de cambiar a la mitad del equipo se cambia a la otra mitad y todo sigue igual…. ¿que se le reporta a los jefes? ¿que los 13 nuevos desarrolladores son tan indolentes como los anteriores?&lt;/p&gt;  &lt;h3&gt;Conclusión&lt;/h3&gt;  &lt;p&gt; Yo tenía una hipótesis de que los proyectos sí fallaban la mayoría de las veces por cuestiones técnicas, esto era porque he visto algunos pocos proyectos fallar por problemas técnicos pero ahora está claro que los grandes y monumentales fracasos son en verdad por un management deficiente.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202058" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Empresas/default.aspx">Empresas</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category></item><item><title>De Oráculos y MSProject</title><link>http://geeks.ms/blogs/lontivero/archive/2011/06/02/de-or-225-culos-y-msproject.aspx</link><pubDate>Thu, 02 Jun 2011 15:18:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:195433</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=195433</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=195433</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2011/06/02/de-or-225-culos-y-msproject.aspx#comments</comments><description>&lt;p&gt;Hoy he recibido un cronograma en un archivo .mpp que no tenía una aplicación asociada para abrirlo así que busco en Google “.mpp file extension” ¡Y claro!!! Es un project! &lt;/p&gt;  &lt;p&gt;Juro que no lo recordaba.&amp;#160; Creo que hace 6 o 7 años que no veo uno así que me puso nostálgico. Lo que más me gusta del project es que tiene información muy útil como que el 24 de Enero del 2012 vamos a estar todos festejando la culminación exitosa del proyecto o que el módulo XXXX va a comenzar el 10 de Octubre y que luego de 4,3 semanas el cliente nos va a dar el Ok.&lt;/p&gt;  &lt;p&gt;¡Esta información SÍ que es valiosa!&lt;/p&gt;  &lt;p&gt;Nota: Sí, estás en lo correcto, es una sobredosis de sarcasmo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=195433" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Empresas/default.aspx">Empresas</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/XP/default.aspx">XP</category></item><item><title>Ruidos y señales en nuestra industria</title><link>http://geeks.ms/blogs/lontivero/archive/2011/03/30/ruidos-y-se-241-ales-en-nuestra-industria.aspx</link><pubDate>Wed, 30 Mar 2011 17:50:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:191334</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=191334</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=191334</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2011/03/30/ruidos-y-se-241-ales-en-nuestra-industria.aspx#comments</comments><description>&lt;p&gt;Voy a tomar prestado las palabras &lt;em&gt;señal&lt;/em&gt; y &lt;em&gt;ruido&lt;/em&gt; del campo de las telecomunicaciones para explicar una situación que nos afecta de cerca. Entendamos la palabra &lt;em&gt;señal&lt;/em&gt;, en el contexto de esta entrada, como el mensaje, lo importante, lo esencial y como &lt;em&gt;ruido &lt;/em&gt;lo indeseable, lo molesto, lo que encarece y entorpece al mensaje.&lt;/p&gt;  &lt;p&gt;La señal, o el mensaje en este caso, que deseamos transmitir, por lo general todos los que hemos estado en esto durante algún tiempo (y que nos hemos equivocado terriblemente una infinidad de veces y lo vamos a seguir haciendo), es que educación (léase como entrenamiento o capacitación), trabajo en equipo, orden (o método), comunicación, simplicidad,&amp;#160; motivación, experiencia, más experiencia, buen management y buenas prácticas son los puntos claves para el éxito en la empresa de desarrollar software.&lt;/p&gt;  &lt;p&gt;El ruido, por otro lado, lo constituyen los maremotos de frameworks que se ponen de moda y cuya vigencia no supera el año o dos, las tendencias y sus variantes (TDD y BDD) y sus productos forzados (Isolation Frameworks, IoC containers/DI) que a su vez son más frameworks o requieren agregar complejidad al código, Patrones y más patrones (alguno de ellos requeridos, utilizados, o introducidos por algunas prácticas o frameworks), nuevos lenguajes con ideas antiquísimas (funcionales y dinámicos), otros lenguajes resucitados (Lisp) y sus mil variantes o dialectos (clojure, scheme y otros), application blocks, ORMs y la lista puede seguir ad infinitum.&lt;/p&gt;  &lt;p&gt;Podríamos discutir un año completo el por qué ninguna de estas cosas incrementa el éxito de los proyectos de desarrollo en una forma sustancial. Pero como evidencia podemos recurrir a la realidad cotidiana. ¡Cuidado! No estoy diciendo que todos los frameworks son puro ruido, no estoy diciendo que algunos lenguajes no introducen mejoras, no afirmo que la inyección de dependencia no tiene excelentes usos ni que los patrones, que nos han elevado al grado de que hoy somos más diseñadores que programadores, sean inútiles; NO. No nada de eso, lo que digo es que su contribución al éxito de los proyectos (léase si se quiere como: costos, tiempo, presupuesto y calidad) y en lo que entregamos a los clientes es sencillamente marginal.&lt;/p&gt;  &lt;p&gt;En software como en telecomunicaciones, el ruido puede transportar señal también. Esto quiere decir que de todo eso que hoy está de moda, pero que mañana solo servirá para reírnos un rato, algo queda y mucho se aprende.&lt;/p&gt;  &lt;p&gt;Mi preocupación va por el lado de la desproporción en la relación señal/ruido. Creo que la señal es débil mientras que el ruido es muy fuerte. Muchas veces por la necesidad de vender productos las compañías introducen gran parte del ruido. Otras veces, somos nosotros cuando resaltamos el ruido cuando buscamos gente “Perfil: deberá conocer WCF, Mockito (conocimiento de Moles se tomará en cuenta), Prism, MVVM, Unity, Linq, JQuery y controles de Tellerik”. Esto amplifica el ruido tremendamente. Al cliente por otra parte seguramente le entregaremos una solución bastante parecida a lo que le hubiésemos entregado hace 3 años cuando ningunas de esas cosas existía.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=191334" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Software+Factories/default.aspx">Software Factories</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Dise_26002300_241_3B00_o/default.aspx">Dise&amp;#241;o</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category></item><item><title>Horas extras y las cadenas psíquicas</title><link>http://geeks.ms/blogs/lontivero/archive/2011/03/21/horas-extras-y-las-cadenas-ps-237-quicas.aspx</link><pubDate>Mon, 21 Mar 2011 20:31:18 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:190821</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=190821</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=190821</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2011/03/21/horas-extras-y-las-cadenas-ps-237-quicas.aspx#comments</comments><description>&lt;p&gt;Siempre veo y escucho de gente que trabaja 2, 3, 4 y hasta 5 horas de más, personas que deberían salir de sus lugares de trabajo a las 18hs se quedan hasta las 22hs o 23hs sin ninguna compensación. Es cierto que algunas veces uno debe terminar un trabajo y ello puede requerir quedarse algunas horas extras por unos días. No hay nada malo en ello, el problema surge cuando esa situación no se da de manera excepcional sino que es una constante, cuando las personas se quedan a hacer sobre turnos por semanas o incluso meses. &lt;/p&gt;  &lt;p&gt;Por lo general, las respuestas que dan aquellos que así lo hacen cuando se les pregunta el por qué de quedarse hasta esas horas son algunas de estas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;porque el proyecto lo necesitaba,&lt;/li&gt;    &lt;li&gt;porque ellos se comprometieron a tenerlo en esa fecha y/o,&lt;/li&gt;    &lt;li&gt;porque ellos son muy responsables. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Seguro podríamos discutir estas respuestas desde algunos puntos de vista técnicos-metodológicos-ingenieriles pero esta vez no. Esta vez quiero analizarlo desde el punto de vista psicológico. Para esto, partamos de la base de que las personas saben que afuera hay un mundo, que tienen una novia, una esposa, unos hijos que los esperan. Se dan cuenta que, al menos en invierno y en mi provincia, entran a trabajar de noche y salen de trabajar de noche. Todo el mundo es consciente de que su tiempo es finito y que la vida se les pasa pero aún así se quedan a trabajar muchas más horas. ¿A cambio de qué? De nada. &lt;/p&gt;  &lt;p&gt;¿Cómo es posible entonces? La verdad es que esa declamada responsabilidad es solo una excusa inconsciente, una trampa psicológica que los protege de la angustia de saber que están tirando su vida al tacho. Esto nos lleva a otra pregunta: ¿qué les impide irse a casa a las 18hs? En apariencia, nada se los impide. Es más, hasta se les podría culpar de ser adictos al trabajo. Pero si se necesita de una excusa inconsciente para justificarse por hacer algo es porque existen otras fuerzas invisibles que les impiden irse a las 18hs.&lt;/p&gt;  &lt;p&gt;La primera y quizás más poderosa es la fuerza del grupo. Una vez que un grupo acepta trabajar más horas que aquellas inicialmente pactadas, todo nuevo integrante se someterá al comportamiento e idiosincrasia del grupo. El &lt;a href="http://www.age-of-the-sage.org/psychology/social/asch_conformity.html"&gt;experimento de conformidad de Asch&lt;/a&gt; es una muestra clara y por demás concluyente de que la individualidad se distiende en gran medida para concordar con la visión grupo. Si todos trabajan hasta las 20hs, aún cuando no fuese necesario, aquel que se fuera a las 18hs sufriría una presión enorme. Ver el &lt;a href="http://www.youtube.com/watch?v=xcdGEqjV9_8" target="_blank"&gt;experimento del ascensor&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;La segunda es el de la autoridad. El poder que la autoridad tiene para suprimir la voluntad del individuo llega a límites insospechados. El &lt;a href="http://www.age-of-the-sage.org/psychology/milgram_obedience_experiment.html"&gt;experimento de obediencia a la autoridad de&amp;#160; Milgram&lt;/a&gt;, el que se recreó muchísimas veces con similares conclusiones, prueba que en el 65% de los casos, personas comunes llegan a aplicar descargas de 450 voltios a un semejante solo por obediencia, esto en algunos casos equivale a matarlos. Entonces, en las organizaciones, donde la estructura de autoridad es absolutamente vertical y se encuentra claramente establecida, la obediencia es un factor clave. Aunque las frases: “Quiero esto para mañana” y “Hasta que no esté resuelto no se va nadie de acá” son ejemplos crudos y explícitos, las ordenes no tienen por qué ser tan explicitas (la sugestión es mucho más efectiva incluso) para que sean acatadas cuando quien las imparte ha sido embestido con autoridad por la compañía. Por otro lado, la obediencia en las organizaciones se muestra más como un afán por mostrarse cooperativo que como el cumplimiento de una orden.&lt;/p&gt;  &lt;p&gt;Son estas dos fuerzas las que, junto con otras como la de “comprometerse” (quizás con las estimaciones dichas en público), crean un malestar psíquico como producto de la disonancia entre lo que hacen, de manera forzada, y lo que realmente piensan sobre lo que hacen. La magnitud del malestar es proporcional a la magnitud de la disonancia y por ello, para disminuir la angustia, buscan mediante una excusa, estar en mayor consonancia con lo que hacen. Ver “&lt;a href="http://psychclassics.yorku.ca/Festinger/index.htm" target="_blank"&gt;Cognitive consequences of forced compliance&lt;/a&gt;”&lt;/p&gt;  &lt;p&gt;El problema detrás de todo esto es que el malestar tiene que desaparecer de alguna manera. Por lo general, las personas que hacen sobre turnos están dispuestos a cambiar de trabajo mucho más fácilmente que aquellos que no los hacen. Es un problema real para las organizaciones que tiene costos asociados los cuales son muy difíciles de medir. ¿Cual es la ganancia asociada a una persona que trabaja durante 3 meses algo más de 2 horas extras para luego irse a la competencia? Nadie lo sabe.&lt;/p&gt;  &lt;p&gt;Pero lo más triste es que muchas de estas personas (colegas) que se cambian a la competencia en busca de una realidad distinta, terminan en exactamente las mismas situaciones solo que en una empresa diferente. Siempre que hablo con alguien que quiere “escapar” a otra empresa para cambiar su realidad actual le pregunto: ¿Y qué vas a hacer para que en la nueva empresa no te termine pasando lo mismo? Nadie lo sabe.&lt;/p&gt;  &lt;p&gt;Yo tampoco tengo la respuesta pero sin dudas parte de culpa pertenece a las personas que aceptan esos sobre turnos. Aún cuando puedan irse autoimponiendo de manera gradual y progresiva. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=190821" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/RRHH/default.aspx">RRHH</category></item><item><title>Como fracasar con las pruebas unitarias</title><link>http://geeks.ms/blogs/lontivero/archive/2010/06/15/como-fracasar-con-las-pruebas-unitarias.aspx</link><pubDate>Tue, 15 Jun 2010 23:46:58 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:178121</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=178121</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=178121</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2010/06/15/como-fracasar-con-las-pruebas-unitarias.aspx#comments</comments><description>Hace poco gravé un pequeños video en el que explicaba una realidad que he visto en muchos proyectos respecto de las pruebas unitarias. En síntesis lo que comentaba era que en esos proyectos, los beneficios de las pruebas unitarias no eran visibles mientras que los costos sí lo eran. En problema aparente era la calidad de las pruebas, pero en realidad, el problema de fondo es la estrategia de hacer las pruebas luego de terminado el código. Por lo general, los programadores escriben piezas de código...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2010/06/15/como-fracasar-con-las-pruebas-unitarias.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=178121" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Dise_26002300_241_3B00_o/default.aspx">Dise&amp;#241;o</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Series/default.aspx">Series</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/.Net/default.aspx">.Net</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Investigaciones/default.aspx">Investigaciones</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/XP/default.aspx">XP</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/TDD/default.aspx">TDD</category></item><item><title>¿Cuantas líneas de código son 9 líneas con TDD?</title><link>http://geeks.ms/blogs/lontivero/archive/2010/06/15/191-cuantas-l-237-neas-de-c-243-digo-son-9-l-237-neas-con-tdd.aspx</link><pubDate>Tue, 15 Jun 2010 23:32:55 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:178118</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=178118</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=178118</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2010/06/15/191-cuantas-l-237-neas-de-c-243-digo-son-9-l-237-neas-con-tdd.aspx#comments</comments><description>En mi último post presentaba una métrica (verdaderamente muy mala) sobre mi productividad en un proyecto realizado completamente utilizando TDD de manera estricta. Esta mostraba aproximadamente 9 LOC/Hs. Al mismo tiempo, y como las pruebas y el código los escribí interactivamente, escribía 11 LOC/Hs de pruebas. Esto hace un total de 19 LOC/Hs. Ahora bien, cada 2 o 3 pruebas el código era refactorizado para eliminar duplicaciones, del mismo modo que luego de observar un patrón común en un conjunto...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2010/06/15/191-cuantas-l-237-neas-de-c-243-digo-son-9-l-237-neas-con-tdd.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=178118" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Dise_26002300_241_3B00_o/default.aspx">Dise&amp;#241;o</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Series/default.aspx">Series</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Investigaciones/default.aspx">Investigaciones</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/XP/default.aspx">XP</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/TDD/default.aspx">TDD</category></item><item><title>TDD y Yo</title><link>http://geeks.ms/blogs/lontivero/archive/2010/06/13/tdd-y-yo.aspx</link><pubDate>Sun, 13 Jun 2010 22:30:57 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:178018</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=178018</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=178018</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2010/06/13/tdd-y-yo.aspx#comments</comments><description>Hace poco comencé un nuevo desarrollo y decidí grabar algunos videos de los cuales solo publiqué los primeros tres. Sucede que el hecho de saber que alguien me estaba mirando me hacía prestar mayor atención a mis palabras que al código que debía escribir. No obstante a ello, continué grabándome para tomar el tiempo y estudiarme. La primera parte de ese desarrollo está completado y estos son los números: 66 pruebas unitarias. 15 clases. (solo 4 centrales, el resto son datacontracts, excepciones y...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2010/06/13/tdd-y-yo.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=178018" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Dise_26002300_241_3B00_o/default.aspx">Dise&amp;#241;o</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/.Net/default.aspx">.Net</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Investigaciones/default.aspx">Investigaciones</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Herramientas/default.aspx">Herramientas</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/XP/default.aspx">XP</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/TDD/default.aspx">TDD</category></item><item><title>¿Te ves como un verdadero profesional?</title><link>http://geeks.ms/blogs/lontivero/archive/2010/05/31/191-te-ves-como-un-verdadero-profesional.aspx</link><pubDate>Mon, 31 May 2010 05:52:05 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:177485</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=177485</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=177485</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2010/05/31/191-te-ves-como-un-verdadero-profesional.aspx#comments</comments><description>Tanto se los he dicho que ya están empezando a darse cuenta de que realmente no entienden las necesidades del negocio. Al parecer ellos se meten en la programación desde chiquitos y el mundo se les achica tanto que no comprenden que hay compromisos asumidos y que el cliente está esperando el producto. Pero bueno, yo sigo explicándoles y varios lo entienden bien pero hay un par que verdaderamente no parecen estar muy convencidos. Lo peor de todo este asunto es que cada vez trabajan más lento y cada...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2010/05/31/191-te-ves-como-un-verdadero-profesional.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=177485" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Empresas/default.aspx">Empresas</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/RRHH/default.aspx">RRHH</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category></item><item><title>[Productividad] Parálisis por Emails</title><link>http://geeks.ms/blogs/lontivero/archive/2008/11/17/emails.aspx</link><pubDate>Mon, 17 Nov 2008 13:32:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:116264</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=116264</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=116264</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2008/11/17/emails.aspx#comments</comments><description>El correo electrónico es una de las herramientas más importantes de trabajo, todos tenemos un cliente de correo que chequeamos varias veces al día ya sea en nuestro trabajo o en nuestros hogares. Es tanto un medio de comunicación como un sistema para recibir alertas y recordatorios, todos los sistemas se comunican con nosotros mediante correo electrónico, &amp;quot; se te ha asignado un nuevo ticket &amp;quot;, &amp;quot; quedan 3 días para renovar las licencias &amp;quot;, &amp;quot; inscríbete para el curso de seguridad...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2008/11/17/emails.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=116264" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Misc/default.aspx">Misc</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Tips/default.aspx">Tips</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Empresas/default.aspx">Empresas</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/RRHH/default.aspx">RRHH</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Conceptos/default.aspx">Conceptos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/email/default.aspx">email</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Productividad/default.aspx">Productividad</category></item><item><title>[Software Factories] Software factory (la historia sin fin)</title><link>http://geeks.ms/blogs/lontivero/archive/2008/08/14/software-factory-know-out.aspx</link><pubDate>Thu, 14 Aug 2008 04:44:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:94868</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=94868</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=94868</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2008/08/14/software-factory-know-out.aspx#comments</comments><description>Hace una año comencé la serie Introducción a los Software Factory con 4 entradas: [Software Factories] Introducción (Parte 1) , [Software Factories] Introducción (Parte 2) , [Software Factories] Introducción (Parte 3) y [Software Factories] Introducción (Parte 4) . Hoy quiero exponer los desafios que plantea la implantación de una software factory en el mundo real. Veamos.... Al hablar hoy de software factories uno puede revivir el sentimiento de frustración que sentia 15 años atras cuando hablaba...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2008/08/14/software-factory-know-out.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=94868" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Dise_26002300_241_3B00_o/default.aspx">Dise&amp;#241;o</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Series/default.aspx">Series</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/XN/default.aspx">XN</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Investigaciones/default.aspx">Investigaciones</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Patrones/default.aspx">Patrones</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Desarrollo/default.aspx">Desarrollo</category></item><item><title>[PM] Estimaciones Agiles, no Extremas</title><link>http://geeks.ms/blogs/lontivero/archive/2008/03/19/pm-estimaciones-agiles-no-extremas.aspx</link><pubDate>Wed, 19 Mar 2008 04:45:19 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:81267</guid><dc:creator>Lucas Ontivero</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/rsscomments.aspx?PostID=81267</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/lontivero/commentapi.aspx?PostID=81267</wfw:comment><comments>http://geeks.ms/blogs/lontivero/archive/2008/03/19/pm-estimaciones-agiles-no-extremas.aspx#comments</comments><description>Primero lo primero Hace poco comentaba en un post de Rodrigo Corral sobre algunas de las desventajas de un método de estimación que el mencionaba como método ágil y rápido: el Plannig Poker . Luego, Rodrigo me responde con un post en el que intenta rebatir cada una de mis afirmaciones. Una excelente noticia es que al menos el capítulo 6 del libro Agile Estimating and Planning (by Mike Cohn) que trata, entre otras cosas, sobre Plannig Poker está disponible para leerlos en pdf desde acá . Lo primero...(&lt;a href="http://geeks.ms/blogs/lontivero/archive/2008/03/19/pm-estimaciones-agiles-no-extremas.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://geeks.ms/aggbug.aspx?PostID=81267" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Series/default.aspx">Series</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Investigaciones/default.aspx">Investigaciones</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gestion+de+Proyectos/default.aspx">Gestion de Proyectos</category><category domain="http://geeks.ms/blogs/lontivero/archive/tags/Gesti_26002300_243_3B00_n+de+proyectos/default.aspx">Gesti&amp;#243;n de proyectos</category></item></channel></rss>