¿Qué debo saber antes de contratar un desarrollo de software a medida?

¿Qué debo saber antes de contratar un desarrollo de software a medida?

Analizar los productos de software existentes

Se debe explorar primero si existe un sistema en el mercado que le pueda servir, puesto que desarrollar software a medida es costoso y lleva tiempo. Elija el desarrollo de software a medida cuando:

  • No exista un producto en el mercado que pueda solucionar su problema;
  • Considere que su necesidad de software cubre una ventaja competitiva estratégica, que lo diferenciará de sus competidores. En este caso usted está invirtiendo para ser mejor que su competencia.

Considerar el costo del desarrollo a medida

Los sistemas existentes (Word, Excel o hasta un ERP cómo SAP) costaron millones de dólares de desarrollo. Sin embargo, utilizarlos es económico porque se venden a miles o millones de clientes, por lo cual su costo total se diluye entre todos los compradores.

Construir software es costoso, ya que requiere de personal altamente capacitado y entrenado (y en consecuencia tienen salarios elevados). Adicionalmente, los proyectos de software representan una de las tareas más complejas de la ingeniería, requiriendo grandes cantidades de tiempo para su finalización.

En el caso del desarrollo de software a medida, el costo total del proyecto es afrontado por uno o por pocos clientes.

¿Cómo sé cuanto costará en total mi proyecto?

La mayoría de nosotros creemos tener una idea clara del tipo de software que necesitamos. Sin embargo, la mayoría de las veces esto no es suficiente para estimar el costo de un software.

El problema está en que es muy probable que todavía no tenga suficiente detalle para que una empresa seria le entregue una estimación del costo del proyecto. Las estimaciones se fundamentan en una descripción muy específica de cada pantalla que va a tener el software, de cada campo, de cada menú, botón o consulta. Igualmente, estas requieren de diseños de la arquitectura que soportará la aplicación (datos técnicos, tipo de tecnología, tipo de servidores, cantidad de usuarios, exigencias de desempeño, etc.).

Desafortunadamente, muchas empresas no son serias en sus presupuestos, y están dispuestas a adelantar el costo de un proyecto de desarrollo a medida con poca información, lo cual los está obligando a “adivinar”. De la misma manera que un ingeniero civil requiere de un estudio de suelos, planos detallados, planos eléctricos, detalle de acabados, ingeniería estructural, etc. para costear una obra civil, un ingeniero de software requiere de cientos de datos para poder hacer una estimación real.

Tenga cuidado de quienes “presupuestan” el proyecto por ganarse el cliente, ya que están jugando con su empresa y con usted a la “ruleta rusa”.

Sólo el 38% de los desarrollos de software a medida son exitosos.

Según, el Standish Group, consultora estadounidense dedicada a explorar el éxito o fracaso de los proyectos de ingeniería de software a nivel mundial, recalca como tan solo un 38% de los proyectos de software emprendidos en el mundo moderno se consideran exitosos. De esta manera, un proyecto afrontado sin metodología corre un alto riesgo de ser entregado a destiempo, por fuera de presupuesto y con una funcionalidad diferente a la esperada.

¿Y entonces?

Para enfrentar un desarrollo de software a medida se debe desplegar un proceso de ingeniería que requiere de una metodología de trabajo clara, organizada, medida, monitoreada, controlada y ajustada. Tenemos dos caminos:

  1. Antes de comenzar el desarrollo detallamos todos los requerimientos y solicitamos un presupuesto.
  2. Seguimos una metodología ágil.

A primera vista, la opción 1 tiende a ser más natural, puesto que se busca “ponerle un precio” a un proyecto como si fuera cualquier otro producto. Es bueno saber que este tipo de metodologías han sido prácticamente descartadas por las universidades más prestigiosas del mundo. En EEUU, por ejemplo, Stanford, MIT y Carnegie Mellon ya no las enseñan.

Según Standish Group, el 45% de las funcionalidades que los usuarios piden en proyectos tradicionales de Grandes Requerimientos por Adelantado (GRPA) nunca se utilizan… esto es el equivalente a ¡Desperdiciar el 45% de su dinero!.

Las ideas se le ocurren a las personas de manera espontánea, en cualquier momento, no necesariamente en el momento “adecuado”.

Los proyectos que se estimaron por adelantado normalmente sufren cambios del 30 al 40% en los requerimientos, luego de que éstos ya se encontraban terminados.

En proyectos grandes, la sola construcción de la documentación y su estimación puede constituir un 30 o 40% del esfuerzo total de un proyecto.

Las metodologías de desarrollo de software denominadas ágiles buscan dedicar la mayor cantidad de tiempo y esfuerzo de un proyecto a construir funcionalidad. Produciendo un ahorro de entre 35% y 40%.

Pero si no hay un costo fijo, ¿cómo sabe el cliente que la empresa está trabajando de manera responsable? En las metodologías ágiles, el cliente recibe software operativo cada 2 a 4 semanas. Por tal motivo, el cliente puede rápidamente experimentar, de primera mano, si el software que se está construyendo cumple o no sus expectativas.

A primera vista, esto parece un gran sacrificio: ¿cómo sabe un cliente, entonces, cuál será el tamaño y costo de su iniciativa?

En una primera aproximación, el equipo da una estimación de alto nivel, con información de alto nivel que toma a lo sumo varias semanas en construirse. Esta estimación no va a ser exacta, pero es muy rápido generarla y por ende es poco costoso. Con esta estimación en mano, el cliente logra aprobar el comienzo del trabajo.

Posted in Software.

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *