<?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>Xuaps</title>
	<atom:link href="https://www.xuaps.com/es/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.xuaps.com</link>
	<description>Esto va de crear productos</description>
	<lastBuildDate>Thu, 11 Jan 2018 16:33:41 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.6</generator>
	<item>
		<title>¿Por qué no deberías enamorarte de la tecnología?</title>
		<link>https://www.xuaps.com/es/por-que-no-deberias-enamorarte-de-la-tecnologia/</link>
		<comments>https://www.xuaps.com/es/por-que-no-deberias-enamorarte-de-la-tecnologia/#comments</comments>
		<pubDate>Sun, 07 May 2017 19:21:23 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[malas prácticas]]></category>
		<category><![CDATA[Productos]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=442</guid>
		<description><![CDATA[Hace poco tomé parte en la organización de un hackathon, hubo un equipo que llamó mi atención. Uno que empezó a desarrollar su idea muy rápido, en poco tiempo tenían las tareas distribuidas y cada uno de ellos estaba trabajando en ellas. En la presentación nos contaron acerca de lo[...]]]></description>
				<content:encoded><![CDATA[<p>Hace poco tomé parte en la organización de un hackathon, hubo un equipo que llamó mi atención. Uno que empezó a desarrollar su idea muy rápido, en poco tiempo tenían las tareas distribuidas y cada uno de ellos estaba trabajando en ellas. En la presentación nos contaron acerca de lo escalable y disponible que era su aplicación, capaz de soportar una gran carga. Todo en apenas 12 horas, impresionante, ¿no?</p>
<p>Bueno, lo sería si sólo nos importa la tecnología, pero ¿qué hay sobre la idea? , ¿tiene sentido? ¿Necesitas toda esta tecnología para validar tu idea o podrías implementar una aplicación mucho más sencilla para ese cometido? Intenté obtener respuestas a estas preguntas pero fue realmente complicado porque, o bien estaban muy ocupados desarrollando su idea, o bien pensaron que mis preguntas eran estúpidas y no merecían una respuesta. Se enamoraron de la tecnología y se olvidaron de lo más importante, ayudar a los refugiados.</p>
<p>Ésto no es una crítica a un equipo que derrochaba talento sino una reflexión sobre cómo los técnicos podemos perder el foco y poner nuestros prioridades por encima de las de la compañía o las del cliente. Sin embargo tengo que reconocer que el formato del evento pudo conducir a la gente a preocuparse más por la tecnología que por ayudar a la gente. En cualquier caso, éste es un comportamiento que he visto algunas veces a lo largo de mi carrera y es peligroso. No programamos ordenadores sino que solucionamos problemas.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.xuaps.com/es/por-que-no-deberias-enamorarte-de-la-tecnologia/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Liderazgo</title>
		<link>https://www.xuaps.com/es/liderazgo/</link>
		<pubDate>Wed, 03 May 2017 05:58:11 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[equipos]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=434</guid>
		<description><![CDATA[En todos estos años desarrollando software he desempeñado diferentes roles pero el que mas he disfrutado ha sido lo que ahora llaman líder técnico. Para mi, liderar gente no consiste en alinearlos y ayudarlos a conseguir los objetivos del equipo, para mi es mucho más. En mi opinión el fin[...]]]></description>
				<content:encoded><![CDATA[<p>En todos estos años desarrollando software he desempeñado diferentes roles pero el que mas he disfrutado ha sido lo que ahora llaman líder técnico.</p>
<p>Para mi, liderar gente no consiste en alinearlos y ayudarlos a conseguir los objetivos del equipo, para mi es mucho más. En mi opinión el fin ultimo es ser reemplazable.</p>
<p>Hace algún tiempo tuve la oportunidad de construir un equipo para desarrollar un nuevo producto. Tenía que hacerlo con gente de dentro de la compañía, gente a la que no conocía, gente sin experiencia en las tecnologías y practicas que íbamos a usar. Al principio tome una postura más, llamémosle, dictatorial. Algo como esto:</p>
<p>“If we have data, let’s look at data. If all we have are opinions, let’s go with mine.” ― Jim Barksdale</p>
<p>Poco a poco el equipo fue ganando confianza y experiencia pudiendo moverme a un estilo de liderazgo más agile. Dando al equipo más libertad y responsabilidad. Pero la parte interesante de esta historia fue que algunos miembros del equipo no pararon ahí, se convirtieron en autentico líderes. Todo el mérito fue suyo, lo único que yo hice fue no impedirlo.</p>
<p>Esta clase de liderazgo es en la que yo creo y a la que me refería, uno dónde todo el equipo (o algunos miembros de el, eso esta bien también) lidera. Me gusta construir esta clase de equipos y trabajar formando parte de ellos.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Hackathon for refugees #refugal</title>
		<link>https://www.xuaps.com/es/hackathon-for-refugees-refugal/</link>
		<pubDate>Sun, 12 Mar 2017 16:00:39 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[eventos]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=427</guid>
		<description><![CDATA[La semana pasada tuvo lugar en Vigo la segunda edición del Hackaton for refugees en cuya organización tomé parte activamente. Las dos semanas previas requirieron poner más atención y me mantuvieron alejado del blog. Una semana después del evento creo que es un buen momento para mirar hacia atrás y[...]]]></description>
				<content:encoded><![CDATA[<p>La semana pasada tuvo lugar en Vigo la segunda edición del Hackaton for refugees en cuya organización tomé parte activamente. Las dos semanas previas requirieron poner más atención y me mantuvieron alejado del blog. Una semana después del evento creo que es un buen momento para mirar hacia atrás y hacer balance.</p>
<p><strong>Los errores</strong></p>
<p>En mi opinión uno de los errores más importantes fue no conseguir que una ONG respaladara el evento, tanto apoyándolo con su nombre como participando en él. No teníamos gente que hubiera estado en el terreno y se notó. Me gustaría justificar qué hizo que no pudiéramos conseguir ese apoyo pero a día de hoy no lo sé. Por otro lado, hablando de cosas que dependieron de mí, la asistencia. A pesar de enviar un email dos semanas antes del evento y otro el día anterior tuvimos un absentismo cercano al 50%, está claro, no cobrar es un error. Aunque sea algo simbólico hay que cobrar para que sólo se apunte gente realmente interesada.</p>
<p><strong>El evento</strong></p>
<p>5 equipos se encargaron de dar vida a 5 ideas de entre las 22 propuestas. Trabajaron durante la tarde del sábado y todo el domingo y al final presentaron el resultado ante compañeros e invitados.</p>
<ul>
<li><a href="http://meanit.refu.gal/">MeanIt</a> &#8211; Una plataforma donde voluntarios pueden ofrecer bienes y servicios para refugiados.</li>
<li><a href="http://morewithless.refu.gal/">Morewithless</a> &#8211; Movimiento para involucrar a compañías a proveer un mecanismo para que sus empleados donen parte de su salario a causas sociales.</li>
<li><a href="http://refubot.refu.gal/">Refubot</a> &#8211; Bot para enviar alertas a través de redes sociales.</li>
<li><a href="http://newlife.refu.gal/">Newlife</a> &#8211; Plataforma para gestionar donación de tierra y hogares en desuso a refugiados que pueden darle una segunda vida.</li>
<li><a href="http://socialarcade.refu.gal/">SocialArcade</a> &#8211; Campaña de crowdfunding para financiar la construcción de tres máquinas arcade cuya recaudación irá destinada a proyectos sociales.</li>
</ul>
<p>La verdad es que este tipo de eventos se viven de una forma muy distinta desde la organización, mucho más preocupado de que todo salga bien, de comunicar todo lo que se está haciendo y de ayudar a los equipos a sacar adelante sus proyectos. Aún así, me alegró ver viejos amigos y conocer gente nueva comprometida y con ganas de ayudar a los demás.</p>
<p><strong>El post evento</strong></p>
<p>Esta es la fase en la que estamos ahora, 5 equipos trabajaron durante dos días pero aún no hemos ayudado a nadie. Sinceramente soy incapaz de juzgar si las ideas desarrolladas son buenas o malas, por eso mi cometido ahora es darle visibilidad para que sean otros, los que saben de esto, quienes decidan si algo de lo que se hizo aquí puede ser útil. Hacerlo todo bajo licencias libres es sólo el primer paso, si nadie sabe que existe difícilmente podrán reutilizar el conocimiento que se generó durante estos dos días.</p>
<p><strong>Conclusión</strong></p>
<p>Después de todo el trabajo que supone organizar un evento como este, trabajo que aún no ha terminado, no te quedan muchas ganas de meterte en otra. Pero sería desperdiciar todas las lecciones aprendidas y darle la espalda a una causa importante. Habrá que replantearse algunas cosas e intentar subsanar los errores cometidos pero tarde o temprano cogeremos la oferta de la <a href="http://esei.uvigo.es/">ESEI</a> y empezaremos con la organización de la siguiente edición, estoy seguro.</p>
<p><strong>Agradecimientos</strong></p>
<p>Gracias a <a href="https://www.microsoft.com/es-es/">Microsoft</a>, <a href="https://www.quobis.com/">Quobis</a> y la <a href="http://esei.uvigo.es/">ESEI</a> por su colaboración financiando el evento. La comida que sobró se donó a la Asociación Vida Digna y el dinero recaudado, unos 200 euros, se donarán a Proactiva Open Arms . Gracias a todos lo que respondieron a la llamada, y también, por supuesto, a Sonsoles, Carlos y Edo por su entrega y ayuda.</p>
<p><strong>Enlaces de interés</strong></p>
<ul>
<li><a href="https://twitter.com/search?f=tweets&amp;vertical=default&amp;q=%23refugal&amp;src=typd">Seguimiento en twitter </a></li>
<li><a href="https://refu-gal.github.io/">Resultado</a></li>
<li><a href="https://github.com/refu-gal">GitHub</a></li>
<li><a href="https://goo.gl/photos/STob5yWYh7ZayZZa9">Fotos</a></li>
</ul>
]]></content:encoded>
			</item>
		<item>
		<title>Deja a tu equipo equivocarse</title>
		<link>https://www.xuaps.com/es/deja-a-tu-equipo-equivocarse/</link>
		<pubDate>Mon, 20 Feb 2017 20:40:24 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[equipos]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=418</guid>
		<description><![CDATA[&#8220;Teamwork is the ability to work together toward a common vision. The ability to direct individual accomplishments toward organizational objectives. It is the fuel that allows common people to attain uncommon results.&#8221; &#8211;Andrew Carnegie Si me preguntas cual fue mi mayor error como CTO te diría que fue gestionar demasiado[...]]]></description>
				<content:encoded><![CDATA[<p>&#8220;Teamwork is the ability to work together toward a common vision. The ability to direct individual accomplishments toward organizational objectives. It is the fuel that allows common people to attain uncommon results.&#8221; &#8211;Andrew Carnegie</p>
<p>Si me preguntas cual fue mi mayor error como CTO te diría que fue gestionar demasiado a mi equipo. Creo que lo llaman micro-management. No es una excusa pero de un día para otro me hice responsable de muchas personas y proyectos y perdí el buen juicio. Quería controlar todo, asignar cada tarea, hacer seguimiento de todo el trabajo en curso, estaba al tanto de cualquier problema. Todo eso, todos los días hasta que no pude más.</p>
<p>Me dí cuenta de que lo estaba haciendo mal, cometí el error más frecuente que todo el que empieza con Agile comete, no confiar en tu equipo. No tienes que preocuparte de si están trabajando duro o si sus decisiones son las buenas o… no, no, no, debes enfocarte en la calidad del producto y en cumplir los objetivos. ¡Déjales equivocarse! Si toman malas decisiones, si el código es de mala calidad, la cadencia de entrada se verá afectada porque hacer cambios será más costoso y el todo estará contaminado de errores, el equipo lo notará y tu también. Juntos tendréis que buscar soluciones. Si el equipo no es capaz de encontrar un ritmo sostenible tendrás que ayudarlos. Tendrás que estar a su lado cuando fallen y entreguen cero valor al resto de la compañía o al cliente. Pero nada más.</p>
<p>Algunas cosas importantes: debes compartir una visión común con tu equipo, debes acordar un objetivo común para la iteración, debes proveer soporte para cada problema y, lo más importante, debes trabajar con profesionales no con niños que fingen serlo. Créeme, ésto será lo más difícil, pero sin ésto conseguir una relación de confianza con tu equipo es imposible y ésta es la base de todo lo demás. </p>
]]></content:encoded>
			</item>
		<item>
		<title>The solo man</title>
		<link>https://www.xuaps.com/es/the-solo-man/</link>
		<comments>https://www.xuaps.com/es/the-solo-man/#comments</comments>
		<pubDate>Sun, 12 Feb 2017 17:28:17 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[equipos]]></category>
		<category><![CDATA[malas prácticas]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=412</guid>
		<description><![CDATA[A veces los equipos se construyen en torno a una persona, alguien que acumula la mayor parte del conocimiento y que es el único que siente la seguridad para evolucionar un software que acumula una gran deuda técnica. ¿Cómo detectarlo? Casi seguro que tu desarrollo es muy dependiente de esta[...]]]></description>
				<content:encoded><![CDATA[<p>A veces los equipos se construyen en torno a una persona, alguien que acumula la mayor parte del conocimiento y que es el único que siente la seguridad para evolucionar un software que acumula una gran deuda técnica. ¿Cómo detectarlo?</p>
<p>Casi seguro que tu desarrollo es muy dependiente de esta persona, el resto de miembros no sienten el código como suyo (propiedad colectiva del código), se rompen cosas con frecuencia debido a efectos laterales, las decisiones de diseño no se toman en equipo, etc. Malo cuando la aplicación es pequeña pero cuando crece y la complejidad aumenta puede ser catastrófico, una bomba de relojería a punto de estallar. La complejidad que una persona puede manejar es limitada, tarde o temprano tú solo-man se verá sobrepasado. Los bugs serán cada vez más frecuentes e introducir cambios más lento, el resto del equipo empezará a cansarse de encontrar cambios en el código con los que no está de acuerdo y empezarán a marcharse.</p>
<p>Aunque te pueda parecer que la situación descrita no es para tanto y que es tolerable como profesionales, nuestro compromiso no debería ser hacer equilibrios sobre lo tolerable sino ofrecer lo mejor para resolver el problema sin malgastar el dinero de nuestros clientes o nuestra empresa.</p>
<p>Sé profesional, juega en equipo.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.xuaps.com/es/the-solo-man/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Product owners</title>
		<link>https://www.xuaps.com/es/product-owners/</link>
		<pubDate>Mon, 06 Feb 2017 21:38:39 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[equipos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Productos]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=404</guid>
		<description><![CDATA[Los mejores product owners que he tenido fueron aquellos obsesionados con el producto y su calidad. Aquellos a los que no les importaba ensuciar mi precioso código para meter nuevos requisitos, ni el tiempo, ni el dinero. Aquellos que tenían muy claro el triángulo de hierro y siempre sabían cómo[...]]]></description>
				<content:encoded><![CDATA[<p>Los mejores product owners que he tenido fueron aquellos obsesionados con el producto y su calidad. Aquellos a los que no les importaba ensuciar mi precioso código para meter nuevos requisitos, ni el tiempo, ni el dinero. Aquellos que tenían muy claro el triángulo de hierro y siempre sabían cómo negociar con el cliente sin trasladar la presión al equipo. Aquellos fueron los mejores, no porque mi trabajo fuera más fácil sino porque con ellos hice productos de los que estar orgulloso.</p>
<p>Los peores product owners que he tenido fueron aquellos con un perfil técnico.</p>
]]></content:encoded>
			</item>
		<item>
		<title>THE KING IS DEAD, LONG LIVE THE KING!</title>
		<link>https://www.xuaps.com/es/the-king-is-dead-long-live-the-king/</link>
		<pubDate>Mon, 28 Nov 2016 19:50:53 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[Productos]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=326</guid>
		<description><![CDATA[Así es, hoy es el día, aunque era una muerte anunciada hoy lo hago oficial. Quiero agradecer a todos los que me ayudaron en esta pequeña aventura Pepe, Edu, Alvaro y Jessica en el equipo, a los amigos que se suscribieron y a todos los que nos alentaron y empujaron.[...]]]></description>
				<content:encoded><![CDATA[<p>Así es, hoy es el día, aunque era una muerte anunciada hoy lo hago oficial. Quiero agradecer a todos los que me ayudaron en esta pequeña aventura <a href="https://t.co/vG7k1IXim0">Pepe,</a> <a href="https://github.com/eanovoa">Edu,</a> <a href="https://github.com/averdion">Alvaro</a> y Jessica en el equipo, a los amigos que se suscribieron y a todos los que nos alentaron y empujaron.</p>
<p>Si tuviera que señalar el mayor error que nos hizo fracasar con <a href="http://refly.xyz">Refly</a> diría que fue convertir un proyecto que nos gustaba y queríamos hacer en un producto que nadie pedía. De hecho, cuando descubrí <a href="http://devdocs.io/">devdocs.io</a> debimos abandonarlo, y no porque la competencia sea mala sino porque cumplia de sobra con nuestras espectativas iniciales. </p>
<p>De todos modos no me arrepiento, fue un tiempo en el que aprendí muchísimo sobre startups, productos y equipos. También me hice un experto en todo este mundillo de la documentación de proyectos software y su posterior consulta y sigo pensando que hay hueco, tal vez algún día.</p>
<p>Lo hicimos lo mejor que supimos y creamos una aplicación de la que estar orgullosos pero no era un producto. Sin tiempo ni ingresos y con otra gente proporcionando un servicio similar creo que lo mejor es decirle adiós pero algún día volveremos. </p>
]]></content:encoded>
			</item>
		<item>
		<title>La daily</title>
		<link>https://www.xuaps.com/es/la-daily/</link>
		<pubDate>Tue, 20 Sep 2016 16:37:51 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[equipos]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=321</guid>
		<description><![CDATA[El sábado pasado fue el PyDay Galicia, un evento muy divertido y bien organizado por la gente de Python Vigo. Mi compañero en Agile Galicia, Pepe Doval, dio una charla sobre Agile, Scrum y Kanban que no os podéis perder. En ella, Pepe explicó un montón de cosas interesantes para[...]]]></description>
				<content:encoded><![CDATA[<p>El sábado pasado fue el <a href="https://python-vigo.github.io/pyday-2016/">PyDay Galicia</a>, un evento muy divertido y bien organizado por la gente de Python Vigo. Mi compañero en Agile Galicia, <a href="https://about.me/pepellou#!">Pepe Doval</a>, dio <a href="http://pyvideo.org/pyday-galicia-2016/agile-scrum-y-kanban.html">una charla sobre Agile, Scrum y Kanban</a> que no os podéis perder. En ella, Pepe explicó un montón de cosas interesantes para los neófitos y para lo más veteranos, algunas de ellas con las que yo discrepo.</p>
<p>Pepe sostiene que la daily, esa reunión en la que se hacen las tres dichosas preguntas, es una de las más importantes de Scrum y yo me pregunto ¿cómo ha conseguido que funcione? Pero antes de que me des la chapa sobre cómo la haces en tu empresa déjame que te cuente a qué me estoy refiriendo.</p>
<p>La mécanica de la daily es muy sencilla pero… que levante la mano el que crea que la daily es para que todo miembro del equipo sepa que están haciendo los demás. Si ese es el problema que estás resolviendo en esta reunión, créeme, tienes otros. Si hay buena comunicación, si el tablero está actualizado, si todo el mundo usa el tablero… en fin&#8230;</p>
<p>La daily persigue objetivos más elevados. Por un lado, por supuesto, está uno de los motivos recurrentes en todas las reuniones, hacer equipo. Sin embargo, como muy bien dice Pepe en su charla, la daily es la reunión que se preocupa del sprint. Si vamos a la velocidad prevista, si tenemos bloqueos y cómo los resolvemos pero, sobre todo, es la reunión en la que la autoorganización del equipo debería brillar. Es cuando un miembro se dirige a otro y le pregunta cómo puede estar tardando tanto con esa tarea y se ofrece para ayudar. Es cuando se detecta un bloqueo que no se puede superar y el equipo decide lo que va a hacer para no afectar al sprint. Es cuando nos damos cuenta de que el tamaño de una tarea es demasiado grande y negociamos con el cliente recortar funcionalidad. En definitiva es cuando el equipo al completo toma el rol del detestado jefe de proyecto.</p>
<p>¿Sabéis cuántas veces he visto una daily funcionar así? Cero. Y es más, me pregunto: si tengo un equipo tan bueno que es capaz de hacer así las dailys ¿por qué no probamos a quitarlas y les damos el superpoder de hablar cuando necesiten?</p>
<p>He tenido mejores conversaciones delante de un panel Kanban que en una daily. Porque el panel kanban se centra en la imágen completa, bloqueos, wip, cadencia de entrega… mientras que la daily se centra en las personas y hace falta tener un equipo muy maduro para que esa interacción funcione como yo espero.</p>
<p>Desde hace un tiempo he vuelto a enfocarme más en la parte técnica de agile que en la parte metodológica pero sigo teniendo mi opinión, lo siento por los Pepes del mundo <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
			</item>
		<item>
		<title>Trabajo remoto y transparencia</title>
		<link>https://www.xuaps.com/es/trabajo-remoto-transparencia/</link>
		<pubDate>Mon, 01 Aug 2016 06:30:52 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[equipos]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=314</guid>
		<description><![CDATA[Después de algunos años en este sector pasando por distintas empresas uno empieza a tener claras algunas cosas acerca de lo que funciona y lo que no funciona. Es realmente difícil encontrar a alguien que admita que tal metodología o práctica no le ha funcionado en su contexto y que[...]]]></description>
				<content:encoded><![CDATA[<p>Después de algunos años en este sector pasando por distintas empresas uno empieza a tener claras algunas cosas acerca de lo que funciona y lo que no funciona. Es realmente difícil encontrar a alguien que admita que tal metodología o práctica no le ha funcionado en su contexto y que otra con menos &#8220;hype&#8221; se adapta mejor. Las empresas se lanzan a la sopa de letras por atesorar cuantos más acrónimos molones mejor.</p>
<p>Pero hoy no vamos a hablar de Agile, al menos no de forma directa. Hoy vamos a hablar de un par de cosas que para mi son importantes cuando decido pasar a formar parte de la familia de una nueva empresa.</p>
<p>La primera es trabajar en remoto. Se puede trabajar en remoto pero no es fácil. Durante los dos años que estuvimos con Refly y ahora en Quobis he trabajado y trabajo en remoto. En mi opinión trabajar de esta forma requiere una constante comunicación y una total transparencia. Esta última es la segunda de mis razones.</p>
<p>Ambas exigen un cambio cultural a nivel empresa y  un cambio mental de todas las  personas que componen la organización. Incluso cuando no se está en remoto hay que seguir trabajando de la misma forma y la información debe seguir estando disponible para cualquiera que la pueda necesitar. Y aunque todo esto puede parecer un gran reto tecnológico la verdad es que las herramientas están ahí fuera, el problema como casi siempre son las personas. Tendemos a ir hacia lo fácil, hacia lo que estamos acostumbrados y, aunque no seamos conscientes, nos resistimos al cambio. </p>
<p>El riesgo es acabar teniendo islas de una o varias personas. Nada que no pueda ocurrir también en un entorno de trabajo presencial, todos hemos conocido al típico bandolero. De hecho, las estructuras típicas de las empresas que se empeñan en mantener tu culo pegado a su silla favorecen la creación de islas. </p>
<p>Yo no sé si todo el mundo puede o quiere trabajar de este modo pero si parece que cada vez hay más gente haciéndolo y que esta opción seguirá aumentando.  Por mi experiencia con Refly os confirmo que puede funcionar muy bien pero también que si no funciona lo hará a lo grande. Existen términos medios pero probablemente sea porque no es un modelo totalmente distribuido, sino que es un modelo basado en islas y bandoleros.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Principios diseño: DIP, IoC, DI</title>
		<link>https://www.xuaps.com/es/dip-ioc-di/</link>
		<pubDate>Mon, 25 Jul 2016 06:30:55 +0000</pubDate>
		<dc:creator><![CDATA[David Vílchez]]></dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">https://www.xuaps.com/?p=299</guid>
		<description><![CDATA[No me considero un purista, siempre he pensado que hay que beber la información, extraer la esencia y aplicarla en tu contexto. Pero a veces conviene ponerse tiquismiquis con ciertos conceptos porque nos ahorrará muchos quebraderos de cabeza. No se por qué, pero DIP, IoC y DI son términos que[...]]]></description>
				<content:encoded><![CDATA[<p>No me considero un purista, siempre he pensado que hay que beber la información, extraer la esencia y aplicarla en tu contexto. Pero a veces conviene ponerse tiquismiquis con ciertos conceptos porque nos ahorrará muchos quebraderos de cabeza.</p>
<p>No se por qué, pero DIP, IoC y DI son términos que normalmente se confunden y se usan indiferentemente. No me preocupa, en la práctica parece que el concepto ha asentado y que todos lo tenemos más o menos claro. Pero cuando se propone aplicar estos conceptos en un proyecto para poder inyectar mocks en los tests me doy cuenta de que, tal vez, vale la pena pararse un poco y recapacitar.</p>
<p>Dependency inversion principle (DIP) es un principio de diseño que nos habla sobre acoplamiento, específicamente sobre no acoplar nuestro código a implementaciones concretas si no a abstracciones. Una forma de conseguirlo es aplicar Inversion of Control (IoC), un concepto muy genérico que no se aplica sólo a las dependencias y que queda resumido en el Hollywood principle: &#8220;no nos llames, nosotros te llamaremos&#8221;. Y con todo esto llega Dependency Injection (DI), un tipo específico de IoC que nos ayuda a conseguir DIP. Claro, ¿verdad? </p>
<p>Lo importante de todo esto es que aplicando estos principios y técnica conseguimos un código menos acoplado y más testable, no al revés. No usamos todos estos conceptos para poder hacer tests unitarios. Ya lo se, parece lo mismo pero no lo es. Si empiezas a introducir estos cambios en tu código de forma puntual para poder hacer algunos tests, terminarás con un código plagado de puertas traseras, contaminado por los tests. Sin embargo, si dejas que los tests te alumbren el camino y te señalen esos malos olores, podrás volver al dibujo completo y decidir qué cambios quieres incluir en tu diseño, terminarás con un código más desacoplado y consistente.</p>
<p>Cuando escribes código partiendo de las pruebas tomas decisiones inconscientes: cómo será tu api, qué devolverá este método o aquel, qué recibe en la llamada… La atalaya de las pruebas es muy buena para este tipo de decisiones ya que las tomas desde el punto de vista de quién usará tu API. Sin embargo, en mi opinión, hay algunas decisiones, como aplicar un patrón arquitectónico, que deben ser conscientes, evaluadas y razonadas porque las pruebas nos tienen que guiar pero a veces hay que modificar la ruta y el GPS eres tu.</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
