<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
  <title>AL+ Artículos</title>
  <subtitle>Lo que hemos aprendido creando, heredando, reparando y manteniendo software.</subtitle>
  <link href="https://alplustech.com/es/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="https://alplustech.com/es/articulos/" rel="alternate" type="text/html"/>
  <id>https://alplustech.com/es/articulos/</id>
  <updated>2026-11-11T00:00:00.000Z</updated>
  <author><name>AL+</name><email>paul@alplustech.com</email></author>
  <rights>©  Alplus Technologies S.R.L.</rights>
  <entry>
    <title>Aplicación web o app móvil: cómo elegir la primera plataforma</title>
    <link href="https://alplustech.com/es/articulos/aplicacion-web-o-app-movil/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/es/articulos/aplicacion-web-o-app-movil/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Decida si su primer producto necesita una aplicación web o una app móvil nativa. Compare recorridos de usuario, necesidades del dispositivo, trabajo sin conexión, alcance y titularidad.</summary>
    <content type="html"><![CDATA[<p>Elija entre una aplicación web y una app móvil según la tarea que sus usuarios necesitan completar. Una aplicación web suele ser un buen punto de partida para el trabajo al que se llega mediante un enlace y que se realiza desde distintos dispositivos. Una app móvil nativa es una candidata más sólida cuando el recorrido principal depende de capacidades concretas del dispositivo o de un uso frecuente en el teléfono. Pruebe los requisitos antes de comprometerse con una u otra.</p>
<p>«La gente la usará en el móvil» no zanja la decisión. Una aplicación web puede funcionar en el navegador de un móvil. Tampoco basta con «necesitamos acceso sin conexión»: el comportamiento sin conexión hay que diseñarlo, y algunas aplicaciones web pueden admitirlo. La pregunta útil es qué enfoque puede cubrir su flujo de trabajo real con restricciones aceptables.</p>
<h2>¿Cuál es la diferencia?</h2>
<p><strong>Una aplicación web</strong> se ejecuta en un navegador. Los usuarios suelen acceder mediante una URL, y la interfaz puede adaptarse a un teléfono, una tableta o un equipo de escritorio. Sus capacidades dependen de los navegadores y dispositivos que usted admita.</p>
<p><strong>Una aplicación móvil nativa</strong> se construye para una plataforma concreta, como iOS. Se instala en el dispositivo y usa las convenciones de interfaz y las APIs disponibles de esa plataforma. Admitir otra plataforma nativa supone trabajo adicional de entrega y verificación.</p>
<p><strong>Una aplicación web progresiva, o PWA,</strong> usa tecnologías web con capacidades adicionales, como la instalación y un comportamiento sin conexión diseñado a propósito. La <a href="https://developer.mozilla.org/es/docs/Web/Progressive_web_apps">documentación de MDN sobre las PWA</a> explica esas posibilidades. Su disponibilidad y su comportamiento aún deben comprobarse en sus dispositivos de destino; «PWA» no es una promesa de que todas las funciones nativas funcionen en todas partes.</p>
<p>Use los requisitos siguientes para elegir la primera plataforma del producto.</p>
<h2>Compare las restricciones antes que la tecnología</h2>
<p>En una pantalla estrecha, desplace la tabla hacia los lados para leer todas las columnas.</p>
<table>
<thead>
<tr>
<th>Requisito</th>
<th>Aplicación web: qué comprobar</th>
<th>App nativa: qué comprobar</th>
</tr>
</thead>
<tbody>
<tr>
<td>Los clientes llegan mediante un enlace</td>
<td>¿Pueden completar el recorrido en los navegadores admitidos sin instalar nada?</td>
<td>¿Es aceptable que instalen una app antes de recibir valor?</td>
</tr>
<tr>
<td>El trabajo abarca escritorio y teléfono</td>
<td>¿Los diseños y las interacciones sirven para ambos?</td>
<td>¿Los usuarios de escritorio necesitarán también una interfaz web?</td>
</tr>
<tr>
<td>Una función del dispositivo es esencial</td>
<td>¿La API necesaria está disponible y es fiable en los navegadores exactos que debe admitir?</td>
<td>¿La plataforma ofrece la capacidad, y qué permisos y restricciones se aplican?</td>
</tr>
<tr>
<td>La conexión no es fiable</td>
<td>¿Qué acciones funcionan sin conexión y cómo se sincronizará el trabajo almacenado?</td>
<td>Se aplican las mismas preguntas; instalar la app no hace que funcionen sin conexión las acciones que dependen del servidor.</td>
</tr>
<tr>
<td>Se necesitan varias plataformas</td>
<td>Verifique el comportamiento en las combinaciones de navegador y dispositivo admitidas.</td>
<td>Defina el alcance de cada plataforma y las pruebas, el trabajo de publicación y el mantenimiento que necesita.</td>
</tr>
<tr>
<td>Las versiones deben cambiar con frecuencia</td>
<td>Planifique el despliegue, la compatibilidad y la recuperación para los cambios en el servicio en funcionamiento.</td>
<td>Tenga en cuenta también la distribución, la revisión cuando proceda y los usuarios con versiones antiguas de la app.</td>
</tr>
</tbody>
</table>
<p>No trate esto como una puntuación en la que gana quien suma más marcas. Una sola capacidad esencial puede determinar el enfoque. Varias preferencias pueden no justificar plataformas adicionales.</p>
<h2>Dos ejemplos que llevan a primeras versiones distintas</h2>
<p><strong>Un portal de aprobación para clientes:</strong> los clientes reciben un enlace, revisan documentos, aprueban trabajos y a veces completan la tarea desde el teléfono. El personal gestiona los registros desde un escritorio. Una aplicación web adaptable es una primera candidata razonable. Antes de construir una app, compruebe si instalarla mejoraría en algo el recorrido importante.</p>
<p><strong>Una herramienta de registro en campo:</strong> el personal captura información durante todo el día en lugares con mala conexión. El producto necesita un comportamiento específico del dispositivo, registros locales y sincronización posterior. Evalúe una app nativa y una PWA frente a esos requisitos exactos. Un pequeño experimento de capacidad en los dispositivos reales puede resolver la elección mejor que una comparación genérica de funciones.</p>
<p>Son flujos de trabajo hipotéticos, no afirmaciones sobre resultados de clientes de AL+. El primero favorece el acceso sencillo desde distintos dispositivos; el segundo pone en el centro el comportamiento del dispositivo y de la conexión. Ninguno determina la arquitectura de todos los productos de su categoría.</p>
<h2>El trabajo sin conexión necesita un comportamiento escrito, no una etiqueta</h2>
<p>Describa qué ocurre antes, durante y después de que falle la conexión:</p>
<ol>
<li>¿Qué información debe estar ya en el dispositivo?</li>
<li>¿Qué acciones puede completar el usuario sin respuesta del servidor?</li>
<li>¿Cómo muestra la interfaz el trabajo guardado, pendiente, fallido y sincronizado?</li>
<li>¿Qué ocurre si otra persona modifica el mismo registro?</li>
<li>¿Qué ocurre si el usuario cierra sesión, pierde el dispositivo o vuelve tras una interrupción larga?</li>
</ol>
<p>Una pantalla en caché y una transacción de negocio sin conexión son requisitos distintos. Por ejemplo, mostrar una cita cargada antes no demuestra que se pueda confirmar una reserva nueva sin conectar con el sistema que gestiona la disponibilidad.</p>
<p>Tanto las implementaciones nativas como las web requieren decisiones sobre datos, conflictos y recuperación. Consulte la documentación de la plataforma pertinente y verifique el comportamiento crítico en lugar de prometerlo por el nombre de una tecnología.</p>
<h2>El backend es una parte aparte de la decisión</h2>
<p>Una app instalada puede seguir dependiendo de cuentas, registros compartidos, pagos, notificaciones y herramientas administrativas que funcionan en otro lugar. Una aplicación web puede necesitar esos mismos servicios.</p>
<p>En ambos casos, identifique qué backend existe ya, quién lo controla, qué interfaces hay disponibles y qué hay que construir. Llevar la interfaz a un teléfono no resuelve una integración poco fiable ni una titularidad de los datos poco clara.</p>
<p>Incluya el flujo de trabajo administrativo. Si alguien tiene que corregir un registro o atender a un cliente, decida cómo lo hará. Una experiencia móvil para el cliente y una interfaz web de administración pueden ser dos interfaces distintas de un mismo producto, pero ambas forman parte del alcance.</p>
<h2>Compare estimaciones de la versión completa</h2>
<p>Pida a cada propuesta que separe el trabajo común del producto del trabajo de cada plataforma:</p>
<ul>
<li><strong>Comportamiento compartido:</strong> reglas de negocio, datos, accesos, integraciones y operación del servidor.</li>
<li><strong>Trabajo de interfaz:</strong> recorridos de usuario y diseños para cada interfaz admitida.</li>
<li><strong>Verificación:</strong> los dispositivos, los navegadores, los permisos y los casos de fallo que se comprobarán.</li>
<li><strong>Publicación:</strong> despliegue o envío a la tienda, acceso a las cuentas, información de soporte y recuperación.</li>
<li><strong>Mantenimiento:</strong> cambios de compatibilidad, correcciones, versiones y cargos continuos de proveedores.</li>
</ul>
<p>No existe un porcentaje universal fiable por el que un enfoque sea más barato que el otro. Un backend existente, una capacidad imprescindible del dispositivo o una segunda interfaz pueden cambiar la comparación. Compare la misma versión útil, no dos recuentos de pantallas ni dos tarifas por hora.</p>
<p>Nuestra <a href="/en/thoughts/mobile-app-development-cost/">guía del costo de una app móvil</a> (en inglés) explica el trabajo que implica una estimación de una app nativa para iOS. Es una lista de verificación del alcance, no la promesa de un precio estándar de proyecto.</p>
<h2>Un briefing para decidir la plataforma</h2>
<p>Escriba estas seis líneas antes de pedir a un desarrollador que elija la tecnología:</p>
<ol>
<li><strong>Recorrido principal:</strong> lo que un usuario debe completar, desde el principio hasta el resultado.</li>
<li><strong>Usuarios y dispositivos:</strong> quién lo usa, dónde, con qué frecuencia y en qué dispositivos.</li>
<li><strong>Capacidades esenciales:</strong> el comportamiento exacto del dispositivo o las integraciones de las que depende el recorrido.</li>
<li><strong>Comportamiento de la conexión:</strong> qué debe ocurrir cuando la red no está disponible.</li>
<li><strong>Sistemas existentes:</strong> el backend, los datos, las cuentas y las interfaces que ya existen.</li>
<li><strong>Límite de la primera versión:</strong> las plataformas admitidas, las exclusiones, las limitaciones de presupuesto y el motivo de cualquier fecha fija.</li>
</ol>
<p>Si una capacidad pudiera cambiar la decisión, solicite una comprobación técnica concreta antes de construir todo. Si la incertidumbre es cómo usan las personas la interfaz, <a href="/es/articulos/mvp-o-prototipo/">un prototipo puede ser el primer paso adecuado</a>.</p>
<h2>Hable del flujo de trabajo antes de comprometerse con una plataforma</h2>
<p><a href="/es/servicios/desarrollo-de-software-a-medida/">AL+ crea aplicaciones web a medida</a> y <a href="/es/servicios/desarrollo-de-apps-ios/">apps nativas para iPhone y iPad</a>, y se responsabiliza de los servicios conectados y del mantenimiento tras el lanzamiento. Podemos hablar de la primera plataforma a partir de la tarea, los dispositivos de destino y el sistema existente.</p>
<p><a href="mailto:paul@alplustech.com?subject=Decisi%C3%B3n%20de%20plataforma%3A%20web%20o%20iOS">Escriba a AL+ sobre su proyecto web o iOS</a>. Envíe el briefing de seis líneas para que la conversación empiece con los requisitos que determinan el trabajo.</p>
]]></content>
  </entry>
  <entry>
    <title>Costo del mantenimiento de software: qué debe cubrir su presupuesto</title>
    <link href="https://alplustech.com/es/articulos/costo-mantenimiento-de-software/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/es/articulos/costo-mantenimiento-de-software/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Presupueste el mantenimiento de una aplicación web o SaaS existente: separe traspaso, mantenimiento periódico, soporte y mejoras, y compare qué incluye cada presupuesto.</summary>
    <content type="html"><![CDATA[<p>El costo del mantenimiento de software depende del sistema que tenga y de la responsabilidad que quiera que alguien asuma. Un buen presupuesto separa el trabajo necesario para hacerse cargo de la aplicación, el trabajo recurrente que la mantiene fiable y los cambios que quiere publicar.</p>
<p>Si está comparando proveedores, pida a cada uno que valore el mismo alcance. Una cifra mensual que excluye el despliegue, las actualizaciones de dependencias y la investigación de incidentes no puede compararse con otra que sí los incluye.</p>
<h2>Empiece por la aplicación, no por un porcentaje</h2>
<p>El precio de la construcción original no le dice a un nuevo proveedor si sus copias de seguridad se restauran, si sus dependencias tienen soporte o si la integración de pagos falla sin avisar. Antes de tomar cualquier estimación como un compromiso, determine qué funciona en producción y qué partes requieren atención.</p>
<p>Anote lo siguiente:</p>
<ul>
<li>Qué hace la aplicación y qué flujos de trabajo son los más importantes.</li>
<li>Si es una aplicación web, un producto SaaS, una API o un sistema interno.</li>
<li>El entorno de ejecución, el framework, la base de datos y el alojamiento, si se conocen.</li>
<li>Quién tiene acceso al repositorio, a los despliegues y a las cuentas de los proveedores.</li>
<li>Los fallos recientes, las actualizaciones aplazadas y los próximos cambios previstos.</li>
<li>El horario en que el negocio necesita soporte y quién atiende los incidentes urgentes.</li>
</ul>
<p>Si el desarrollador original se ha ido, use la <a href="/es/articulos/lista-de-verificacion-traspaso-de-software/">lista de verificación para el traspaso de código</a> para identificar los accesos y los conocimientos que faltan. Puede reunir esta información sin haber elegido antes a un nuevo proveedor.</p>
<h2>Separe cuatro partes del presupuesto</h2>
<h3>1. Traspaso inicial y estabilización</h3>
<p>Un equipo nuevo necesita entender la producción, comprobar los accesos, establecer un despliegue repetible y verificar la recuperación. La falta de documentación o un framework sin soporte pueden añadir trabajo antes de que empiece el mantenimiento normal.</p>
<p>Pregunte qué entrega el alcance inicial y qué haría necesaria una estimación revisada. Manténgalo separado del servicio mensual continuo para que ambas partes vean el costo de heredar el sistema.</p>
<h3>2. Mantenimiento periódico</h3>
<p>Enumere el trabajo planificado: actualizaciones de dependencias y de seguridad, comprobaciones de las versiones, pruebas de restauración de copias de seguridad, monitorización y documentación operativa. Acuerde con qué frecuencia se hace cada tarea y qué constancia recibe usted.</p>
<p>Las facturas de alojamiento, base de datos, correo y otros proveedores también forman parte del presupuesto de operación. Indique si las paga usted directamente o a través del proveedor de mantenimiento. El tiempo de ingeniería y las facturas de infraestructura son costos distintos.</p>
<h3>3. Soporte y trabajo ante incidentes</h3>
<p>Especifique el horario de cobertura, la zona horaria, el canal de contacto y qué se considera urgente. El tiempo de respuesta significa que alguien empieza a evaluar el problema; no significa que el problema se resuelva en ese plazo.</p>
<p>Para una empresa de Estados Unidos o Canadá que trabaja con un equipo remoto, hable explícitamente de la coincidencia de horarios. No dé por hecho que un acuerdo de mantenimiento mensual incluye atención nocturna o en fin de semana.</p>
<h3>4. Mejoras planificadas</h3>
<p>Separe la corrección de errores de los cambios en el funcionamiento del producto. Una nueva integración o un cambio grande en un flujo de trabajo necesita su propio alcance, aunque el mismo equipo se ocupe del mantenimiento y del desarrollo.</p>
<p>Acuerde cómo se priorizan las tareas, cómo se aprueban las estimaciones y qué ocurre cuando el mes trae más trabajo que capacidad disponible. Esa conversación importa más que el nombre del paquete.</p>
<h2>Una hoja de presupuesto que puede enviar a los proveedores</h2>
<p>Rellene estas líneas antes de comparar presupuestos:</p>
<ul>
<li><strong>Trabajo inicial:</strong> accesos que faltan, configuración del despliegue, comprobaciones de recuperación y reparaciones urgentes.</li>
<li><strong>Ingeniería recurrente:</strong> tareas, frecuencia y capacidad incluida.</li>
<li><strong>Facturas de proveedores:</strong> alojamiento, base de datos, correo, monitorización y otros servicios.</li>
<li><strong>Soporte:</strong> horario de cobertura, expectativas de respuesta y alcance de los incidentes.</li>
<li><strong>Cambios en el producto:</strong> prioridades y un circuito de aprobación aparte.</li>
<li><strong>Incertidumbre:</strong> áreas que el proveedor debe examinar antes de comprometerse.</li>
</ul>
<p>En cada presupuesto, pida al proveedor que marque qué está incluido, qué está excluido y qué aún no se sabe. Pregunte cómo se tratan la capacidad no utilizada y el trabajo que supera el alcance acordado. No dé por hecho que se acumulan para el mes siguiente ni que se facturan automáticamente.</p>
<h2>Cuando un presupuesto bajo deja trabajo sin cubrir</h2>
<p>Un proveedor puede ofrecer legítimamente un servicio acotado. El riesgo es un vacío sin responsable: soporte de la aplicación sin actualización de dependencias, monitorización sin una persona que reciba las alertas, o copias de seguridad sin prueba de restauración.</p>
<p>Pregunte quién responde de cada vacío. Puede conservar una tarea dentro de su empresa, contratar a un especialista o incluirla en el alcance del mantenimiento. El resultado útil es que cada tarea tenga un responsable explícito.</p>
<h2>¿Reparación, modernización o mantenimiento continuo?</h2>
<p>Si la aplicación tiene soporte y es fácil de desplegar, puede bastar con el mantenimiento periódico. Si primero hace falta actualizar un framework, reparar el despliegue o migrar datos, defina ese trabajo por separado.</p>
<p>Nuestra <a href="/es/articulos/reparar-o-reescribir-software/">guía para decidir entre reparar o reescribir</a> ayuda a distinguir el trabajo puntual de la sustitución. El presupuesto de mantenimiento debe reflejar esa decisión, en lugar de esconder un proyecto de modernización dentro del mantenimiento rutinario.</p>
<h2>Hable del mantenimiento de su aplicación</h2>
<p>AL+ ofrece <a href="/es/servicios/mantenimiento-de-software/">servicios de mantenimiento de software</a> para aplicaciones web y productos SaaS existentes, incluidos los sistemas creados por otro desarrollador o agencia.</p>
<p><a href="mailto:paul@alplustech.com?subject=Presupuesto%20de%20mantenimiento%20de%20software">Escriba a paul@alplustech.com sobre el mantenimiento de software</a>. Describa la aplicación, su tecnología si la conoce, su país, el problema actual y el horario de soporte que necesita. Envíe primero una descripción; no incluya en el correo contraseñas, claves de API ni datos de clientes.</p>
]]></content>
  </entry>
  <entry>
    <title>Lista de verificación para el traspaso de software: qué revisar antes de aceptarlo</title>
    <link href="https://alplustech.com/es/articulos/lista-de-verificacion-traspaso-de-software/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/es/articulos/lista-de-verificacion-traspaso-de-software/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Lista reutilizable para asumir el software de otro desarrollador, agencia o equipo: accesos, producción, datos, cambios seguros, dependencias, seguridad, conocimiento y costo. Úsela antes de comprometerse.</summary>
    <content type="html"><![CDATA[<p>Antes de aceptar la responsabilidad de un sistema que construyó otra persona, revíselo. Esta es la lista de verificación que usa AL+ en el <a href="/es/servicios/traspaso-de-software/">traspaso de software</a>. Está escrita para que un fundador, un director técnico o un equipo entrante puedan usarla sin nosotros. Recórrala en orden; las primeras secciones le protegen de los fallos que no tienen vuelta atrás.</p>
<p>La lista tiene ocho partes. Cada punto es una pregunta con respuesta de sí o no. Un «no» no es motivo para rechazar el sistema. Es una línea del plan.</p>
<h2>1. Accesos y titularidad</h2>
<p>El fallo más común en un traspaso es descubrir, semanas después, que una cuenta crítica pertenece a alguien que se ha ido.</p>
<ul>
<li>¿El código fuente está en un repositorio de su empresa, con los derechos de administrador en manos de su empresa?</li>
<li>¿Tiene acceso de propietario al alojamiento, al DNS, al registrador del dominio, a las bases de datos, al almacenamiento de objetos y a la CDN?</li>
<li>¿El envío de correo, los proveedores de pago, las APIs de terceros, las cuentas de las tiendas de apps y la monitorización están registrados con direcciones de la empresa y no personales?</li>
<li>¿Dónde se guardan los secretos, y puede rotar todas las credenciales que tenía el desarrollador anterior sin una interrupción del servicio?</li>
<li>¿Qué cuentas son de pago, con qué tarjeta, y cuándo se renueva o caduca cada una?</li>
<li>¿Hay licencias (tipografías, bibliotecas, puestos de SaaS, teselas de mapas) que dejarán de estar vigentes cuando se cierren las cuentas del equipo anterior?</li>
</ul>
<p>Si alguna respuesta es «no lo sabemos», deténgase y averígüelo antes de cambiar nada.</p>
<h2>2. La realidad de producción</h2>
<p>El repositorio le dice lo que se pretendía. La producción le dice lo que es cierto.</p>
<ul>
<li>¿Qué está desplegado ahora mismo, desde qué commit, y coincide con la rama principal?</li>
<li>¿Cómo se despliega? ¿A mano, con un script, con un pipeline? ¿Puede repetirlo?</li>
<li>¿Qué se ejecuta de forma programada: tareas cron, colas, funciones programadas, webhooks? ¿Dónde se configuran?</li>
<li>¿A qué servicios externos llama el sistema, y cuáles lo llaman a él?</li>
<li>¿Qué dicen los registros y los rastreadores de errores sobre lo que lleva tiempo fallando en silencio?</li>
<li>¿Qué entornos hay además de producción? ¿Existe un entorno de preproducción parecido?</li>
</ul>
<h2>3. Datos</h2>
<p>Los datos son la parte de un sistema que no se puede regenerar.</p>
<ul>
<li>¿Dónde viven los datos: bases de datos, archivos, servicios de terceros, hojas de cálculo?</li>
<li>¿Qué tamaño tienen y con qué rapidez crecen?</li>
<li>¿Cuándo se hizo la última copia de seguridad, y alguna vez se ha restaurado una en otro lugar para comprobarla?</li>
<li>¿Qué datos personales se conservan, con qué base jurídica y dónde está documentado?</li>
<li>¿Hay migraciones pendientes, a medio aplicar o aplicadas a mano?</li>
<li>¿Puede exportar los datos en un formato que pueda llevar a otro sistema?</li>
</ul>
<p>Restaure una copia de seguridad en un lugar seguro durante la revisión. Una copia de seguridad que nunca se ha restaurado es una esperanza, no una copia de seguridad.</p>
<h2>4. Seguridad de los cambios</h2>
<p>Va a necesitar cambiar el sistema. Averigüe lo peligroso que es.</p>
<ul>
<li>¿Puede ejecutar el sistema en un equipo de desarrollo a partir solo del repositorio?</li>
<li>¿Hay pruebas? ¿Pasan? ¿Qué cubren?</li>
<li>¿Hay un paso de revisión antes de que el código llegue a producción?</li>
<li>¿Se puede deshacer una mala versión, y se ha hecho alguna vez?</li>
<li>¿Un cambio trivial (una errata en el pie de página) recorre todo el circuito de publicación en menos de un día?</li>
</ul>
<p>Si la respuesta a la última pregunta es no, arreglar ese circuito es la primera tarea de ingeniería, antes de cualquier función nueva.</p>
<h2>5. Dependencias y plataforma</h2>
<ul>
<li>¿Cuáles son las versiones del entorno de ejecución, del framework y de la base de datos, y cuándo llega cada una al final de su vida útil?</li>
<li>¿Cuántas dependencias hay, qué antigüedad tienen y cuáles ya no se mantienen?</li>
<li>¿Alguna tiene vulnerabilidades conocidas?</li>
<li>¿Cuándo fue la última actualización y qué dejó de funcionar?</li>
<li>¿Hay algo fijado a una versión por un motivo que nadie recuerda?</li>
</ul>
<h2>6. Conceptos básicos de seguridad</h2>
<p>Esto no es una prueba de penetración. Es lo mínimo que debe saber antes de hacerse cargo del sistema.</p>
<ul>
<li>¿La autorización se aplica en el servidor o solo en la interfaz?</li>
<li>¿Hay secretos en el código o en el historial del repositorio?</li>
<li>¿Se validan los datos que introduce el usuario antes de que lleguen a la base de datos o al shell?</li>
<li>¿Quién tiene acceso a producción, y ese acceso es individual y revocable?</li>
<li>¿Quedan activos endpoints administrativos, modos de depuración o credenciales por defecto?</li>
<li>¿El transporte está cifrado en todas partes, también entre servicios?</li>
</ul>
<h2>7. Conocimiento</h2>
<ul>
<li>¿Se puede contactar con el desarrollador anterior, y está dispuesto a responder preguntas a cambio de una remuneración?</li>
<li>¿Existe alguna descripción escrita de la arquitectura, del despliegue o de las razones de las decisiones importantes?</li>
<li>¿Qué partes del sistema no entiende nadie en la actualidad?</li>
<li>¿Qué partes evita tocar todo el mundo, y por qué?</li>
<li>¿Qué incidentes hubo en el último año y cómo se resolvieron?</li>
</ul>
<p>Pregunte por decisiones, no por código: por qué esta base de datos, por qué este alojamiento, qué cambiarían, qué les daba miedo. Anote las respuestas.</p>
<h2>8. Costo y encaje</h2>
<ul>
<li>¿Cuánto cuesta el sistema al mes en alojamiento, licencias y servicios de terceros?</li>
<li>¿Cuánto cuesta hoy en tiempo de ingeniería mantenerlo en marcha?</li>
<li>¿Qué necesita el negocio de él en los próximos doce meses?</li>
<li>¿Alguna parte importante atiende un caso de uso que ya no existe?</li>
<li>¿Es un sistema para conservar, para <a href="/es/servicios/reparacion-de-aplicaciones/">modernizar sin sustituirlo</a> o para sustituir? La respuesta sale de las siete secciones anteriores, no de la primera reunión.</li>
</ul>
<h2>Cómo usar el resultado</h2>
<p>Escriba las respuestas en un único documento, con una lista de los «no» ordenada por riesgo. Esa clasificación se convierte en las primeras semanas de trabajo: primero los accesos y la facturación, después las copias de seguridad y los despliegues, luego las partes frágiles y por último las que se desean. Un traspaso hecho en este orden le hace esperar una función nueva más de lo que quería, pero nunca le muestra una caída del servicio.</p>
<p>Si prefiere que nosotros hagamos esta revisión y después nos hagamos cargo del sistema, <a href="/es/servicios/traspaso-de-software/">para eso está nuestro servicio de traspaso de software</a>. Si prefiere hacerla usted mismo, la lista es suya.</p>
]]></content>
  </entry>
  <entry>
    <title>MVP o prototipo: qué conviene construir primero</title>
    <link href="https://alplustech.com/es/articulos/mvp-o-prototipo/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/es/articulos/mvp-o-prototipo/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Elija entre prototipo, prueba de concepto o MVP según la pregunta que necesita responder. Incluye una tabla de decisión y un briefing práctico para la primera versión.</summary>
    <content type="html"><![CDATA[<p>Un prototipo le ayuda a probar una idea o una interacción. Un producto mínimo viable, o MVP, permite que usuarios reales completen una tarea útil para que usted aprenda del uso real. Construya un prototipo cuando el diseño sea incierto; construya un MVP cuando esté listo para entregar y operar un producto pequeño. Si la incertidumbre es técnica, puede ir primero una prueba de concepto concreta.</p>
<p>Son compras distintas. Una demostración pulida no incluye necesariamente el tratamiento de datos, los permisos, el proceso de publicación o el soporte que necesita un producto en funcionamiento. Antes de comparar propuestas de desarrollo, nombre la pregunta que quiere que responda el trabajo.</p>
<h2>Comparación entre prototipo, prueba de concepto y MVP</h2>
<p>Los nombres varían de un equipo a otro. Acuerde el resultado que se pretende en lugar de fiarse del nombre que figure en una propuesta.</p>
<p>En una pantalla estrecha, desplace la tabla hacia los lados para leer todas las columnas.</p>
<table>
<thead>
<tr>
<th>Entregable</th>
<th>Pregunta a la que responde</th>
<th>Qué debería poder observar</th>
<th>Qué no demuestra</th>
</tr>
</thead>
<tbody>
<tr>
<td>Prototipo</td>
<td>¿Pueden los usuarios entender y completar esta interacción propuesta?</td>
<td>Las personas prueban un recorrido limitado; usted ve dónde dudan o lo malinterpretan.</td>
<td>Integraciones fiables, funcionamiento en producción ni disposición a pagar.</td>
</tr>
<tr>
<td>Prueba de concepto</td>
<td>¿Puede funcionar un enfoque técnico concreto con las restricciones relevantes?</td>
<td>Un experimento acotado demuestra una capacidad, por ejemplo leer los datos necesarios de un proveedor.</td>
<td>Un producto completo ni una experiencia de cliente utilizable.</td>
</tr>
<tr>
<td>MVP</td>
<td>¿Puede un producto pequeño y funcional aportar el valor previsto a sus primeros usuarios?</td>
<td>Usuarios reales completan la tarea principal; usted recoge comentarios y observa el uso.</td>
<td>Encaje del producto con el mercado, captación rentable ni preparación para todos los clientes futuros.</td>
</tr>
</tbody>
</table>
<p>Un prototipo puede ser un boceto en papel, un diseño en el que se puede hacer clic o una interfaz programada y limitada. Su utilidad viene de lo que se aprende, no de la cantidad de código que contiene. La <a href="https://www.gov.uk/service-manual/agile-delivery/how-the-alpha-phase-works">guía de la fase alfa de GOV.UK</a> (en inglés) hace la misma distinción práctica: probar las hipótesis arriesgadas con prototipos en lugar de tratar el código experimental como software de producción.</p>
<p>Un MVP puede ofrecerse a un grupo pequeño de invitados. No necesita todas las funciones, pero quienes lo usan necesitan una forma de completar la tarea prometida y de obtener ayuda cuando falla.</p>
<h2>Elija el entregable más pequeño que resuelva la incertidumbre</h2>
<p>Pregúntese qué podría convertir en un derroche la siguiente inversión en desarrollo.</p>
<ul>
<li><strong>La necesidad es incierta:</strong> hable con los usuarios previstos y observe su trabajo actual. Ni un prototipo ni un MVP sustituyen a descubrir si el problema importa.</li>
<li><strong>La interacción es incierta:</strong> use un prototipo para probar los pasos difíciles. Puede que no necesite diseñar todo el producto para saber dónde se atascan las personas.</li>
<li><strong>La integración es incierta:</strong> haga una prueba de concepto con datos representativos y un acceso realista. Una petición correcta a un endpoint de pruebas no demuestra que toda la integración esté lista.</li>
<li><strong>El valor en el uso real es incierto:</strong> considere un MVP con un recorrido pequeño y completo, y un plan para observar lo que ocurre tras la publicación.</li>
</ul>
<p>No tiene por qué comprar los tres en secuencia. Si el flujo de trabajo ya se entiende y la tecnología está consolidada, un prototipo aparte puede aportar poco. Si una integración imprescindible no puede funcionar, construir antes el resto del producto es el orden equivocado.</p>
<h2>Una idea de reservas, tres alcances distintos</h2>
<p>Piense en un producto hipotético de reservas. Los clientes deben elegir una cita disponible, recibir una confirmación y modificar la reserva si hace falta. Es un ejemplo ilustrativo, no un resultado de un cliente de AL+.</p>
<p><strong>Un prototipo</strong> podría mostrar la selección de la cita, la pantalla de confirmación y el flujo de cancelación. Compruebe si las personas entienden las opciones y si el personal puede usar la vista administrativa propuesta. Las citas y las confirmaciones pueden estar simuladas si se les explica a los participantes.</p>
<p><strong>Una prueba de concepto</strong> podría examinar el proveedor del calendario. ¿Puede la aplicación leer la disponibilidad, crear una reserva y reconocer un cambio en conflicto, con el acceso que el negocio puede obtener realmente? Documente qué probó el experimento, el entorno utilizado y qué queda sin probar.</p>
<p><strong>Un MVP</strong> podría permitir que un grupo limitado haga reservas reales de un servicio en un local. También necesitaría las reglas pertinentes sobre zonas horarias, conflictos, cancelaciones, acceso del personal y recuperación ante fallos. Un gran panel de informes puede esperar; evitar que dos personas reserven el mismo horario, quizá no.</p>
<p>La decisión depende de la incertidumbre y del resultado prometido. «Solo cinco pantallas» no basta para distinguir esos alcances.</p>
<h2>Un briefing que puede usar antes de pedir un presupuesto</h2>
<p>Rellene estas seis líneas. Si no puede responder a alguna, anótela como pregunta abierta en lugar de como suposición.</p>
<ol>
<li><strong>Usuario y tarea:</strong> quién necesita hacer qué, y qué hace hoy.</li>
<li><strong>Pregunta por responder:</strong> qué incertidumbre debe resolver este trabajo.</li>
<li><strong>Entregable:</strong> prototipo, experimento técnico o una primera versión funcional; explique por qué.</li>
<li><strong>Prueba de finalización:</strong> qué comportamiento u observación le permitiría aceptar el trabajo.</li>
<li><strong>Alcance y exclusiones:</strong> qué usuarios, dispositivos, integraciones y casos de fallo se incluyen; qué puede esperar.</li>
<li><strong>Próxima decisión:</strong> qué hará si el resultado respalda la idea, la contradice o no es concluyente.</li>
</ol>
<p>En el ejemplo de las reservas, un criterio de aceptación podría ser: «Un cliente invitado puede reservar un horario realmente disponible, recibir la confirmación y cancelarlo; el personal ve el cambio». Eso describe el comportamiento del producto. «La app tiene una pantalla de reservas» describe una interfaz y deja sin resolver el trabajo importante.</p>
<p>Use la <a href="/en/thoughts/mvp-development-cost/">guía del costo de desarrollar un MVP</a> (en inglés) para comparar estimaciones del mismo entregable con las mismas exclusiones.</p>
<h2>Lo que un MVP sigue necesitando tras reducir la lista de funciones</h2>
<p>Un alcance pequeño no elimina las responsabilidades que crean los usuarios y los datos reales. Identifique cuáles se aplican antes del lanzamiento:</p>
<ul>
<li>Reglas de acceso y un tratamiento correcto de la información que guarda el producto.</li>
<li>Un proceso de publicación repetible y el control del repositorio y de las cuentas de servicios.</li>
<li>Una forma de detectar los fallos y de recuperar el trabajo o los datos importantes.</li>
<li>Un contacto de soporte y alguien responsable de la siguiente versión.</li>
<li>Un plan para recoger comentarios que sirvan a una decisión concreta sobre el producto.</li>
</ul>
<p>Esos requisitos deben ajustarse a la publicación real. No añada infraestructura para una escala imaginaria, pero no omita una vía de recuperación para la información que no puede permitirse perder. La <a href="https://www.gov.uk/service-manual/agile-delivery/how-the-beta-phase-works">guía de la fase beta de GOV.UK</a> (en inglés) ofrece un modelo útil: invitar a un grupo limitado, aprender del uso real y planificar la capacidad para sostener ese aprendizaje.</p>
<h2>¿Se puede convertir un prototipo en un MVP?</h2>
<p>A veces. Primero examine lo que contiene realmente el prototipo. Puede que la interfaz sea reutilizable, mientras que los datos simulados, la autenticación provisional o la configuración solo local deban sustituirse. A veces sale más barato descartar el código escrito para un experimento que hacerlo fiable.</p>
<p>Pida al desarrollador que separe el trabajo reutilizable, el trabajo de producción que falta y las hipótesis sin resolver. Un prototipo creado con IA necesita la misma revisión; una demostración convincente es prueba de que la demostración funciona, no de que el producto esté listo para los clientes.</p>
<h2>Hable de la próxima versión útil</h2>
<p><a href="/es/servicios/desarrollo-de-software-a-medida/">AL+ ofrece desarrollo de MVP</a> para fundadores que necesitan un primer recorrido completo y una titularidad clara tras el lanzamiento. Envíenos el briefing de seis líneas, cualquier prototipo existente y sus limitaciones de presupuesto o de plazo.</p>
<p><a href="mailto:paul@alplustech.com?subject=Consulta%20sobre%20un%20proyecto%20de%20prototipo%20o%20MVP">Escriba a AL+ sobre su prototipo o MVP</a>. Podemos hablar de qué entregable responde a la pregunta que usted necesita resolver.</p>
]]></content>
  </entry>
  <entry>
    <title>Cómo planificar un desarrollo de software a medida: alcance y costo</title>
    <link href="https://alplustech.com/es/articulos/planificar-desarrollo-de-software-a-medida/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/es/articulos/planificar-desarrollo-de-software-a-medida/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Prepare el briefing de un desarrollo de software a medida: usuarios, flujos de trabajo, integraciones, alcance, factores de costo y criterios de aceptación, antes de pedir una propuesta.</summary>
    <content type="html"><![CDATA[<p>Un buen briefing de desarrollo de software a medida describe el trabajo que el software debe hacer posible. No necesita imponer un framework ni enumerar todas las pantallas. Necesita el detalle suficiente para que un equipo de desarrollo identifique las incógnitas y proponga una primera versión acotada.</p>
<p>Use esta lista de verificación antes de pedir una propuesta. Le ayuda a comparar lo que entregará cada proveedor, en lugar de comparar precios de interpretaciones distintas de la misma idea.</p>
<h2>1. Nombre al usuario y la tarea</h2>
<p>Escriba una frase: «Un [usuario] necesita [completar una tarea] para que [resultado útil]». Por ejemplo, un responsable de operaciones necesita aprobar una reserva sin copiar datos entre tres sistemas. Es un flujo de trabajo ilustrativo, no un resultado de un cliente.</p>
<p>Enumere a las demás personas implicadas. Un cliente, un administrador y un responsable de finanzas pueden necesitar permisos distintos aunque usen el mismo registro.</p>
<h2>2. Describa lo que ocurre hoy</h2>
<p>Explique el proceso actual, incluidas las hojas de cálculo, los correos y las comprobaciones manuales. Indique el paso que consume tiempo o provoca errores. Incluya un ejemplo anonimizado de los datos de entrada y del resultado esperado.</p>
<p>No envíe contraseñas, registros de clientes ni credenciales de producción en el primer correo. Describa los sistemas implicados; el acceso adecuado se organiza una vez acordado el proyecto.</p>
<h2>3. Defina una primera versión completa</h2>
<p>Elija un flujo de trabajo que un usuario real pueda terminar. Especifique qué lo inicia, qué hace el software y cómo sabe el usuario que ha funcionado. Incluya el caso de fallo: ¿qué ocurre cuando los datos son incorrectos, se rechaza una aprobación o una integración no está disponible?</p>
<p>Ponga todo lo demás en una lista aparte para más adelante. Una primera versión pequeña puede tener menos funciones y aun así necesitar un tratamiento fiable de los datos, control de acceso y una forma de recuperarse de un fallo.</p>
<h2>4. Enumere las integraciones y los datos</h2>
<p>Nombre cada servicio externo, la información que se intercambia y quién controla el acceso. Indique si el proveedor tiene una API documentada y si existe acceso de pruebas. Son preguntas por resolver, no capacidades que dar por supuestas.</p>
<p>Si hay que trasladar datos de un sistema antiguo, describa su formato, su tamaño aproximado, sus problemas de calidad y el período en que ambos sistemas tendrán que funcionar a la vez. La migración es trabajo adicional a la construcción de las pantallas nuevas.</p>
<h2>5. Indique las restricciones que cambian la propuesta</h2>
<p>Incluya los límites de presupuesto, cualquier fecha fija y su motivo, la accesibilidad exigida, las restricciones sobre la ubicación de los datos y quién usará el sistema. Si los requisitos exigen asesoramiento legal o de seguridad especializado, identifique quién lo aportará.</p>
<p>En el trabajo remoto, acuerde cómo se registrarán las decisiones, quién puede aprobar el alcance y qué coincidencia de horarios es necesaria. Una decisión estancada puede retrasar la entrega aunque la implementación sea sencilla.</p>
<h2>6. Compare los factores de costo, no solo los totales</h2>
<p>El costo del desarrollo de software depende de los flujos de trabajo, las reglas de permisos, las integraciones, el trabajo con datos y los requisitos de operación. El mismo número de pantallas puede esconder cantidades de trabajo muy distintas.</p>
<p>Pida a cada proveedor que separe el alcance conocido de las suposiciones. Compare estos cinco puntos:</p>
<ul>
<li>El comportamiento operativo incluido en la primera versión.</li>
<li>Las incógnitas que deben comprobarse para que una estimación sea fiable.</li>
<li>El trabajo excluido de la propuesta.</li>
<li>Cómo afecta al precio y al calendario un cambio de alcance.</li>
<li>Qué ocurre después del lanzamiento, incluidos los costos de alojamiento y el mantenimiento.</li>
</ul>
<p>Un precio sin esos límites es difícil de comparar. Esta lista no ofrece un precio universal para un proyecto; una estimación creíble necesita los requisitos reales.</p>
<h2>7. Decida cómo aceptará el trabajo</h2>
<p>Redacte las comprobaciones en términos del usuario: «Un operador puede aprobar una solicitud, el cliente recibe la actualización correcta y la decisión queda registrada». Defina ejemplos representativos y los errores que el sistema debe gestionar.</p>
<p>Acuerde cómo verá el avance y probará las versiones. Acuerde también quién es titular del repositorio, de las cuentas de infraestructura, de la documentación, del proceso de despliegue y de las copias de seguridad. La <a href="/en/thoughts/what-a-software-handover-should-contain/">lista de verificación del traspaso de software</a> (en inglés) describe los elementos que debería poder recibir.</p>
<h2>Envíe un briefing que inicie una conversación útil</h2>
<p>Su primer correo puede ser breve: el usuario, el flujo de trabajo, lo que existe hoy, la integración importante y sus limitaciones de presupuesto o de plazo. No hace falta una especificación terminada.</p>
<p><a href="/es/servicios/desarrollo-de-software-a-medida/">AL+ ofrece servicios de desarrollo de software a medida</a> y el código es de su empresa. <a href="mailto:paul@alplustech.com?subject=Proyecto%20de%20software%20a%20medida">Escriba a paul@alplustech.com</a> con esos datos para hablar de su proyecto con las personas que lo construirían.</p>
]]></content>
  </entry>
  <entry>
    <title>¿Reparar o reescribir el software? Cómo decidirlo</title>
    <link href="https://alplustech.com/es/articulos/reparar-o-reescribir-software/" rel="alternate" type="text/html"/>
    <id>https://alplustech.com/es/articulos/reparar-o-reescribir-software/</id>
    <published>2026-11-11T00:00:00.000Z</published>
    <updated>2026-11-11T00:00:00.000Z</updated>
    <author><name>Paul</name></author>
    <summary>Reescribir es una conclusión a la que se llega tras entender el sistema, no un punto de partida. Casi todo software que se propone reescribir necesita un responsable, un plan y unos meses de reparación.</summary>
    <content type="html"><![CDATA[<p>Reescribir es una conclusión, no un punto de partida. La mayoría de los sistemas para los que se propone una reescritura no la necesitan. Necesitan un responsable, un plan de reparación y unos meses de trabajo paciente. Unos pocos sí necesitan reescribirse, y la única manera de distinguirlos es entender primero el sistema.</p>
<h2>Por qué se proponen las reescrituras</h2>
<p>Las reescrituras rara vez se proponen porque el sistema no tenga arreglo técnico. Se proponen porque nadie en el equipo actual entiende el sistema, y reconstruirlo parece la única manera de recuperar ese conocimiento.</p>
<p>Es una motivación honesta. También es la forma más cara de lograr el objetivo. Una reescritura recrea el conocimiento recreando el software, y todo lo que el sistema antiguo aprendió en años de producción, cada caso límite y cada corrección, hay que volver a aprenderlo.</p>
<p>El segundo motivo habitual es la frustración. Los cambios lentos, los incidentes recurrentes y una tecnología desconocida hacen atractivo empezar de cero. La frustración es real. El remedio suele ser que alguien se responsabilice, no sustituir el sistema.</p>
<h2>Qué miramos antes de decidir</h2>
<p>No respondemos a la pregunta de reparar o reescribir en la primera reunión. La respondemos después de una revisión que cubre cinco aspectos.</p>
<p><strong>Qué hace el sistema.</strong> No lo que dice la documentación ni lo que recuerda el fundador. Lo que hace en producción, para qué usuarios y con qué frecuencia. Muchas reescrituras se dimensionan según un uso imaginado.</p>
<p><strong>Dónde está el riesgo.</strong> Qué partes fallan, qué partes nadie toca y qué partes guardan datos que no se pueden perder. El riesgo suele concentrarse en una parte pequeña del código.</p>
<p><strong>Si se puede cambiar con seguridad.</strong> ¿Hay una forma de desplegar un cambio y saber que ha funcionado? ¿Hay pruebas, entornos de preproducción, copias de seguridad y marcha atrás? Si no, eso va primero sea cual sea la decisión final, porque una reescritura sin ello es una versión más grande del mismo problema.</p>
<p><strong>Cuánto cuesta mantener la tecnología.</strong> Los frameworks y los entornos de ejecución llegan al final de su vida útil. Las facturas de alojamiento crecen. Para algunas tecnologías es difícil contratar personal. Son costos reales, pero medibles, y a menudo menores que los de una reescritura.</p>
<p><strong>Qué necesita el negocio a continuación.</strong> Un sistema que necesita tres funciones pequeñas al año tiene requisitos distintos de otro que debe duplicar su capacidad. La decisión de reescribir depende del destino, no solo del estado actual.</p>
<h2>Cuándo la respuesta es reparar</h2>
<p>Reparar es la respuesta con más frecuencia de la que los equipos esperan. Las señales:</p>
<ul>
<li>El modelo de datos central es sólido, aunque el código que lo rodea esté desordenado.</li>
<li>Los problemas están concentrados. Dos o tres módulos causan la mayoría de los incidentes.</li>
<li>El sistema está en producción con usuarios reales, y el comportamiento del que dependen está en su mayor parte sin documentar.</li>
<li>La tecnología es antigua pero tiene soporte, o puede actualizarse por etapas.</li>
</ul>
<p>Reparar significa establecer quién es responsable, añadir una red de seguridad (pruebas alrededor de las partes de riesgo, monitorización, despliegues fiables) y después mejorar el sistema sin sustituirlo, con un cambio acotado cada vez. Los usuarios ven primero estabilidad y después mejoras. No se tira nada hasta que su sustituto ha demostrado funcionar.</p>
<h2>Cuándo la respuesta es reescribir</h2>
<p>Algunos sistemas sí hay que sustituirlos. Las señales son concretas:</p>
<ul>
<li>La plataforma no tiene soporte y no se puede actualizar. Un framework sin correcciones de seguridad es una fecha límite.</li>
<li>El modelo de datos no se ajusta a lo que el negocio hace ahora, y cada función choca con él.</li>
<li>El sistema se construyó para una escala o un uso que ya no existen, y la mayor parte es peso muerto.</li>
<li>El costo de entenderlo supera el de especificarlo, algo que ocurre con código generado o muy copiado que no tiene un diseño coherente.</li>
</ul>
<p>Aun así, reescribimos por partes siempre que podemos. Un sistema nuevo que va asumiendo una responsabilidad cada vez del antiguo mantiene el negocio en marcha y mantiene reversible la decisión.</p>
<h2>Una matriz de decisión</h2>
<p>Los cinco aspectos de la revisión anterior se reducen a una tabla pequeña. Puntúe cada fila para el sistema que tiene delante; la columna con más marcas es la recomendación, y un solo «sustituir» en la fila de la plataforma prevalece sobre el resto.</p>
<table>
<thead>
<tr>
<th>Pregunta</th>
<th>Apunta a reparar</th>
<th>Apunta a modernizar sin sustituir</th>
<th>Apunta a reescribir o sustituir</th>
</tr>
</thead>
<tbody>
<tr>
<td>¿La plataforma tiene soporte?</td>
<td>Sí, versiones actuales</td>
<td>Sí, pero varias actualizaciones por detrás</td>
<td>No, y no se puede actualizar</td>
</tr>
<tr>
<td>¿El modelo de datos se ajusta al negocio?</td>
<td>Sí</td>
<td>En su mayor parte; algunas estructuras chocan con las funciones nuevas</td>
<td>No; cada función lo rodea</td>
</tr>
<tr>
<td>¿Hay una forma segura de cambiarlo?</td>
<td>Sí</td>
<td>En parte; hay pruebas y marcha atrás para algunas partes</td>
<td>No, y añadirlas cuesta más de lo que valen las partes</td>
</tr>
<tr>
<td>¿Dónde está el riesgo?</td>
<td>Concentrado en dos o tres módulos</td>
<td>Repartido en una capa que se puede sustituir por separado</td>
<td>En todas partes; no hay un diseño coherente que conservar</td>
</tr>
<tr>
<td>¿Cuánto se sigue usando?</td>
<td>La mayor parte</td>
<td>La mayor parte, con zonas muertas que eliminar</td>
<td>Una minoría; el resto atiende casos que ya no existen</td>
</tr>
<tr>
<td>¿Qué necesita el negocio a continuación?</td>
<td>Funciones pequeñas y estabilidad</td>
<td>Una capacidad nueva importante sobre los mismos cimientos</td>
<td>Un producto distinto</td>
</tr>
</tbody>
</table>
<p>Reparar es <a href="/es/servicios/mantenimiento-de-software/">mantenimiento</a> con un plan. Modernizar sin sustituir es <a href="/es/servicios/reparacion-de-aplicaciones/">nuestro servicio de reparación y modernización</a>. Una reescritura también se hace por partes siempre que podemos, con el sistema antiguo funcionando hasta que cada pieza haya demostrado su valía.</p>
<h2>Nuestra postura</h2>
<p>Entender el sistema, lograr que sea seguro cambiarlo y después decidir. Los equipos que saltan directamente a la reescritura se saltan la parte en la que aprenden qué están sustituyendo, y ese conocimiento es lo más caro de reconstruir.</p>
]]></content>
  </entry>
</feed>
