Cambiar de herramienta de desarrollo de aplicaciones empresariales

31 May

cambio de herramienta de desarrollo de software empresarialTras los interesante comentarios realizados por Manuel Tovar en el blog de Velneo, me he animado a escribir este artículo ya que creo que este tema es importante y en muchos casos complejo de resolver.

Resumiría el planteamiento que hace Manuel Tovar con las siguientes frases:

  • 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.
  • Tengo proyectos en desarrollo.
  • Tengo proyectos pendientes de desarrollar.
  • Llevamos retrasos en los plazos de entrega de los desarrollos a clientes.
  • Para comenzar con una nueva herramienta necesito formarme durante meses y eso supone necesitar más recursos.

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.

El software es una herramienta

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.

Las herramientas de desarrollo también son eso “herramientas”. El mismo programador con diferentes herramientas puede llegar a soluciones similares y también a conseguir con el mismo esfuerzo aplicaciones funcionalmente muy diferentes.

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.

¿Tus clientes están contentos?

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.

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.

Plazos de entrega

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.

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.

Rentabilidad

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.

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.

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.

He encontrado una alternativa ¿Qué hago?

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.

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.

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: ¿Cómo presupuestar soluciones de software empresarial? (1ª parte) y ¿Cómo presupuestar soluciones de software empresarial? (2ª parte)

Ahora toca aprender y probar

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.

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.

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?

Lo realmente caro es equivocarse

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.

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.

Me gusta mucho, pero no me permite todo lo que necesito

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.

¿La descarto?
Para mi la respuesta a esta pregunta pasar por responder a la siguiente pregunta.

¿Qué porcentaje de aplicaciones voy a poder desarrollar en los próximos 5 años con la nueva herramienta?
Si la respuesta está por encima del 70% considero que puede ser una opción válida.

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.

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.

Ya estoy preparado ¿Por donde empiezo?

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.

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.

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.

¿Qué pasa con mi base instalada?

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 “Si algo funciona no lo toques”.

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.

La mezcla no es buena

¿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.

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 “más vale lo malo conocido que lo bueno por conocer” para aplicarlo al punto de vista del cliente.

Transición

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.

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.

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.

Cambiar el software en tu base instalada

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.

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.

Y si mis clientes no quieren cambiar su software

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.

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.

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.

Y cómo será el futuro…

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.

Seguirás investigando, observando tendencias y, en un momento determinado del futuro la historia volverá a comenzar.

Anuncios

11 comentarios to “Cambiar de herramienta de desarrollo de aplicaciones empresariales”

  1. alfonsogu (Fonso) 1 junio 2008 a 7:32 PM #

    Joder menudo artículos que te has currao… esto si que es una guía y faq de cambio de herramienta de desarrollo.

    Felicidades maestro.

  2. jarboleya (Jesús) 1 junio 2008 a 8:08 PM #

    Gracias Fonso,

    Viniendo de un experto en la materia como tú el comentario tiene un gran valor para mi. Me alegro de que te haya gustado. Thanks!

  3. Portiella 2 junio 2008 a 1:17 PM #

    “Viniendo de un experto en la materia como tú el comentario tiene un gran valor para mi”

    Esa frase no es muy acertada, si alfonsogu es un experto en la matería en cambiar de herramienta se podría mal interpretar…

    Doy por supuesto que te refieres a que es un experto en general y no en esa materia en concreto…

    😉

  4. Héctor Rosso 12 junio 2008 a 12:10 PM #

    Hola amigo, excelente comentario, todo es tal cual lo estoy pasando hoy. El mes pasado tome la decisión de saltar de Clarion a Windev, hice un mes de aprendizaje con la versión demo y creo haber encontrado la herramienta que necesito. Mañana me llega el producto Windev XII y no veo las horas de sentarme a programar.
    Gracias por hacerme sentir que no soy el único que sufre esta toma de decisión. El Clarion es una herramienta espectacular pero se esta quedando un poco, además para poder hacer cosas inteeresantes hay que comprar templates y más templates, sin saber que va a pasar cuando salga una nueva versión, si estos van a funcionar o si vas a tener que volver a comprar.
    Saludos, Héctor.

  5. Juan Wilfredo 11 julio 2008 a 5:17 PM #

    Excelente artìculo, tengo muchas ganas de hacer una aplicaciòn con Velneo, baje la versiòn 6.4 y no se por donde empezar tengo alguna experiencia en programaciòn con Fox Pro for Dos y Win. La pregunta ¿puedo realizar algunas aplicaciones que realmente funcionen o es sòlamente una versiòn con limitaciones?, lo que quiero ver es que me sirva para lo que quiero.

    Si alguien me ayuda con una demo o una aplicaciòn pequeña que me de los primeros pasos y me envie estarè muy agradecido.

    A propòsito excelente artìculo, para tomar decisiones sobre el cambio de herramienta.

    Un abrazo

    JWil

  6. Fran 12 julio 2008 a 10:06 AM #

    Buenos dias:

    En el foro oficial de Velneo: http://www.velneo.es puedes encontrar gran cantidad de pequeñas aplicaciones abiertas disponibles para su descarga.

    Además, en la sección Miscelánea de nuestra web http://www.efeuno.org, puedes encontrar una colección de tutoriales para descargar.

    Un saludo,

    Fran.

  7. Amilcar Tirado 6 octubre 2008 a 7:13 PM #

    Que buen articulo amigo!
    Te escribo desde Venezuela, y por ese proceso pasamos todos… pero esos comentarios que haces es bueno siempre tenerlos en cuenta y mas aun “por escrito” para que uno no se desanime en el camino, porque sabemos bien que no es facil tomar la decision, pero cuando hay que tomarla hay que hacerlo. Actualmente estoy comenzando con Velneo, vengo de trabajar por mucho tiempo con Delphi, y de verdad no cabe ninguna duda con respecto a cambiarse a este entorno.
    Un SAludos y muchas felicitaciones por tu blog, hay demasiada informaci{on muy interesante.

  8. Leticia 1 diciembre 2008 a 8:30 PM #

    Muy buen articulo y me lo tope en un buen momento, trabajo en gobierno y aquí se sufre mucho por que los usuarios se niegan a migrar de sus aplicaciones antiguas a unas desarrolladas en una nueva herramienta. Y por otro lado el área de Tecnología de Información no sabe si es buen o mal momento de hacerlo, yo estoy en medio de las dos partes, y me esta resultando muy difícil plantearles una serie de criterios para que puedan tomar la decisión mas adecuada.

    Mi idea inicial era hacerlo tan simple como una norma en la que se tuviera que migrar todos los sistemas, sin embargo me hace ruido la máxima que sugieras aplicar “ Si algo funciona no lo toques”.

    Me has hecho discernir ya que veo que migrar todo a la larga puede resultar más costoso, que dejarlos con su herramienta actual que sigue siendo funcional para ellos.
    Y en base a tu articulo tome la dedición de aplicar el criterio de migrar solo, cuando el usuario solicite muchos requerimientos, cuando exista un aumento en el mantenimiento que se le debe dar a ese sistema, cuando la herramienta no te permita desarrollar a la velocidad que lo harías con la nueva y cuando el costo de migrar la aplicación, y capacitar al usuario, me resulte mas económico que seguir manteniendo y “parchando” aplicaciones.

    Me gustaría mucho saber tu opinión y si crees que algún otro criterio importante se me este pasando.

    Saludos!

  9. jarboleya (Jesús) 1 diciembre 2008 a 9:50 PM #

    Hola Leticia,

    La decisión que tu tomes debes hacerla siempre desde el convencimiento de que estás haciendo lo mejor para todos. Con tu decisión todos deben ganar de lo contrario o te estás creando un enemigo o te puedes estar perjudicando a ti misma.

    Quiero decir con esto que cambiarle la aplicación cuando el usuario está contento es una acción arriesgada y que lo más probable es que no acabe en éxito. Por otro lado no hacer nada hasta que la situación sea un problema tampoco es positiva, por eso también es arriesgado quedarse a la espera de que los usuarios se quejen, puede que cuando lo hagan sea demasiado tarde.

    Yo no me atrevo a aconsejarte nada, no soy quién. Pero sí te puedo decir lo que yo haría.

    En primer lugar creo que la información es básica. Es decir, informaría a todos los usuarios de la situación actual y de la decisión que tomas de no cambiarles la aplicación porque consideras que por el momento son clientes satisfechos mientras no te comuniquen lo contrario:

    – Si te das cuenta, lo que estás haciendo es dar información pero no tomar ninguna decisión ya que la dejas en manos de ellos.

    – También les abres la puerta a que comuniquen todas sus necesidades en cualquier momento. Es posible que te lleves una sorpresa y aparezcan más quejas de las que suponías existían. Los usuarios somos impulsivos cuando se nos abre una puerta que considerábamos estaba cerrada.

    Con esta actitud les estás implicando a ellos en la decisión por lo que si están contentos seguirán estándolo por doble motivo, por seguir bien y porque saben que cuentan con tu apoyo para la mejora en el futuro.

    En caso de que planteen la necesidad del cambio serán ellos quienes habrán tomado la decisión por lo que en lugar de ser una barrera serán tus aliados en el proyecto.

    Espero haberte ayudado.

    Saludos.

  10. Leticia 2 diciembre 2008 a 8:14 PM #

    Gracias por tu punto de vista !! y por compartir tu experiencia, lo que me planteas es una idea muy neutral y es justo lo que necesitaba.
    En medio del área de TI y del área usuaria tu punto de vista me es de gran ayuda.

    Saludos!

  11. jarboleya (Jesús) 3 diciembre 2008 a 6:16 PM #

    Gracias a tí Leticia.

    Se me olvidó comentarte que para extraer la información que necesitas puedes hacer una encuesta anónima para conocer la opinión de todos ellos y que se sientan con libertad para exponer sus opiniones abiertamente.

    Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: