¿Cuánto cuesta desarrollar la inteligencia artificial?

Puede ver cómo la IA puede servir a su negocio y ahora veamos cómo estimar un proyecto de desarrollo de software para crear una solución de IA. Esto implica los siguientes pasos:

1. Establecer expectativas a partir de este ejercicio de estimación

Determinará sus requisitos comerciales exactos para desarrollar una solución de IA; además, una parte del costo será el costo de la mano de obra de desarrollo. De hecho, este es uno de los mayores factores que contribuyen al costo total para desarrollar una solución de IA. Los requisitos comerciales impulsarán el consumo de recursos como la infraestructura de TI.

Este ejercicio de estimación le proporcionará un marco para construir una estimación de costos, posteriormente, debe ingresar las variables como la cantidad de funciones, la tarifa laboral, etc. El marco que se explica aquí no llega a una cifra exacta en dólares ya que no No sé el número de funciones y la tasa de mano de obra en este momento.

2. Comprender las variables de estimación

Nuestro ejercicio de estimación utilizará las siguientes variables de estimación:

  • Número de funciones: deberá ingresar;
  • Mano de obra: el marco lo ayudará a calcular un rango en meses-persona;
  • Tasa de mano de obra: deberá ingresar;
  • Costo de la infraestructura de TI: el marco le mostrará cómo derivar una estimación basada en su consumo;
  • Costo de las herramientas: el marco explicará cómo derivar una estimación basada en sus requisitos;
  • Costo administrativo: Deberá ingresar.

Si necesita ayuda para obtener una estimación de la calidad del presupuesto a partir de este marco una vez que haya finalizado sus requisitos, en DevTeam.Space podemos ayudarlo con nuestros sólidos procesos basados ​​en datos.

3. Elegir un modelo SDLC

Es probable que esté considerando la IA para una transformación estratégica en su negocio. Dichos proyectos suelen tener un conjunto bien definido de requisitos; además, proyectos como estos requieren revisiones exhaustivas después de hitos clave.

El modelo Waterfall SDLC funciona bien para este tipo de proyectos, ya que enfatiza la línea de base de los requisitos, así como las revisiones después de cada fase. Las fases son las siguientes:

  • Análisis de requerimientos;
  • Diseño;
  • Desarrollo;
  • Pruebas;
  • Despliegue;

Obtenga más información sobre el modelo Waterfall SDLC en «¿Qué es el ciclo de vida del desarrollo de software y qué planea?». Este ejercicio de estimación cubrirá las subfases de soporte de garantía y posteriores a la implementación con la fase de mantenimiento, y no el mantenimiento continuo a largo plazo. Tenga esto en cuenta al presupuestar el costo de desarrollar una solución de IA para su negocio.

4. Determinar las capacidades de IA que necesita

Debe identificar las características funcionales de la solución de IA propuesta. Revisar las aplicaciones populares de IA podría ayudar con esto, por lo tanto, le sugiero que lea «10 mejores aplicaciones de IA de 2019».

Para fines de estimación, también debe determinar las capacidades de IA que necesita. Le recomiendo que planee incluir las siguientes capacidades amplias de IA:

  • Machine Learning (ML), que podría incluir aprendizaje profundo, aprendizaje supervisado y aprendizaje no supervisado;
  • Procesamiento del Lenguaje Natural (NLP), para responder preguntas, generar textos, etc.;
  • Visión, por ejemplo, reconocimiento de imágenes;
  • Voz, por ejemplo, texto a voz y voz a texto.

Lea más sobre estas capacidades en “Inteligencia artificial: definición, tipos, ejemplos, tecnologías.”.

5. Elige la composición adecuada del equipo

Su equipo para este proyecto debe tener los siguientes roles:

  • un gerente de proyecto (PM);
  • un arquitecto de TI;
  • analistas de negocios;
  • diseñadores de interfaz de usuario;
  • Desarrolladores de IA, que cubren capacidades como ML, NLP, visión y voz;
  • Desarrolladores web, Android e iOS, asumiendo que ofrecerá la aplicación de IA en la web y en dispositivos móviles;
  • probadores;
  • Ingenieros DevOps.

Si está considerando contratar trabajadores independientes o un equipo de desarrollo de expertos de campo, le recomiendo un equipo de desarrollo de expertos de campo, dadas las complejidades del proyecto. He explicado este proceso de toma de decisiones anteriormente en «Equipo de desarrollo de aplicaciones independientes frente a equipos de desarrollo de software expertos en el campo».

6. Documentar los supuestos de estimación

Hago las siguientes suposiciones para el ejercicio de estimación:

  • Utilizará una plataforma de plataforma como servicio (PaaS) para desarrollar la aplicación web.
  • Este proyecto utilizará una plataforma Mobile-Backend-as-a-Service (MBaaS) para el desarrollo de aplicaciones móviles.
  • Utilizará interfaces de programación de aplicaciones (API) para implementar capacidades clave de IA.
  • El equipo utilizará herramientas y marcos de renombre como IDE y marcos de automatización de pruebas durante este proyecto.

El uso de plataformas y herramientas puede acelerar el proyecto, y lo expliqué anteriormente en «¿Cuál es el mejor enfoque de desarrollo para garantizar el éxito de su aplicación?».

7. Estimar la mano de obra de desarrollo

Ahora describiré la estimación de la mano de obra por fases y mostraré la división del esfuerzo entre los roles. Esta estimación es la siguiente:

7a. Fase de requisitos

La estimación para esta fase es de 6 a 8 meses-persona, y el esfuerzo debe dividirse entre los roles de la siguiente manera:

  • PM: 25%;
  • arquitecto de TI: 25%;
  • Analistas de negocio: 50%.

7b. Fase de diseño

La fase de diseño requerirá de 24 a 30 meses-persona, y la distribución del esfuerzo por roles es la siguiente:

  • PM: 8%;
  • arquitecto de TI: 8%;
  • analistas de negocios: 8%;
  • diseñadores de interfaz de usuario: 8%;
  • Desarrolladores de IA: 36%;
  • Desarrolladores web: 8%;
  • Desarrolladores de Android: 8%;
  • desarrolladores de iOS: 8%;
  • Probadores: 8%;
  • Ingenieros DevOps: 8%.

7c. Fase de desarrollo

La estimación para la fase de desarrollo es de 39 a 46 meses-persona, con la distribución del esfuerzo basada en roles de la siguiente manera:

  • PM: 7%;
  • arquitecto de TI: 7%;
  • diseñadores de interfaz de usuario: 14%;
  • Desarrolladores de IA: 30%;
  • Desarrolladores web: 10%;
  • Desarrolladores móviles: 18%;
  • Probadores: 7%;
  • Ingenieros DevOps: 7%.

7d. Fase de prueba

La fase de prueba requiere de 26 a 33 meses-persona, y la distribución del esfuerzo entre los roles es la siguiente:

  • PM: 5%;
  • arquitecto de TI: 5%;
  • diseñadores de interfaz de usuario: 5%;
  • Desarrolladores de IA: 15%;
  • Desarrolladores web: 5%;
  • Desarrolladores móviles: 10%;
  • Probadores: 50%;
  • Ingenieros DevOps: 5%.

7e. Fase de implementación

Esta fase requiere de 2 a 3 meses-persona, y la siguiente es la distribución del esfuerzo entre los roles:

  • PM: 10%;
  • arquitecto de TI: 10%;
  • Ingenieros DevOps: 80%.

7f. Fase de soporte post-implementación y garantía

Esta fase requiere 42 meses-persona, suponiendo un período de garantía de 3 meses. La distribución del esfuerzo basado en roles es la siguiente:

  • PM: 7%;
  • arquitecto de TI: 7%;
  • diseñadores de interfaz de usuario: 7%;
  • Desarrolladores de IA: 28%;
  • Desarrolladores web: 7%;
  • Desarrolladores móviles: 14%;
  • Probadores: 23%;
  • Ingenieros DevOps: 7%.

8. Estimar el costo de la plataforma PaaS

te recomiendo que uses Beanstalk elástico de AWS para desarrollar e implementar la aplicación web. Elastic Beanstalk es la oferta de PaaS de AWS y ofrece varios beneficios, por ejemplo:

  • No necesita administrar la infraestructura de la nube, ya que Elastic Beanstalk la administra.
  • También administra el sistema operativo, el middleware y el entorno de tiempo de ejecución, por lo tanto, puede concentrarse en el desarrollo.
  • Elastic Beanstalk le facilita el uso de los recursos de la base de datos; además, puede integrar fácilmente API de terceros.
  • Es fácil usar el conjunto de herramientas de AWS DevOps; además, puede escalar fácilmente la aplicación web utilizando las soluciones de escalado automático que ofrece AWS.

Puede encontrar los planes de precios para Elastic Beanstalk aquíy su arquitecto necesita llegar a un perfil de consumo de recursos informáticos para su aplicación.

9. Estime el costo de la plataforma MBaaS

AWS amplificar es la plataforma MBaaS que ofrece AWS y le recomiendo que la use para el desarrollo de aplicaciones móviles. Obtiene varias ventajas, por ejemplo:

  • Amplify administra la infraestructura de la nube, por lo tanto, no es necesario que construya y administre el backend móvil.
  • Puede implementar fácilmente las funciones clave de la aplicación móvil, como la administración de usuarios, la seguridad y las notificaciones automáticas cuando usa Amplify.
  • La integración de API de terceros es fácil con Amplify; además, puede escalar fácilmente la aplicación móvil con ella.

Puede consultar los planes de precios de AWS aquí.

10. Calcule el costo de las API de AI/ML

Puede acelerar el proyecto mediante el uso de API para capacidades básicas de IA y ML, y Google ofrece API para estos. Estas API son las siguientes:

10 a. Visión IA de Google

Las API Vision AI de Google puede ayudarlo a incorporar capacidades de visión de IA, por ejemplo, reconocimiento de imágenes. Su aplicación puede detectar objetos automáticamente con la ayuda de esta API, además, puede obtener inteligencia de las imágenes.

Las API Vision AI de Google pueden detectar texto y contenido explícito. Puede acceder a la documentación de estas API aquíy necesitas póngase en contacto con el equipo de ventas de Google Cloud para obtener el plan de precios.

10b. IA de voz de Google

Google ofrece API de texto a voz y puede acceder a ellas aquí. Con esta API, su aplicación puede convertir texto en voz humana en más de 100 voces, y la API cubre más de 20 idiomas.

La documentación de la API de texto a voz de Google es aquí. Para su plan de precios, debe comunicarse con el equipo de ventas de Google Cloud.

Puede encontrar las API de voz a texto de Google aquí, y esta API puede reconocer 120 idiomas. La API utiliza modelos de redes neuronales para convertir audio en texto. Puede encontrar la documentación para la API de voz a texto de Google aquíy debe ponerse en contacto con el equipo de ventas de Google Cloud para obtener información sobre los precios.

10c. Motor de aprendizaje automático en la nube de Google

Google ofrece un servicio administrado para ML, y se llama el Motor de aprendizaje automático en la nube de Google. Es parte de la plataforma de inteligencia artificial de Google y puede crear proyectos de aprendizaje automático usándola.

Ofrece varias características, por ejemplo, entrenamiento ML distribuido de computadoras, modelos portátiles que usan el código abierto SDK de TensorFlowetc. Puede encontrar su documentación en su página web, y debe comunicarse con el equipo de ventas de Google Cloud para obtener la información de precios.

10d. API de procesamiento de lenguaje natural (NLP) de Google

Google tiene una API NLP y puedes acceder a ella aquí. Esta API permite que su aplicación analice texto, además, ofrece las siguientes capacidades:

  • Análisis de los sentimientos;
  • análisis de entidades;
  • Análisis de sentimiento de la entidad;
  • clasificación de contenidos;
  • Análisis de sintaxis.

Es una API REST, por lo tanto, acceder a ella es fácil. Puedes encontrar su guía de precios aquí, sin embargo, deberá ponerse en contacto con el equipo de ventas de Google Cloud para obtenerlo. Tu equipo puede acceder a su extensa documentación aquí.

11. Estimar el costo de otras herramientas

Si bien los IDE como Eclipse, IntelliJ IDEA, Android Studio o Xcode no tienen costo adicional, es posible que incurra en costos para otras herramientas, por ejemplo:

  • Necesita una ayuda de automatización de pruebas para probar su aplicación web en una amplia gama de navegadores. También debería ayudarlo a probar su aplicación móvil en una gran cantidad de dispositivos, y Experitest ofrece su Mobile Device & Browser Lab en la nube para esto. Puede encontrar los planes de precios de Expertest aquí.
  • Una herramienta robusta de gestión de proyectos es importante en este proyecto, por lo tanto, le recomiendo que utilice wrike. Puedes encontrar su plan de precios aquí.

12. Estime otros costos para desarrollar una solución de IA

Podría haber otros costos en el curso de este proyecto, por ejemplo, viajes, contratación, etc. Debe estimarlos de acuerdo con su contexto y políticas.

Tomemos el ejemplo del costo de contratación. Es probable que contrate desarrolladores de Python; además, debe considerar las capacidades de IA que necesita, por ejemplo, ML.

Recuerde que la IA es un área de nicho. Dependiendo de su mercado laboral local, puede resultarle difícil contratar desarrolladores de IA. Como sabe, cuanto mayores sean los plazos de entrega de la contratación, mayor será el riesgo de su proyecto.

Como regla general, cuando se trata de tecnologías de nicho, debe planificar un presupuesto de contingencia más alto. Deberías hacer eso para este proyecto también.

¿Se pregunta cómo contratar desarrolladores de IA? ¡En DevTeam.Space podemos ayudarlo! Consulte nuestra guía “Cómo encontrar un buen desarrollador de software” para obtener más información sobre nuestras capacidades.

Cómo su enfoque de desarrollo afecta el costo de la IA

¿Cómo piensa abordar el proyecto de desarrollo? Esto también afecta el costo de desarrollar una solución de IA. Consideremos algunos factores influyentes, que son los siguientes:

Anteriormente me he referido a nuestra guía para formular un enfoque de desarrollo efectivo, y puede consultarla para obtener más información.

La seguridad de las aplicaciones y su impacto en el costo del desarrollo de IA

Es probable que utilice IA para un caso de uso estratégico y de alto perfil, ¿no es así? Naturalmente, necesita proteger su aplicación impulsada por IA de los ataques cibernéticos.

¿Cómo lo harías tú? Debe seguir las mejores prácticas de gestión de proyectos y desarrollo; sin embargo, también debe invertir en soluciones de seguridad.

Debe considerar lo siguiente en su estimación:

  • El esfuerzo de desarrollo y gestión de proyectos para mitigar las principales vulnerabilidades de seguridad de las aplicaciones, como la inyección, la autenticación rota, el uso de componentes de software obsoletos, etc.;
  • El costo de las soluciones de seguridad como el firewall de próxima generación, antivirus e inteligencia de amenazas en tiempo real;
  • El costo de implementar la autenticación multifactor (MFA) y el cifrado;
  • El esfuerzo de desarrollo para proteger las API que desarrolla utilizando técnicas como firma digital, token de autenticación, etc.;
  • El esfuerzo de pruebas y DevOps para incluir pruebas de seguridad y cumplimiento en su canalización de CI/CD.

¿Necesita ayuda para proteger su aplicación de IA? Nuestra guía “Cómo proteger su aplicación Fintech” es justo lo que necesita.

Considere las revisiones al estimar el costo del software de IA

Una vez más, le recuerdo que probablemente esté emprendiendo un proyecto de desarrollo de IA para un caso de uso de alta visibilidad. Necesitas éxito en este proyecto, ¿no?

Bueno, ¡la calidad del software juega un papel importante en su éxito! Debe implementar una verificación y validación sólidas. Ya abordamos la validación cuando hablamos de las pruebas.

La verificación implica una revisión, y debe presupuestar cómo esto aumentará el costo para desarrollar una solución de IA. Necesita revisores experimentados para garantizar la calidad de sus requisitos, diseño, planes de prueba, casos de prueba y código.

¿Cómo encuentra revisores experimentados? En DevTeam.Space podemos ayudar, como expliqué en «Por qué elegir a DevTeam.Space para revisar su código puede garantizar que su producto de software sea un éxito».

¿Planea desarrollar una solución de IA para su empresa?

Acabo de demostrar cómo puede estimar el costo de desarrollar una solución de IA para su empresa; sin embargo, ejecutar el proyecto es un juego de pelota diferente. Las habilidades de IA son un nicho, por lo tanto, este probablemente será un proyecto complejo.

Debería considerar contratar a una empresa de desarrollo de software de renombre para proyectos como este. Lea nuestra guía «¿Cómo encontrar la mejor empresa de desarrollo de software?» para encontrar un socio de desarrollo de este tipo.

Preguntas frecuentes

¿Qué es la IA?

AI significa inteligencia artificial. Es la capacidad de un programa de computadora de un sistema para aprender y comprender nociones complejas como emociones, etc.

¿Son diferentes la IA y el ML?

AI es diferente de ML en que la inteligencia artificial es una versión mucho más avanzada de aprendizaje automático. Las formas más bajas de IA podrán comprender cosas como la emoción, además de ser capaces de altos niveles de aprendizaje automático.

¿Dónde contratar desarrolladores de IA?

Si está buscando desarrolladores expertos en inteligencia artificial, diríjase a DevTeam.Space. La plataforma tiene experiencia en la creación de soluciones sofisticadas de inteligencia artificial y aprendizaje automático.

Deja un comentario