Entender el diseño de software y los costes de desarrollo

Entender el diseno de software y los costes de desarrollo

Para saber todo lo que cuesta diseñar y desarrollar un software es importante entender cada fase del desarrollo y quién está involucrado en el proceso.

Aunque no haya una ecuación oficial para establecer el precio final de la distribución de un software, producto o servicio, espero que esto ayude a informar a cualquiera en busca de una página web, aplicación móvil, experiencia de RA/RV o integración de IA.

Antes de nada, los costes de diseño y desarrollo de software fluctuarán dependiendo de la localización, experiencia de los diseñadores, desarrolladores y managers de proyecto (equipo/firma) o complejidad y duración del proyecto. Para este artículo, haré hipótesis de costes basados en la media de Los Ángeles. Cuando le pregunto a alguien que cuánto creen que cuesta crear una página web, aplicación móvil o experiencia de RA/RV, las respuestas que me dan pueden literalmente oscilar entre los $5.000 y los $250.000 para una página web, entre los $15.000 y $500.000 para una app, y lo peor de todo, entre $30.000 y $1.000.000 para experiencias de RA/RV. Suelo comparar este ejercicio de preguntar a la gente por precios estimados con el de Ellen DeGeneres de preguntarle a Bill Gates por precios de supermercado. Para ser justos, es difícil adivinar cuánto costará un producto o servicio si no estás familiarizado con la industria (el señor Gates no ha ido a un supermercado en años). En cuanto a la industria del software y tecnología, los ingenieros de software ganan de media $102.000 ($51/hora), los diseñadores de UX/UI ganan de media $95.000 ($47/hora) y los managers de producto ganan de media $107.000 ($53.5/hora). Para ser claros, estas medias no reflejan niveles de compensación senior o ejecutivo. Entendiendo los salarios que una firma paga a sus empleados, puedes calcular rápidamente cuánto tienen que cobrar por hora a sus clientes solamente para amortizar la inversión. Es más, considera el alquiler del espacio de oficina en Los Ángeles y luego la capacidad de la empresa de obtener un pequeño beneficio.  Aunque entender las matemáticas básicas detrás de los costes de desarrollo es importante, aún lo es más considerar los antecedentes de la firma y los ingenieros con los que te estás asociando a la hora de determinar si de verdad valen el precio que están cobrando por sus servicios. No hay forma de evitarlo, desarrollar y diseñar un software puede ser caro.

Los principales elementos que uno debería considerar a la hora de elegir una firma de diseño y desarrollo incluyen: la experiencia del equipo, clientes anteriores con los que haya trabajado la firma, el tiempo que la firma dispone para entregarte los resultados deseados o el conocimiento industrial y cultural de la firma. Si cualquiera de estos componentes no se adapta a tu resultado esperado, deberías encarecidamente considerar otra compañía. La experiencia del equipo trabajando en tu visión es muy importante pues el entendimiento e ideologías que pueden aportar al proyecto influirá claramente en la formación del mismo. Cuanta más experiencia, más cobran los miembros del equipo, lo cual se refleja en lo que te cobrarán a ti por semana. Como es de esperar, es fácil determinar si el equipo tiene experiencia en tu campo industrial comprobando su lista de clientes y si proyectos anteriores resultaron exitosos. Cuanta más experiencia tiene un equipo, más cobrarán por su tiempo. Algunas de las grandes firmas de desarrollo y diseño digital pueden llegar a cobrar 10x más que su competencia pues están acostumbrados a tratar con empresas de la Fortune 500 y cualquier cosa por debajo de eso es una pérdida de tiempo. Si eres una empresa en sus etapas iniciales y andas corto de presupuesto, es importante encontrar una firma que sepas que trata con empresas pequeñas. El periodo de tiempo en el que una empresa puede crear la deseada página web, aplicación móvil o experiencia de RA/RV es probablemente sólo una estimación, pero es importante saber que tienen preparado un plan estructurado antes de comenzar el proceso de diseño y desarrollo.

Lo último a considerar es la cultura de la firma con la que esperas trabajar en tu proyecto. Como he mencionado arriba, algunas firmas se centran en trabajar exclusivamente con corporaciones billonarias, mientras que otras se centran únicamente en empresas emergentes.  Considero que lo mejor es encontrar una empresa que trabaje con ambas, porque entonces sabes que tienen la experiencia de trabajar para jugadores importantes de la industria, pero también entienden las limitaciones de empresas emergentes (coste y tiempo). Lo ideal es asociarse con una empresa que sientas que respeta tu visión, enfatiza con tus retos, recalca cómo creen que pueden ayudar, se comunica contigo como si fueses su cliente más importante e implementa procesos que aumentan tus probabilidades de éxito. Cada una de estas cualidades se relacionan con el precio final, así que asegúrate de comprobar estos requisitos antes de proceder con la firma de diseño y desarrollo.

Existen muchos desafíos asociados al precio del diseño y desarrollo de software. Como muchas otras cosas en la vida, establecer un precio es una mezcla de datos objetivos y subjetivos, pero también es cierto que escoger una firma se basa normalmente en percepciones subjetivas. Muchas firmas de diseño y desarrollo serán capaces de ofrecer habilidades técnicas similares, pero normalmente se reducirá a cualidades subjetivas como la creatividad, personalidad del equipo y tu propia “corazonada”. Si estás seguro de que puedes crear un producto tecnológico más barato, recuerda el viejo dicho: recoges lo que siembras.

Recuperar acceso a Joomla! con PHP y sin PHPMyAdmin

En algunas ocasiones nos encontramos con que no podemos acceder a la instalación Joomla! de alguno de nuestros clientes porque han perdido su usuario y contraseña y tampoco podemos conectarnos de manera remota con alguna de las soluciones como MySQL Workbench y como de costumbre tenemos que acceder con cierta celeridad para evitar algún problema.

Para no perder ese maravilloso tiempo que necesitaríamos para subir PHPmyAdmin os proponemos una sencilla solución basada en PHP con la que todo estará resuelto en cuestión de dos minutos.

 

Instrucciones para recuperar el acceso a nuestra instalación de Joomla!

Las instrucciones para que este script funcione correctamente y recuperemos el acceso a la instalación de Joomla! son bien sencillas, configuramos los datos de conexión a la base datos y en las consultas cambiamos la palabra ‘prefijo’ por el prefijo de nuestra instalación de Joomla! (podréis encontrarlo en vuestro fichero configuration.php).

<?php
// ######### configuramos la conexión a la base de datos ######### 
$con = mysql_connect("servidor","usuario","contrasegna");
$db_selected = mysql_select_db('base_de_datos', $con);
// ######### fin configuración de la conexión a la base de datos ######### 
if (!$con)
  {
  die('Error de conexión a la base de datos: ' . mysql_error());
  }
  
// ######### cambiamos en la consulta 'prefijo' por el prefijo de nuestra 
// instalación de Joomla! ######### 
    $sql = "INSERT INTO `prefijo_users` (`name`, `username`, `password`, 
`params`) VALUES ('admin2', 'admin2',    
'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');";
    if (mysql_query($sql,$con))
      {
      echo "Inserción a tablar users OK<br />";

        // ######### cambiamos en la consulta prefijo por el prefijo de nuestra 
//instalación de Joomla! ######### 
        $sql = "INSERT INTO prefijo_user_usergroup_map (user_id,group_id) 
VALUES (LAST_INSERT_ID(),8);";
        if (mysql_query($sql,$con))
          {
          echo "Inserción a tabla prefijo_user_usergroup_map OK<br>
<strong>Usuario creado con éxito</strong>. Recuerda que para acceder debes 
usar estas credenciales:<br />
              usuario: admin2<br />
              contraseña: secret";
          }
        else
          {
          echo "Error insert en insert a la tabla prefijo_user_usergroup_map: " . mysql_error();
          }      
      }
    else
      {
      echo "Error insert en tablar prefijo_users: " . mysql_error();
      }
?>

¿Te ha ayudado éste artículo a recuperar el acceso a tu instalación de Joomla!?

Ayuda a otros usuarios compartiendo el artículo en tus perfiles de las Redes Sociales 😉

¿Te ha gustado? Compártelo!!