<?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>Lógica mente &#187; desarrollo</title>
	<atom:link href="http://jarboleya.com/tag/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://jarboleya.com</link>
	<description>Velneo, tecnología y empresa</description>
	<lastBuildDate>Sat, 19 May 2012 23:13:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Cambiando de herramienta de desarrollo</title>
		<link>http://jarboleya.com/2009/09/21/cambiando-de-herramienta-de-desarrollo/</link>
		<comments>http://jarboleya.com/2009/09/21/cambiando-de-herramienta-de-desarrollo/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 21:00:47 +0000</pubDate>
		<dc:creator>jarboleya</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[estrategia]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[cambiando]]></category>
		<category><![CDATA[evolución]]></category>
		<category><![CDATA[herramienta]]></category>
		<category><![CDATA[historia]]></category>
		<category><![CDATA[lenguaje]]></category>
		<category><![CDATA[migración]]></category>
		<category><![CDATA[plataforma]]></category>

		<guid isPermaLink="false">http://jarboleya.com/?p=823</guid>
		<description><![CDATA[<p></p> <p>¡Qué fácil resulta olvidarse del pasado!</p> <p>Esta se la conclusión a la que llego tras la experiencia vivida en casi 3 décadas dedicado al desarrollo de software.</p> <p>La primera vez</p> <p>La primera vez que aprendes a usar un lenguaje de programación o una herramienta de desarrollo, todo es nuevo, apenas existen barreras de aprendizaje, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-829 alignright" style="margin-left: 20px; margin-right: 20px;" title="OS/400" src="http://jarboleya.files.wordpress.com/2009/09/tn5250.png" alt="Cambiando de herramienta de desarrollo" width="394" height="304" /></p>
<p>¡Qué fácil resulta olvidarse del pasado!</p>
<p>Esta se la conclusión a la que llego tras la experiencia vivida en casi 3 décadas dedicado al desarrollo de software.</p>
<p><strong>La primera vez</strong></p>
<p>La primera vez que aprendes a usar un lenguaje de programación o una herramienta de desarrollo, todo es nuevo, apenas existen barreras de aprendizaje, ni barreras de entrada. Tampoco tienes lastres del pasado. Todo es sumar, sumar y sumar&#8230;</p>
<p>Pasado un tiempo, que depende de la dedicación y de cada programador adquieres un nivel que te permite abordar proyectos cada vez más complejos. Finalmente, terminas convirtiéndote en un experto de esa herramienta y, durante años desarrollas software e implantas aplicaciones en nuevos clientes.</p>
<p><strong>La hora del cambio</strong></p>
<p>El software no es diferente al resto de tecnologías, con el paso de los años se cumple un ciclo tecnológico y comienza otro. Cada ciclo suele obligar a un cambio de lenguaje, herramienta o plataforma de desarrollo.</p>
<p>A diferencia de lo que ocurrió la primera vez, ahora existen multitud de barreras que dificultan el cambio:</p>
<p><span id="more-823"></span></p>
<p><strong>Los hábitos de programación</strong></p>
<p><span style="background-color: #ffffff;">Has adquirido hábitos de programación, cambiar se convierte en un trauma.</span></p>
<p><span style="background-color: #ffffff;">Inevitablemente comparas la nueva herramienta, desconocida, con la antigua que dominas a la perfección, otro trauma.</span></p>
<p><span style="background-color: #ffffff;">El desconocimiento de la nueva plataforma, durante el tiempo de aprendizaje, produce sensaciones frustrantes. Lo que ahora con la nueva herramienta tardas en hacer 2 horas con la antigua lo haces en 10 minutos. Esta pérdida de rendimiento se subsana con formación y dedicación al aprendizaje, es decir, programar, programar y programar.</span></p>
<p><span style="background-color: #ffffff;">Mi experiencia es que cada vez que tratas de dominar una herramienta de forma autodidacta, las horas que empleas y que podrías emplear en tareas productivas acaban resultando más caras que hacer formación. </span></p>
<p><span style="background-color: #ffffff;"><strong>La base instalada</strong></span></p>
<p><span style="background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;">Tienes clientes con instalaciones a los que debes seguir prestando servicios, lo que te obliga a trabajar en paralelo con las dos herramientas de programación. Lo que se convierte en dos traumas, uno mientras te cuesta más trabajar con la nueva herramienta que con la vieja y el segundo cuando ya dominas la nueva y te cuesta ponerte con la vieja.</span></strong></span></p>
<p><span style="background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;">Si el cliente acepta -paga- el cambio hay que migrar sus aplicaciones, lo que produce también la necesidad de migrar sus datos y volver a formar a los usuarios.</span></strong></span></p>
<p><span style="background-color: #ffffff;"><span style="font-weight: normal; background-color: #ffffff;"><strong>La evolución</strong></span></span></p>
<p><span style="background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;">Con el paso del tiempo evolucionamos y, como sucede con los idiomas, dejas de comparar y comienzas a pensar directamente en como se hacen las cosas con la nueva plataforma.</span></strong></span></p>
<p><span style="background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;">Finalmente dominas mejor la nueva herramienta y te da pereza ponerte con la vieja.</span></strong></span></p>
<p><span style="background-color: #ffffff;">Si tienes aplicaciones estándar y dispones de financiación basada en suscripciones o pagos de actualización terminas creando una nueva versión. En el desarrollo de las nuevas versiones aprovechas para realizar las modificaciones que llevas deseando hacer desde hace tiempo, mejoras el diseño, interfaz y usabilidad de la aplicación.</span></p>
<p><span style="background-color: #ffffff;">Si tienes aplicaciones a medida, aprovechas las necesidades de los clientes para producir el cambio. Lo importante es que se produzca un beneficio mutuo, el cliente desea una nueva aplicación mejorada y tu consigues la financiación del desarrollo.</span></p>
<p><span style="background-color: #ffffff;">Mención aparte requieren las llamadas herramientas de migración. Mi experiencia se resume en en dos palabras &#8220;no funcionan&#8221;. Migrar suele suponer un ahorro de tiempo al principio pero que termina siendo una pérdida de tiempo y calidad al final. Una vez más, podemos afirmar que con la migración lo rápido es lento, y desarrollar el programa desde cero aprovechando los recursos que ofrecen las nuevas plataformas significa que lo lento es al final lo más rápido.</span></p>
<p><span style="background-color: #ffffff;"><strong>La historia vuelve a empezar</strong></span></p>
<p><span style="background-color: #ffffff;">Con el paso de los años, la plataforma va quedando obsoleta y el mercado se encarga de generar nuevas necesidades que te obligan a buscar un nuevo lenguaje, herramienta o plataforma. </span></p>
<p><span style="background-color: #ffffff;">La situación nunca vuelve a ser la de tus inicios, al contrario, se vuelve a repetir lo comentado en el cambio anterior, aunque probablemente con barreras cada vez más altas. Sin embargo, si quieres vivir en este mundo no te queda más remedio que renovarte o morir de obsolescencia.</span></p>
<p><strong>Conclusiones</strong></p>
<p>Combina formación y auto-estudio con el fin de reducir al máximo el tiempo de aprendizaje. Recuerda que tu tiempo vale dinero.</p>
<p>No realices formación si posteriormente no tienes una planificación para practicar lo aprendido. Organiza tu agenda para que tras realizar los cursos tengas un tiempo asignado a programar con la nueva herramienta y practicar lo aprendido, de no ser así olvidarás lo aprendido y habrás tirado el dinero.</p>
<p>Aprende primero lo sencillo, vete quemando etapas. Comienza con desarrollos sencillos pero completos, es decir, realiza el ciclo completo desde el análisis hasta la puesta en marcha de la aplicación. Esto te permitirá conocer y dominar la herramienta en su totalidad y no partes aisladas que luego te cueste combinar.</p>
<p>A medida que vayas aprendiendo plantéate desarrollar aplicaciones más complejas, para uso interno, pequeños módulos de aplicaciones o pequeñas aplicaciones.</p>
<p>No abordes proyectos grandes o importantes hasta que tengas perfectamente dominada la nueva plataforma de desarrollo. Si aún no estás preparado en la nueva plataforma aborda el proyecto con la antigua si consideras que conseguirás satisfacer las necesidades del cliente. Deshecha el proyecto, si es importante, en caso de que no puedas abordarlo con la herramienta antigua y no dominas aún la nueva. Recuerda que es preferible perder un cliente antes de abordar su proyecto que invertir tiempo en un proyecto condenado al fracaso.</p>
<p>Prepárate para convivir con las 2 herramientas de desarrollo un mínimo de 2 años. La duración de este período varía en función de la tipología de tu negocio y puede alargarse mucho más. Recuerda que mientras tengas un cliente que mantener en la antigua plataforma no podrás olvidarte de ella.</p>
<p>Fija tu estrategia y se fiel a ella. La estrategia es la que marca cuándo y hacia donde debes dar el salto tecnológico.</p>
<p>Recuerda, no tengas prisa, cualquier cambio de herramienta de desarrollo lleva tiempo y debes pensar que lo haces para la próxima década no para la próxima aplicación que tienes que desarrollar.</p>
]]></content:encoded>
			<wfw:commentRss>http://jarboleya.com/2009/09/21/cambiando-de-herramienta-de-desarrollo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cambiar de herramienta de desarrollo de aplicaciones empresariales</title>
		<link>http://jarboleya.com/2008/05/31/cambiar-de-herramienta-de-desarrollo-de-aplicaciones-empresariales/</link>
		<comments>http://jarboleya.com/2008/05/31/cambiar-de-herramienta-de-desarrollo-de-aplicaciones-empresariales/#comments</comments>
		<pubDate>Sat, 31 May 2008 12:03:08 +0000</pubDate>
		<dc:creator>jarboleya</dc:creator>
				<category><![CDATA[análisis]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[empresa]]></category>
		<category><![CDATA[informática]]></category>
		<category><![CDATA[lógica]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[cambio]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[empresariales]]></category>
		<category><![CDATA[herramienta]]></category>

		<guid isPermaLink="false">http://jarboleya.wordpress.com/?p=177</guid>
		<description><![CDATA[<p>Tras los interesante comentarios realizados por Manuel Tovar en el <a href="http://blog.es.velneo.com/web/p.pro?vdis=4&#38;p=33986">blog de Velneo</a>, me he animado a escribir este artículo ya que creo que este tema es importante y en muchos casos complejo de resolver.</p> <p>Resumiría el planteamiento que hace Manuel Tovar con las siguientes frases:</p> Tengo una base instalada de clientes ejecutando aplicaciones [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-178" style="float:right;" src="http://jarboleya.files.wordpress.com/2008/05/ma-musique.png" alt="cambio de herramienta de desarrollo de software empresarial" width="256" height="256" />Tras los interesante comentarios realizados por Manuel Tovar en el <a href="http://blog.es.velneo.com/web/p.pro?vdis=4&amp;p=33986">blog de Velneo</a>, me he animado a escribir este artículo ya que creo que este tema es importante y en muchos casos complejo de resolver.</p>
<p>Resumiría el planteamiento que hace Manuel Tovar con las siguientes frases:</p>
<ul>
<li>Tengo una base instalada de clientes ejecutando aplicaciones desarrolladas con un lenguaje de programación y una base de datos que son los que utilizo actualmente.</li>
<li>Tengo proyectos en desarrollo.</li>
<li>Tengo proyectos pendientes de desarrollar.</li>
<li>Llevamos retrasos en los plazos de entrega de los desarrollos a clientes.</li>
<li>Para comenzar con una nueva herramienta necesito formarme durante meses y eso supone necesitar más recursos.</li>
</ul>
<p>En primer lugar quiero dejar claro que estoy completamente de acuerdo con Manuel en que la toma de decisión de cambio es compleja. Voy a tratar de comentar mi visión de como lo plantearía basándome en la experiencia vivida durante años con otros lenguajes de programación.</p>
<p><span id="more-177"></span></p>
<p><strong>El software es una herramienta</strong></p>
<p>Las aplicaciones desarrolladas para los clientes finales debemos verlas como lo que son: herramientas para facilitar la gestión y administración que se convierte en un éxito gracias a una buena implantación que permite al cliente un alto grado de satisfacción.</p>
<p>Las herramientas de desarrollo también son eso &#8220;herramientas&#8221;. El mismo programador con diferentes herramientas puede llegar a soluciones similares y también a conseguir con el mismo esfuerzo aplicaciones funcionalmente muy diferentes.</p>
<p>Uno de los aspectos fundamentales para sacar el máximo partido de una herramienta de desarrollo es la experiencia. Por ese motivo cuando te sientes cómodo con una herramienta resulta complejo dar el salto a otra nueva.</p>
<p><strong>¿Tus clientes están contentos?</strong></p>
<p>Si con tu herramienta de desarrollo actual tus clientes están contentos y además es rentable está claro que no parece muy lógico plantearse un cambio.</p>
<p>Es cierto que siempre es bueno conocer lo que existe en el mercado y las tendencias que existen para poder tomar medidas en tiempo y forma. Pero pasar de la información a la formación requiere una toma de decisión previa.</p>
<p><strong>Plazos de entrega</strong></p>
<p>Si habitualmente sufres retrasos en los plazos de entrega de las aplicaciones y es por un exceso de carga de trabajo puede significar que comercialmente las cosas te van bien y que debes resolverlo en base a aumentar tus recursos o reducir el nuevo de proyectos que aceptas desarrollar aumentando tal vez el precio de tus desarrollos ya que se supone que tienes demanda por la calidad de tus aplicaciones.</p>
<p>Si por el contrario esos retrasos se producen por que tu herramienta de desarrollo, pese a tener experiencia con ella, no te permite desarrollar más rápido entonces entramos en el factor del análisis de la rentabilidad.</p>
<p><strong>Rentabilidad</strong></p>
<p>Esta palabra creo que es la que marca el inicio de algunas tomas de decisión de cambio de herramienta de desarrollo. De nada sirve tener la mejor herramienta del mercado si los resultados finales es que tu programación no te aporta una alta rentabilidad y que te permita obtener también una alta rentabilidad de los servicios de mantenimiento y actualización de versiones de aplicaciones a tus clientes finales.</p>
<p>Incluso si tu herramienta actual te permite ser rentable nunca está de más conocer si en el mercado existen alternativas más rentables. Desde un punto de vista empresarial este aspecto es básico. Para mi la rentabilidad debe ir ligada siempre a un alto grado de satisfacción del cliente final, en caso contrario la herramienta no es válida.</p>
<p>Existen otros muchos motivos para necesitar realizar un cambio de herramienta de desarrollo que finalmente convergen con la necesidad de darle viabilidad y rentabilidad a tu negocio.</p>
<p><strong>He encontrado una alternativa ¿Qué hago?</strong></p>
<p>Si has encontrado una herramienta de desarrollo que aparentemente ofrece lo que necesitas para que tu negocio sea más rentable entonces comienza la fase de testeo.</p>
<p>Para mi una herramienta no es cara o barata en función de su precio. Todos conocemos herramientas gratuitas que resultarían carísimas para desarrollar las aplicaciones que ahora tienes implantadas en tus clientes finales. De la misma forma pagar por una herramienta de desarrollo, por ejemplo 20.000€, podría resultar muy interesante si con ella puedo conseguir un beneficio bruto que multiplique por 5 esa cifra en los próximos años.</p>
<p>Por lo tanto el precio de la herramienta no es significativo en la toma de decisión salvo que nuestra capacidad financiera no nos permita llegar a su adquisición. El precio de las licencias de la base de datos siempre es un punto a tener en cuenta bajo el prisma de que su precio se repercute en el cliente final. Sobre este tema he escrito un par de artículos en este blog: <a title="Enlace Permanente a " rel="bookmark" href="http://jarboleya.com/2007/12/08/%c2%bfcomo-presupuestar-soluciones-de-software-empresarial-1%c2%aa-parte/">¿Cómo presupuestar soluciones de software empresarial? (1ª parte)</a> y <a title="Enlace Permanente a " rel="bookmark" href="http://jarboleya.com/2007/12/09/%c2%bfcomo-presupuestar-soluciones-de-software-empresarial-2%c2%aa-parte/">¿Cómo presupuestar soluciones de software empresarial? (2ª parte)</a></p>
<p><strong>Ahora toca aprender y probar</strong></p>
<p>Si hemos seleccionado una herramienta y ya la hemos adquirido o estamos usando una versión gratuita de la misma el siguiente paso es el testeo. Para hacerlo tenemos 2 posibilidades. Hacerlo por nuestra cuenta de forma autodidacta o utilizar algún recurso formativo.</p>
<p>Pagar por un curso puede resultar la opción más económica. Nunca debemos olvidarnos de que nuestra horas también tienen un precio de coste importante y que cada hora que estemos investigando, formándonos y probando suma en el coste total.</p>
<p>Pagar, por ejemplo 900€ por un curso de 30 horas que te permita conocer de la mano de un experto todas las posibilidades que ofrece la herramienta y la metodología de programación de la herramienta puede ser una opción económica. ¿Por qué? Si, por ejemplo, dedicamos 2 horas al día para aprender una nueva herramienta, serán unas 40 horas mensuales. Si estamos 3 meses con esta inversión de tiempo, el coste de esas horas es muy superior (40 horas x 3 meses x 12€/hora = 1.440€). Si en lugar de 3 meses somos capaces de hacerlo en un mes, el método autodidacta es más económico pero ¿seguro que hemos conocido todas las posibilidades de la herramienta?</p>
<p><strong>Lo realmente caro es equivocarse</strong></p>
<p>Pese a todo esto lo realmente caro no es pagar la formación o comprar la herramienta. Lo realmente caro es invertir cientos de horas en una alternativa que finalmente no te sirva.</p>
<p>En muchas ocasiones he comentado este tema con otros profesionales y pienso que tal vez el orden adecuado para aventurarse con una nueva herramienta pase primero por una formación que te permite descartar la herramienta o seguir adelante y entonces comprar el producto con mayor garantías de que es adecuado para tu negocio.</p>
<p><strong>Me gusta mucho, pero no me permite todo lo que necesito</strong></p>
<p>Voy a hacer un comentario rápido sobre esta situación que a veces se produce. Conocemos una nueva herramienta de desarrollo que nos puede resultar muy rentable pero que no nos permite abordar el 100% de los desarrollos.</p>
<p>¿La descarto?<br />
Para mi la respuesta a esta pregunta pasar por responder a la siguiente pregunta.</p>
<p>¿Qué porcentaje de aplicaciones voy a poder desarrollar en los próximos 5 años con la nueva herramienta?<br />
Si la respuesta está por encima del 70% considero que puede ser una opción válida.</p>
<p>Es cierto que lo ideal sería trabajar sólo con una herramienta, por comodidad para el desarrollador y para facilitar el mantenimiento de las aplicaciones, pero también sabemos que la herramienta perfecta no existe y que con el paso del tiempo siempre usamos múltiples herramientas especializadas.</p>
<p>Por estos motivos si la herramienta que estoy viendo me resulta rentable, por qué voy a perder rentabilidad en el 70% de mis desarrollos porque el 30% tenga que desarrollarlos con otra herramienta. No parece más absurdo perder rentabilidad en el 100% de los desarrollos por usar sólo una herramienta. Lógicamente cuando mayor es el porcentaje mayor sentido tiene. Veo más claro buscar una estrategia de máxima rentabilidad con una herramienta aunque tenga que decir no a algunos proyectos por no poder abordarlos. En mucho casos puede ser preferible ser un especialista en un nicho de mercado o en un sector que obtener una rentabilidad media en un mercado más generalista.</p>
<p><strong>Ya estoy preparado ¿Por donde empiezo?</strong></p>
<p>Estoy formado, tengo la herramienta pero no tengo experiencia. Tendré que hacer un gran esfuerzo para que la primera aplicación desarrollada tenga una calidad acorde a la que tienen las soluciones ya implantadas.</p>
<p>Esta claro que lo mejor es utilizar esta herramienta para el nuevo proyecto más pequeño que tengas que desarrollar. De esta forma tendrás un margen de maniobra superior que si te sumerges en un proyecto grande.</p>
<p>Muchas empresas comienzan por desarrollar una aplicación para uso interno, otras veces soluciones monopuesto o pequeñas aplicaciones departamentales. Lo importante es que sean aplicaciones autónomas que no afecten ni se vean afectadas por otros desarrollos. Pero lo importante es que sea una aplicación real para poner en producción ya que los experimentos con aplicaciones que son sólo pruebas no alcanzan el grado de necesidad suficiente para que te esfuerces en superar todos los obstáculos.</p>
<p><strong>¿Qué pasa con mi base instalada?</strong></p>
<p>Nada. No pasa nada, si tus clientes están actualmente estables no deberías hacer nada con ellos en este momento. Creo que una máxima que debe aplicarse siempre es &#8220;Si algo funciona no lo toques&#8221;.</p>
<p>Todo tiene su momento y ese día llegará para cada uno de tus clientes o para grupos de ellos si te dedicas a vender software estándar. Olvídate de momento de migraciones o integraciones.</p>
<p><strong>La mezcla no es buena</strong></p>
<p>¿Podrías ir añadiendo módulos a tus aplicaciones actuales desarrollados con la nueva herramienta? Sí, claro que podrás pero yo no lo recomiendo ya que lo más probable es que tengas que hacer labores de integración que llevan un mayor esfuerzo de desarrollo y con un resultado final menos efectivo de lo que habría sido hacerlo con la herramienta actual.</p>
<p>Estoy generalizando, pero mi experiencia en este punto es que los experimentos de integración de soluciones heterogéneas es arriesgado y puede generar en el cliente final diferentes grados de satisfacción: lo nuevo no me gusta, lo viejo habría que cambiarlo al nuevo sistema, etc. En este punto yo aplicaría la máxima de &#8220;más vale lo malo conocido que lo bueno por conocer&#8221; para aplicarlo al punto de vista del cliente.</p>
<p><strong>Transición</strong></p>
<p>Esta es una palabra clave. Cambiar de herramienta de desarrollo no es un acción inmediata y mucho menos si tienes una base instalada con mucho software en producción. Debes plantearte el cambio como una transición.</p>
<p>Durante un tiempo te sentirás más cómodo desarrollando con la herramienta antigua, es lógico ya que tienes mucha experiencia acumulada. En un momento determinado que depende de la curva de aprendizaje de la herramienta se produce un punto de inflexión en el que ya te resulta prácticamete igual de cómodo desarrollar con ambas herramientas para finalmente pasar a desear más desarrollar con la nueva herramienta que con la antigua.</p>
<p>En ese punto es donde puedes empezar a plantearte desarrollar todos tus nuevos proyectos con la nueva herramienta. Mientras tanto seguirás mantenimiento las aplicaciones de tu base instalada con la herramienta antigua.</p>
<p><strong>Cambiar el software en tu base instalada</strong></p>
<p>Solamente cuando ya estés totalmente seguro de que las aplicaciones creadas con tu nueva herramienta superan a las apliaciones antiguas debes comenzar a plantearte el cambio del software de tu base instalada.</p>
<p>Debería ser algo gradual, comenzando por clientes pequeños donde se preparán las herramientas de migración de los datos que luego serán utilizadas con todos los clientes en caso de las aplicaciones estándar como puede ser la contabilidad.</p>
<p><strong>Y si mis clientes no quieren cambiar su software</strong></p>
<p>Si tus clientes están contentos con la aplicación y no necesitan grandes mejoras o cambios lo mejor es mantenerlos con esa aplicación los años que ellos quieran. Utilizando una política adecuada de mantenimientos, se les puede seguir dando el servicio con la herramienta antigua, teniendo en cuenta que si son aplicaciones que no requieren un gran mantenimiento eso supondrá un pequeño esfuerzo al año.</p>
<p>Sin embargo si un cliente solicita mejoras de forma constante es cuando se le puede plantear la migración a una versión de la aplicación que, con seguridad podrá disponer de novedades funcionales. Esta decisión de cambio de aplicación siempre se basa en una relación de confianza cliente-desarrollador. El cliente debe tener claro lo que necesita y confía en su experto y asesor en software para que le aporte la solución adecuada.</p>
<p>En este punto de la transición lo normal es que poco a poco la base instalada vaya migrando a las nuevas aplicaciones. Todos los nuevos proyectos ya los desarrollas con la nueva herramienta y cada vez te quedarán menos aplicaciones a mantener con la herramienta antigua.</p>
<p><strong>Y cómo será el futuro&#8230;</strong></p>
<p>Durante los próximos años trabajarás con esa herramienta y mientras sigas satisfecho con su rentabilidad y con el grado de satisfacción de tus clientes no te plantearás el cambio.</p>
<p>Seguirás investigando, observando tendencias y, en un momento determinado del futuro la historia volverá a comenzar.</p>
]]></content:encoded>
			<wfw:commentRss>http://jarboleya.com/2008/05/31/cambiar-de-herramienta-de-desarrollo-de-aplicaciones-empresariales/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>¿Qué es Velneo?</title>
		<link>http://jarboleya.com/2007/12/06/%c2%bfque-es-velneo/</link>
		<comments>http://jarboleya.com/2007/12/06/%c2%bfque-es-velneo/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 23:32:48 +0000</pubDate>
		<dc:creator>jarboleya</dc:creator>
				<category><![CDATA[análisis]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[informática]]></category>
		<category><![CDATA[lógica]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[Software libre]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[velneo]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[bbdd]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[plaforma]]></category>
		<category><![CDATA[plantillas]]></category>

		<guid isPermaLink="false">http://jarboleya.com/2007/12/06/%c2%bfque-es-velneo/</guid>
		<description><![CDATA[<p>En muchas ocasiones me preguntan ¿Qué es Velneo? por ese motivo he decidido escribirlo en mi blog y dar está URL como respuesta a partir de ahora. Por supuesto, se admiten sugerencias para mejorarla en su comprensión. De momento está es la versión beta 0.5 de la descripción.</p> <p>Su definición es:<br /> Velneo es una [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://jarboleya.files.wordpress.com/2007/12/velneo_rombo.jpg" alt="Velneo rombo 150" align="left" />En muchas ocasiones me preguntan ¿Qué es Velneo? por ese motivo he decidido escribirlo en mi blog y dar está URL como respuesta a partir de ahora. Por supuesto, se admiten sugerencias para mejorarla en su comprensión. De momento está es la versión beta 0.5 de la descripción.</p>
<p><strong>Su definición es:<br />
</strong>Velneo es una plataforma de desarrollo de aplicaciones empresariales.</p>
<p><strong>Vale, muy bien y ¿Qué es una plataforma de desarrollo de aplicaciones empresariales?</strong></p>
<p>Son un conjunto de herramientas que te permiten desarrollar, implantar y mantener aplicaciones de escritorio y Web para dar soluciones a proyectos empresariales.</p>
<p><span id="more-127"></span><br />
<strong>OK, y ¿De qué herramientas se tratan?</strong></p>
<p>Podemos dividirlas en 3 grupos edición, desarrollo y ejecución.</p>
<p>Las herramientas de edición son 2: vDevelop y vReport.</p>
<p>vDevelop es un editor completo e integrado que te permite plasmar desde el análisis de la aplicación, crear la estructura de base de datos, los objetos visuales de escritorio, procesos y las páginas Web. Todo integrado lo que tiene grandes ventajas.</p>
<p>vReport es un editor especializado en la personalización de informes. Es muy útil para aquellos que desarrollan aplicaciones estándar ya que te permite crear una única aplicación y tener para cada cliente un fichero con la personalización de sus imágenes e informes.</p>
<p>Las herramientas de desarrollo son 2:  El almacén de objetos y las plantillas</p>
<p>El almacén de objetos consiste en un grupo numeroso de pequeños mapas de código que te permiten generar con gran rapidez y precisión tablas y sus objetos visuales. El almacén de objetos es personalizable por lo que ampliarlo y ajustarlo a tus necesidades. Su uso reduce de forma muy apreciable los tiempos de desarrollo.</p>
<p>Las plantillas son código libre (FLOSS) que te permite crear aplicaciones en un tiempo record. Las plantillas puedes implantarlas tal cual se entregan o personalizarlas todo lo que quieras. Existen plantillas para desarrollar soluciones de gestión integrada, TPV, CRM, Contabilidad y ERP.</p>
<p>Las herramientas de ejecución son 3: vRunner, vServer y vClient</p>
<p>vRunner es un ejecutor monopuesto de runtime libre. Es decir que con Velneo podrás desarrollar e implantar soluciones  monopuesto de forma totalmente gratuita.</p>
<p>vServer es la parte servidora de la arquitectura cliente-servidor de Velneo. Se trata de un multiservidor ya que permite gestionar las aplicaciones, los usuarios, la seguridad y sirve al cliente las aplicaciones, los datos, ficheros con su servidor de disco y también es un servidor Web. Permite ejecutar tareas programadas, copias de seguridad en caliente y al funcionar por TCP/IP permite implementar soluciones en redes locales, Intranet e Internet. Este producto se adquiere con un coste por licencia.</p>
<p>vClient es la parte cliente de la arquitectura cliente-servidor de Velneo. Permite ejecutar las aplicaciones e incluye un navegador Web integrado así como un explorador de ficheros para trabajar con las carpetas compartidas a través del servidor.</p>
<p><strong>¡Ufff, cuanta información! ¿Qué ventajas tiene que esté todo integrado?</strong></p>
<p>Velneo es una plataforma integrada y completa por lo que no necesitas utilizar productos de terceros para crear tus soluciones. Incluye una base de datos increíble (modelo real) y todo lo necesario para desarrollar e implantar las soluciones.</p>
<p>Ejemplos de la gran ventaja que otorga esta integración es que utilizando los inspectores de vDevelop puedes saber donde se utiliza un formulario o un proceso, pero igualmente puedes saber donde se utiliza un campo o una tabla. Es decir, la base de datos, las tablas, los campos y los índices son un objeto más dentro de la aplicación.</p>
<p>Es tan grande su integración que si cambias el nombre de un campo este cambio se refrescará en todos los lugares donde se usa de forma automática incluyendo las páginas Webs. Y si un proceso lo renombras y es usado dentro de un trigger también el editor se encarga de renombrarlo. Estas características te ahorran gran cantidad de horas de trabajo y te dan total seguridad a la hora de saber si puedes borrar un objeto visual, un campo o un índice porque no se usan.</p>
<p><strong>¿Base de datos modelo real?</strong></p>
<p>Sí, además de la innovadora arquitectura que integra todo en uno. Velneo incluye una base de datos increíble con características que no encontrarás en otras bases de datos.</p>
<p>Los enlaces entre tablas sólo se definen una vez. No es preciso utilizar sentencias where para resolver los enlaces entre las tablas de la sentencia SQL.</p>
<p>En realidad Velneo no utiliza sentencias SQL pues el acceso y la gestión de los datos así como todas las operaciones se realizan con un lenguaje natural como por ejemplo (Cargar lista, recorrer lista eliminando fichas, recorrer lista modificando fichas, recorrer lista de sólo lectura, modificar campo, etc.)</p>
<p>Además la base de datos de Velneo tiene tipos de enlaces que no encontrarás en otras bases de datos como el  puntero a tabla de datos indirecta, singular de plural por posición, singular de plural por índice, hermano contiguo, etc. Pero esto es mejor conocerlo a fondo porque explicarlo aquí requiere mucho texto dada la gran potencia que te otorga cada tipo de enlace.</p>
<p>También existen índices por trozos o palabras de campos alfabéticos, puedes indexar todos los que necesites. Eso te permite buscar, por ejemplo un cliente por palabras o trozos de su nombre comercial, razón social, dirección, teléfono, email, etc. Todo en una sóla búsqueda.</p>
<p>Dispone del concepto actualización que te permite ahorrarte crear triggers de alta, baja y modificación de una tabla para actualizar un dato en otra tabla. Por ejemplo, puedes definir una actualización que actualice la existencia de un artículo cuando se graba la línea de una factura de venta. Se tarda 30 segundos en hacerlo y ya está. Eso equivale a cientos de líneas de código para controlar lo que debe hacer por alta, por baja, por modificación, si cambia la cantidad e incluso si cambia el artículo. Velneo deshace con el artículo y cantidad anterior y actualiza también el nuevo artículo con la nueva cantidad. Es difícil de explicar, es mejor verlo funcionando. Te sorprenderá.</p>
<p><strong>Curioso ¿Donde puedo conocer más sobre Velneo?</strong></p>
<p>Encontrarás toda la información en la Web <a title="Velneo" href="http://velneo.es">www.velneo.es</a></p>
<p>También puedes visitar su foro en <a title="Foro Velneo" href="http://forum.velneo.com">forum.velneo.com</a></p>
<p><strong>¿Existe información en vídeo sobre Velneo?</strong></p>
<p>Aquí te dejo unos cuantos vídeos que te pueden ser útiles para conocer mejor Velneo. Espero que te sirvan:</p>
<p>Este vídeo da una definición rápida y resumida de qué es Velneo:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/yoh_7wTXV8E&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/yoh_7wTXV8E&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Este vídeo describe lo que incluye Velneo nivel 1. Nivel de entrada a Velneo que te permite desarrollar aplicaciones empresariales. Es gratuito e incluye el ejecutor monopuesto de runtime libre:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/M7DeAy8fdJg&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/M7DeAy8fdJg&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Este vídeo muestra información sobre aspectos innovadores de Velneo:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/Y32ONU5sa1Y&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Y32ONU5sa1Y&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Por último te pongo aquí 5 vídeos de formación de Velneo nivel 1 en los que verás como ser crea desde cero una aplicación de gestión de facturas en unos minutos.</p>
<p>Vídeo 1: Planteamiento del problema. Se explica la aplicación a desarrollar:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/rTj2qpKsKGQ&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/rTj2qpKsKGQ&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Vídeo 2: Base de datos. Se crea visualmente la estructura de tablas, campos, índices y enlaces:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/PrZjgSB-HVw&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PrZjgSB-HVw&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Vídeo 3:  Creación de objetos visuales (1ª parte). Se crean los objetos visuales como menús, formularios, rejillas, etc.:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/hW3eZ0LfhBc&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hW3eZ0LfhBc&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Vídeo 4: Creación de objetos visuales (2ª parte). Se crean los objetos visuales como menús, formularios, rejillas, etc.:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/dmlqGRy_Lbo&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dmlqGRy_Lbo&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
<p>Vídeo 5:  Ejecución. Verás la aplicación desarrollada en tan sólo unos minutos funcionando perfectamente:</p>
<p><object width="600" height="475"><param name="movie" value="http://www.youtube.com/v/VkdPydZrFMk&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VkdPydZrFMk&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="475"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://jarboleya.com/2007/12/06/%c2%bfque-es-velneo/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

