La importancia del mantenimiento en los productos digitales.

Roger Einstoss
braintly
Published in
4 min readApr 3, 2020
Photo by Pandu Agus Wismoyo on Unsplash

La mejor forma de explicar qué es el mantenimiento, qué tipos existen y por qué creemos es vital para cualquier software es explicando los tipos que existen y dando algunos ejemplos:

Off topic: Si no tenes claro qué es un bug o error en un software te invito a leer el post que escribí sobre el tema haciendo click acá.

Mantenimiento correctivo.

El mantenimiento correctivo es aquel mediante el cual se corrigen funcionalidades que fallan (tiran error) ó bien no cumplen con el objetivo para el cual fueron diseñadas.

Quizás tu primer razonamiento sea “¿Me entregaron un software que falla?”, pero como explico en el post de “bugs” no existe el software bug-free. Todos los desarrolladores de software (o los que hacen bien su trabajo 😉) aplican técnicas y procesos para hacer QA & QC reduciendo al mínimo la probabilidad de ocurrencia de un error, pero aún así es factible que sucedan. Los errores lamentablemente suceden.

Programar es cosa de humanos y los humanos cometemos errores. Esto no te sucede sólo a vos, le sucede a Apple, Twitter, Instagram, Facebook o Boeing. ¿Nunca se te cayó WhatsApp o Instagram?

Ejemplo: si tengo un listado de clientes en el cual puedo exportar a Excel puede suceder que haya funcionado bien en una primer instancia con 100 clientes. El tiempo pasó y al tener 50.000 clientes el export se cuelga o arroja error producto de la diferencia de volumen. Esto sería un error y formaría parte de un plan de mantenimiento correctivo.

Mantenimiento evolutivo.

Este es el tipo de mantenimiento que hay que hacerle al software para que no quede deprecado por el simple paso del tiempo. Dentro de este mantenimiento podríamos encuadrar también al mantenimiento preventivo, aunque algunos lo ponen como un tipo de mantenimiento específico a los fines explicativos voy a encuadrarlos dentro de un mismo grupo.

Hoy en día, casi todo el software tiene parte de código propio y código de terceros, frameworks de programación, API’s, integraciones, etc. El software en el mundo evoluciona, y si no haces evolucionar tu software a una velocidad razonablemente rápida en algún momento te va a quedar obsoleto y por ende no va a funcionar.

Es por eso que este tipo de mantenimiento se centra en tareas que conservan al software actualizado y vigente.

Ejemplo: tenés tu e-commerce integrado con la versión 1 de la API de MercadoPago. MercadoPago es una compañía grande, evoluciona, los bancos sacan nuevos protocolos de seguridad para mejorar tu experiencia y hacen cambios y mejoras constantemente. En algún momento MercadoPago va a liberar la versión 2 de su API. En ese momento probablemente la V1 siga funcionando por algunos meses, pero llegará un momento en que discontinúen el mantenimiento sobre la misma. Ese será el exacto momento en el que tu gateway de pago dejará de funcionar y no podrás cobrar más por no haber hecho mantenimiento evolutivo.

Fijate que en este ejemplo no se trató de un error de diseño, ni de programación; tampoco de agregar una nueva funcionalidad. El simple paso del tiempo hizo necesaria la mano de un desarrollador para poder actualizar tu software y que siga funcionando.

Mantenimiento perfectivo.

Es aquel mediante el cual los desarrolladores agregamos nuevas funcionalidades al software incrementando sus capacidades, modificando las existentes o bien rediseñando la forma en la que el software cumple su cometido. Cuando un proceso de desarrollo de software clásico termina, no es mandatorio realizar mantenimiento perfectivo ya que al momento del Go Live el software queda listo para funcionar de la forma que fue diseñado.

No obstante, es recomendable realizar mantenimiento perfectivo ya que la velocidad con la que avanzan los negocios digitales hace que la mayoría de las plataformas, e-commerce, sistemas de gestión o cualquier otro tipo de software deban innovar constantemente, aprendiendo de sus usuarios y mejorando cada día la experiencia que brindan. De no hacerlo, es cuestión de tiempo para que el negocio digital comience lentamente a quedar obsoleto produciendo una baja en los ingresos del mismo.

Nótese que me refiero todo el tiempo al negocio digital y no al software en sí. Cuando hablamos de mantenimiento perfectivo lo que hacemos es iterar e incrementar las funcionalidades del software para que cumpla más y nuevas funciones, permitiéndote potenciar tu negocio y darle un mejor servicio a tus clientes.

Ejemplo: si tengo un listado de clientes y quiero tener la posibilidad de exportar el listado en formato XLS o PDF esa sería una nueva funcionalidad que entraría dentro de un plan de mantenimiento perfectivo.

En Braintly normalmente trabajamos con un proyecto inicial llave en mano (también llamado scope cerrado = alcance limitado). Dicho proyecto tiene un tiempo de duración, un presupuesto y equipo asignado y una serie de funcionalidades que se definen antes de comenzar el proyecto en un documento de alcance.

Una vez que se realiza el Go Live y finaliza la etapa de HyperCare el producto puede seguir funcionando sólo sin necesidad de tener un equipo de programación detrás. Puede hacerlo, pero por lo antes mencionado no es recomendable ya que si no tiene ningún tipo de mantenimiento no habrá nuevas y mejores versiones para tus clientes, no tendrás un equipo que mantenga actualizado el código y no tendrás nadie que solucione eventuales errores.

Finalmente, veamos una analogía con un auto 0KM. Uno va y lo compra; el Go Live es el día que lo saca de la concesionaria, el mantenimiento preventivo es hacerle los service en tiempo y forma para evitar problemas, el mantenimiento perfectivo es agregarle nuevas funcionalidades que amplien sus capacidades, por ejemplo, una alarma antirrobo y el mantenimiento correctivo sería arreglarle algún defecto de fabricación, por ejemplo que una puerta haga ruido o algún mando no funcione correctamente.

--

--

Roger Einstoss
braintly

CEO @ Braintly Software Boutique 👋 | Engineer 🤓| #AsadoAdvocate 🤗 | Creating #amazing #digital #products with #passion ❤️