{"id":12783,"date":"2016-03-01T09:41:32","date_gmt":"2016-03-01T17:41:32","guid":{"rendered":"https:\/\/redbooth.com\/es\/sin-categorizar\/developing-gantt"},"modified":"2016-08-26T14:40:52","modified_gmt":"2016-08-26T21:40:52","slug":"gantt-la-perspectiva-del-desarrollador","status":"publish","type":"post","link":"https:\/\/redbooth.com\/es\/blog-es\/gantt-la-perspectiva-del-desarrollador","title":{"rendered":"Dar vida a los diagramas de Gantt: la perspectiva del desarrollador"},"content":{"rendered":"<p>\u00bfQu&eacute; imagen pasa por tu cabeza cuando piensas en el desarrollo de una nueva funcionalidad de software? Es normal imaginar que ocurre en un vac&iacute;o: juntas algunos requisitos, los env&iacute;as a los desarrolladores y, tras semanas o meses de silencio, recibes una notificaci&oacute;n: &ldquo;Vale, ya est&aacute; hecho&rdquo;.<\/p>\n<p>Sin embargo, en el caso de la creaci&oacute;n de nuevas funciones Gantt de Redbooth, el proceso de desarrollo ha sido intensamente colaborativo y se ha basado continuamente en las necesidades de los clientes de Redbooth. Y, como equipo de desarrollo que crea software de productividad, los desarrolladores de Redbooth tambi&eacute;n incorporaron procesos y las mejores pr&aacute;cticas a su flujo de trabajo para aumentar la eficiencia.<\/p>\n<p>Esta es la tercera entrega de nuestra serie sobre el seguimiento del proceso de creaci&oacute;n de una funcionalidad de diagramas de Gantt f&aacute;cil de usar e incre&iacute;blemente &uacute;til para todos los usuarios de Redbooth (puedes acceder al <a href=\"https:\/\/redbooth.com\/es\/blog-es\/gantt-vuelve-a-redbooth\">primer<\/a> y al <a href=\"https:\/\/redbooth.com\/es\/blog-es\/diseno-de-gantt\">segundo<\/a> art&iacute;culo, si no lo has hecho ya).<\/p>\n<p>Sigue leyendo para descubrir c&oacute;mo el equipo de desarrollo de Gantt de Redbooth, de Barcelona, estudi&oacute; detenidamente los requisitos de los usuarios y se centr&oacute; en la comunicaci&oacute;n y la iteraci&oacute;n.<\/p>\n<p>Tambi&eacute;n descubrir&aacute;s las 5 mejores pr&aacute;cticas que les han permitido para colaborar de forma m&aacute;s eficiente y ver&aacute;s c&oacute;mo aplicarlas a los proyectos en los que est&aacute;s trabajando ahora mismo.<\/p>\n<h2>Comprender lo que desean los usuarios de Redbooth<\/h2>\n<p>Los desarrolladores que trabajaron en Gantt observaron detenidamente las necesidades y las experiencias de los clientes que posteriormente utilizar&iacute;an las funcionalidades Gantt de Redbooth. Irwin Kwan, responsable de productos, y Sarah Tanner, dise&ntilde;adora de productos, grabaron y compartieron las entrevistas que realizaron para que el equipo de desarrollo pudiera ver exactamente qui&eacute;n iba a utilizar Gantt y qu&eacute; era lo m&aacute;s importante para ellos.<\/p>\n<p>&ldquo;Ver los v&iacute;deos de los clientes fue como un recordatorio del motivo por el que est&aacute;bamos creando Gantt&rdquo;, coment&oacute; el desarrollador backend Pau P&eacute;rez. &ldquo;Estamos creando una herramienta que tendr&aacute; un impacto importante sobre el trabajo diario de nuestros usuarios&rdquo;.<\/p>\n<p>Ver los v&iacute;deos de los clientes tambi&eacute;n ofreci&oacute; una perspectiva sobre las necesidades &uacute;nicas de las empresas de distintos sectores, seg&uacute;n destac&oacute; Jorge Morante, desarrollador frontend.<\/p>\n<p>&ldquo;Por ejemplo, para una empresa de construcci&oacute;n, la duraci&oacute;n de los proyectos es enorme si se compara con los nuestros, ya que hablamos de proyectos que duran a&ntilde;os&rdquo;, coment&oacute;. &ldquo;Y eso es algo que tenemos en mente durante el desarrollo del nuevo Gantt&rdquo;.<\/p>\n<p>&ldquo;Los v&iacute;deos me ayudaron a comprender mejor las necesidades de los usuarios de Redbooth y el motivo por el que estamos creando la funcionalidad Gantt&rdquo;, a&ntilde;adi&oacute; Jorge. &ldquo;Este tipo de visi&oacute;n global de la totalidad del proceso durante el desarrollo de las funcionalidades nos permite remar en la misma direcci&oacute;n como equipo&rdquo;.<\/p>\n<p>El equipo tambi&eacute;n trabaj&oacute; para asegurarse de poder ofrecer la mejor experiencia posible a los clientes. Por ejemplo, el desarrollador full stack Ilia Zayats sac&oacute; algo en claro al ver las entrevistas con los clientes: menos es m&aacute;s.<\/p>\n<p>&ldquo;La idea principal con la que me qued&eacute; tras ver los v&iacute;deos es que la mayor&iacute;a de las herramientas Gantt actuales del mercado pueden abrumar al usuario con una enorme cantidad de funcionalidades&rdquo;, afirm&oacute; Ilya.<\/p>\n<figure><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/s3.amazonaws.com\/wordpress-production\/wp-content\/uploads\/2016\/02\/gantt-stable-mvp.png\" alt=\"Desarrollo de diagramas de Gantt\" \/><\/figure>\n<p>&ldquo;Por esta raz&oacute;n, desde el inicio adopt&eacute; una actitud muy esc&eacute;ptica, intentando cuestionar cada peque&ntilde;a parte de las funcionalidades Gantt y su necesidad. En mi mundo ideal, deber&iacute;amos entregar un MVP (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Minimum_viable_product\">producto viable m&iacute;nimo<\/a>) realmente s&oacute;lido y, posteriormente, iterar r&aacute;pidamente tras recibir la informaci&oacute;n de nuestros usuarios reales. Y eso es lo que estamos haciendo&rdquo;.<\/p>\n<p>Y con los usuarios de Redbooth ansiosos por comenzar a utilizar las funcionalidades de diagramas de Gantt lo antes posible, fue importante que el equipo se mantuviera coordinado y trabajara con rapidez. La clave fue el modo en el que el equipo de desarrollo enfoc&oacute; su trabajo.<\/p>\n<h2>Coordinaci&oacute;n del trabajo e iteraci&oacute;n r&aacute;pida<\/h2>\n<p>Volviendo a las entrevistas de Irwin y Sarah con los usuarios en diciembre, el equipo de desarrollo segu&iacute;a esperando los resultados de esa investigaci&oacute;n. Entretanto, se dedicaban a preparar el terreno para un marco t&eacute;cnico que respaldara una iteraci&oacute;n r&aacute;pida.<\/p>\n<p>&ldquo;Incluso en las fases m&aacute;s tempranas, pudimos plantear suficientes supuestos para comenzar la investigaci&oacute;n de la tecnolog&iacute;a subyacente en Gantt&rdquo;, coment&oacute; Jorge. &ldquo;As&iacute;, pudimos decir: &lsquo;De acuerdo, sabemos que queremos ofrecer cuadros coloridos y sexis, colocarlos seg&uacute;n las fechas y la experiencia de arrastrar y soltar debe ser perfecta&rsquo;&rdquo;.<\/p>\n<p>El proceso de iteraci&oacute;n r&aacute;pida y <em>temprana<\/em> era esencial.<\/p>\n<p>&quot;El equipo estaba desarrollando prototipos &lsquo;desechables&rsquo; incluso antes de la creaci&oacute;n de las simulaciones iniciales&rdquo;, coment&oacute; Ilya. &quot;Esa fue la clave para la paralelizaci&oacute;n futura de nuestro trabajo: significaba que ya ten&iacute;amos colocadas todas las ideas y cimientos subyacentes y que el equipo ya hablaba &#8216;un mismo idioma&#8217; a la hora de describir los conceptos relacionados con Gantt&quot;.<\/p>\n<p>Tambi&eacute;n fue importante permanecer conectados con regularidad, dentro del equipo de desarrollo de Barcelona y con Irwin y Sarah en California. Las charlas diarias fueron un ingrediente clave en ese proceso.<\/p>\n<p>&ldquo;Cada ma&ntilde;ana, lo primero que hace el equipo es celebrar una reuni&oacute;n r&aacute;pida e informal en la que explicamos el trabajo realizado el d&iacute;a anterior y lo que hay planificado para el d&iacute;a de hoy. En una palabra: comunicaci&oacute;n&rdquo;, afirm&oacute; el desarrollador frontend Andr&eacute;s Guti&eacute;rrez.<\/p>\n<p>Y esa reuni&oacute;n de la ma&ntilde;ana era solo el primer punto de contacto de un d&iacute;a cualquiera, lo que resultaba especialmente importante para el proceso iterativo. &ldquo;En este tipo de proyectos grandes, es importante iterar en partes peque&ntilde;as&rdquo;, a&ntilde;adi&oacute; Andr&eacute;s.<\/p>\n<figure><img decoding=\"async\" class=\"alignright\" src=\"https:\/\/s3.amazonaws.com\/wordpress-production\/wp-content\/uploads\/2016\/02\/gantt-global-vision.png\" alt=\"Desarrollo de diagramas de Gantt\" \/><\/figure>\n<p>&ldquo;Realizamos una sincronizaci&oacute;n activa muchas veces al d&iacute;a&rdquo;, coment&oacute; Ilya. &ldquo;Nos comunic&aacute;bamos con Irwin y Sarah en el espacio de trabajo espec&iacute;fico de Gantt que ten&iacute;amos en Redbooth y entre nosotros dentro del espacio de trabajo de nuestro propio equipo, solo para asegurarnos de que se mantuviera la coordinaci&oacute;n&rdquo;.<\/p>\n<p>A medida que los desarrolladores de Barcelona identificaban nuevos retos y oportunidades, continuaba el di&aacute;logo intenso con el equipo de productos de Silicon Valley (utilizando la funci&oacute;n de <a href=\"https:\/\/redbooth.com\/es\/hd-video-conferencing\">videoconferencia<\/a> de Redbooth, por supuesto). En lugar de ser un proceso descendente, la combinaci&oacute;n de perspectivas transversales aport&oacute; lo mejor de varios mundos al proceso de creaci&oacute;n de Gantt en Redbooth.<\/p>\n<p>&ldquo;Los debates dieron muy buenos resultados&rdquo;, confirm&oacute; el responsable de productos Irwin Kwan. &ldquo;Gracias al intercambio constante de ideas, junto con la capacidad de &#8216;jugar&#8217; con los primeros prototipos y obtener una sensaci&oacute;n real del producto desde el inicio, fuimos capaces de representar lo que o&iacute;amos de nuestros clientes. Esto signific&oacute; poder estar seguros de estar de obtener los resultados tambi&eacute;n desde una perspectiva t&eacute;cnica&rdquo;.<\/p>\n<h2>5 procesos de productividad que marcaron la diferencia<\/h2>\n<p>El equipo contin&uacute;a utilizando diferentes t&eacute;cnicas para maximizar la eficiencia y la productividad durante el proceso de desarrollo. No es necesario crear software para aprender de estas moralejas. Incluso si trabajas en un tipo de proyecto muy diferente, es probable que exista una estrategia que te funcione.<\/p>\n<h3>[1] No distraerse con los detalles<\/h3>\n<p>Al optimizar el proceso de revisi&oacute;n de c&oacute;digos, el equipo pudo centrarse en el todo, en vez de en los peque&ntilde;os detalles.<\/p>\n<p>&ldquo;Estamos leyendo activamente los c&oacute;digos de los dem&aacute;s y tenemos reglas internas estrictas con relaci&oacute;n a la descripci&oacute;n de peticiones &lsquo;pull request&rsquo;, adem&aacute;s de un grupo de herramientas a&uacute;n m&aacute;s estrictas que comprueban los errores m&aacute;s comunes de los desarrolladores de forma totalmente autom&aacute;tica&rdquo;, dijo Ilya. &ldquo;Esto nos permite no centrarnos en detectar comas o par&eacute;ntesis mal colocados, sino en intentar comprender la idea subyacente y el razonamiento que hay detr&aacute;s del c&oacute;digo&rdquo;.<\/p>\n<p><strong>Moraleja:<\/strong> libera energ&iacute;a mental automatizando la mayor parte posible del proceso. Si te distraes con detalles triviales, no podr&aacute;s concentrarte en decisiones importantes.<\/p>\n<h3>[2] Mantener sprints cortos y centrados<\/h3>\n<p>En un flujo de trabajo de desarrollo basado en un enfoque Scrum, los &ldquo;sprints&rdquo; son periodos de tiempo que el equipo reserva para el trabajo dedicado a resultados definidos. Al final de cada sprint, los miembros del equipo se re&uacute;nen, reflexionan sobre su progreso, establecen objetivos claros para el siguiente e incorporan sus opiniones. Para el equipo de desarrollo de Gantt, la duraci&oacute;n de los sprints marc&oacute; una diferencia importante.<\/p>\n<p>&ldquo;Los sprints cortos fueron de gran ayuda,&rdquo; coment&oacute; Ilya. &ldquo;Tambi&eacute;n las sesiones de planificaci&oacute;n de sprints fueron muy cortas: cuando el equipo realmente entiende lo que est&aacute; creando, no se necesitan largas discusiones&rdquo;.<\/p>\n<p><strong>Moraleja:<\/strong> \u00bftrabajas con un equipo? Analiza cuidadosamente el lapso de tiempo que transcurrir&aacute; antes de una nueva reuni&oacute;n de revisi&oacute;n e informaci&oacute;n. Cuando se pisan nuevos terrenos, puede ser necesario reunirse con m&aacute;s frecuencia.<img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/s3.amazonaws.com\/wordpress-production\/wp-content\/uploads\/2016\/02\/gantt-balance-what-is-possible.png\" alt=\"Desarrollo de diagramas de Gantt\" \/><\/p>\n<h3>[3] Cazar los problemas r&aacute;pidamente (tambi&eacute;n conocido como Spike It!)<\/h3>\n<p>Convertir el dise&ntilde;o de una funci&oacute;n en algo completamente funcional siempre ser&aacute; un proceso complicado, y los desarrolladores de Gantt sab&iacute;an que pod&iacute;an esperar lo inesperado. Desde las limitaciones tecnol&oacute;gicas a los problemas de compatibilidad, ayud&oacute; contar con un proceso que busca activamente sacar a la luz esos retos, para que puedan abordarse con prontitud.<\/p>\n<p>&ldquo;En nuestro equipo, hacemos lo que denominamos &lsquo;spikes&rsquo; para superar los desaf&iacute;os&rdquo;, coment&oacute; Eduardo Lanchares, desarrollador full stack.<\/p>\n<p>&ldquo;Un spike es una prueba de concepto de la viabilidad de una funcionalidad. Con esa investigaci&oacute;n profundizamos en la funcionalidad y podemos entonces detectar posibles limitaciones de los problemas. Posteriormente, esta informaci&oacute;n se comparte con el equipo de producto y dise&ntilde;o, de modo que puedan pensar en una soluci&oacute;n alternativa para resolverlo o dedicar m&aacute;s tiempo para encontrar una mejor soluci&oacute;n t&eacute;cnica. Se trata de trabajo en equipo: todos intentamos encontrar el equilibrio entre lo que queremos y lo que es posible&rdquo;.<\/p>\n<p><strong>Moraleja:<\/strong> antes de sumergirte en una nueva idea, compru&eacute;bala e informa de ello. Si todas las partes implicadas pueden mantener una mente abierta, se lograr&aacute; identificar los problemas graves con m&aacute;s rapidez y con m&iacute;nimos costes irrecuperables. El proceso puede incluso llevar a soluciones creativas que funcionen mejor que el concepto original.<\/p>\n<h3>[4] Dividir los trabajos estrat&eacute;gicamente<\/h3>\n<p>La divisi&oacute;n de un proyecto grande en partes permiti&oacute; a los miembros del equipo de Gantt realizar m&aacute;s trabajo, pero solo porque pusieron m&aacute;s cuidado en hacerlo de forma aut&oacute;noma, lo que tambi&eacute;n evit&oacute; posibles conflictos durante el proceso, y con tareas de tama&ntilde;o correcto para garantizar que la carga de trabajo fuera razonable.<\/p>\n<p>&ldquo;El trabajo en paralelo es la clave para un desarrollo m&aacute;s r&aacute;pido&rdquo;, dijo Andr&eacute;s. &ldquo;La tecnolog&iacute;a utilizada y el modo en el que se estructura el c&oacute;digo son importantes. Si tu c&oacute;digo est&aacute; bien organizado y las cosas se pueden dividir en componentes independientes, puedes comenzar a trabajar en determinadas partes de la funcionalidad mientras los miembros de tu equipo trabajan en otras&rdquo;.<\/p>\n<p>La elecci&oacute;n de tecnolog&iacute;a compatible con este enfoque hace mucho m&aacute;s f&aacute;cil una implementaci&oacute;n eficiente.<\/p>\n<p>&ldquo;Utilizamos un marco denominado React.js, que reproduce la idea de componentes aislados que se pueden colocar juntos&rdquo;, dijo Ilya. &ldquo;Por ello, no estamos solucionando un enredo. Es m&aacute;s como trabajar con un &aacute;rbol: todo el mundo toca diferentes ramas, pero hay un tronco central&rdquo;.<\/p>\n<p><strong>Moraleja:<\/strong> presta atenci&oacute;n a la hora de dividir el trabajo. Muchos equipos se dividen los proyectos de forma espont&aacute;nea en las reuniones: &ldquo;Vale, yo har&eacute; esto y t&uacute; har&aacute;s lo otro&rdquo;. T&oacute;mate tiempo para asegurarte de que la forma en la que se est&aacute; asignando el proyecto tiene sentido y se mantiene coordinada.<img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/s3.amazonaws.com\/wordpress-production\/wp-content\/uploads\/2016\/02\/gantt-motivation-plays-a-big-part.png\" alt=\"Desarrollo de diagramas de Gantt\" \/><\/p>\n<h3>[5] Explicar el &ldquo;porqu&eacute;,&rdquo; no solo el &ldquo;qu&eacute;&rdquo;<\/h3>\n<p>El equipo se asegur&oacute; de mantener una visi&oacute;n clara del motivo por el que estaban creando Gantt. Sab&iacute;an que la finalidad no era trivial cuando se trata de mantener el compromiso y el progreso de un equipo de desarrollo. Comprender el impacto de un proyecto lo cambia todo.<\/p>\n<p>&ldquo;Es incre&iacute;ble la importancia que tiene la motivaci&oacute;n en el desarrollo, y el &eacute;xito, de una nueva funcionalidad&rdquo;, dijo Pau. &ldquo;Hace posible superar retos como la utilizaci&oacute;n de tecnolog&iacute;a totalmente nueva y la creaci&oacute;n de interacciones completas de experiencia de usuario, al mismo tiempo que se siguen logrando hitos de acuerdo al calendario&rdquo;.<\/p>\n<p><strong>Moraleja: <\/strong> sobre todo si tienes miembros del equipo orientados a un prop&oacute;sito, presenta el &ldquo;porqu&eacute;&rdquo; de forma clara y convincente. Para algunas personas, supone una ayuda poder personalizar lo que est&aacute;n haciendo; para otras, es importante comprender el &ldquo;porqu&eacute;&rdquo; t&eacute;cnico. Podemos tener la tentaci&oacute;n de omitir este paso, pero es una oportunidad incre&iacute;ble para aumentar la participaci&oacute;n desde el principio.<\/p>\n<h2>Entonces, \u00bfcu&aacute;ndo puedes probar Gantt?<\/h2>\n<p>La funcionalidad oculta que permite una utilizaci&oacute;n intuitiva a los usuarios es sorprendentemente compleja y va mucho m&aacute;s all&aacute; de la propia funcionalidad de Gantt hasta la plataforma que hace funcionar las cuatro aplicaciones principales de Redbooth (navegador, escritorio, iOS y Android). Los desarrolladores de Redbooth trabajan intensamente para garantizar que todo funcione de forma correcta e intuitiva.<\/p>\n<p>En la actualidad, estamos planificando una versi&oacute;n beta cerrada en las pr&oacute;ximas semanas para realizar pruebas y recabar opiniones. \u00bfCu&aacute;ndo se lanzar&aacute;n los diagramas de Gantt de Redbooth para todos los clientes? Tenemos prevista una versi&oacute;n para primavera y ofreceremos informaci&oacute;n m&aacute;s detallada a medida que se acerquen las fechas. No pierdas de vista el blog, ya que en pr&oacute;ximos art&iacute;culos facilitaremos m&aacute;s informaci&oacute;n sobre el progreso de Gantt.<\/p>\n<p><em>Ilustraciones de <a href=\"https:\/\/dribbble.com\/set817\">Sarah Tanner<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta entrega de la serie dedicada a la creaci\u00f3n de las nuevas funciones Gantt de Redbooth, puedes acompa\u00f1ar entre bastidores a cinco desarrolladores de Redbooth.<\/p>\n","protected":false},"author":50,"featured_media":12309,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[423],"tags":[426,459],"class_list":["post-12783","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-es","tag-behind-the-scenes-es","tag-gantt-charts-es"],"_links":{"self":[{"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/posts\/12783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/comments?post=12783"}],"version-history":[{"count":0,"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/posts\/12783\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/media\/12309"}],"wp:attachment":[{"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/media?parent=12783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/categories?post=12783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redbooth.com\/es\/wp-json\/wp\/v2\/tags?post=12783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}