El ciclo de vida de un proyecto de desarrollo de IA es el siguiente:
1. Identificar
Hay muchas innovaciones tecnológicas emocionantes, sin embargo, su empresa/organización tiene sus funciones principales que cumplir, ¡y no simplemente subirse al carro de la tecnología! Si bien la IA tiene un potencial transformador, debe saber por qué la usaría.
Tener claridad en esto es el primer paso. No puede lograr esta claridad simplemente imponiendo la IA de arriba hacia abajo desde el principio. En cada negocio u organización, las personas que atienden a los clientes están en primera línea y tienen una visión de primera mano de dónde necesita transformarse la organización.
Si bien la toma de decisiones de alto nivel sobre dónde usar la IA recae en los líderes sénior de una organización, la información para esto debe provenir de las personas que atienden a los clientes. Esto hará que la aplicación de IA en su negocio sea significativa, y puede leer sobre esto en “Cómo hacer que un proyecto de IA tenga más probabilidades de éxito”. Debe tener un gerente de proyecto (PM) disponible a tiempo completo durante esta etapa.
2. Encuentra lo que vas a automatizar
Una aclaración primero! La IA no es la automatización como la entendemos tradicionalmente y, de hecho, la IA es muy diferente de la automatización basada en reglas. La automatización basada en reglas implica programar la automatización de una tarea, en base a un conjunto de reglas. Por otro lado, la IA implica que los sistemas informáticos aprendan de la experiencia y realicen mejor la tarea de manera automatizada.
A pesar de la diferencia entre los dos, es probable que esté considerando la IA para automatizar partes de sus procesos comerciales o funcionalidades organizacionales. Desea obtener un mayor valor que el que puede proporcionar la automatización basada en reglas, y es por eso que está planeando implementar IA.
Sin embargo, ¿qué automatizas? Esta es una pregunta clave ya que su objetivo es desbloquear mayores oportunidades o mejorar la eficiencia de su organización. Su gente sigue siendo muy valiosa y desea que trabajen en las cosas de valor agregado real.
Esto requiere una identificación cuidadosa de las tareas que automatizará con IA, lo que permitirá que su personal capacitado trabaje en lo que no debe automatizarse. Leer «Inteligencia artificial y automatización robótica de procesos” para obtener más información sobre el uso de IA en la automatización. Necesita el PM y un arquitecto de software en su equipo en esta etapa.
3. Planifique los conjuntos de datos para su solución de IA propuesta
La IA necesita datos. Eso sí, sin embargo, ¿qué datos debería usar para entrenar su sistema de IA? Esta pregunta es muy importante ya que la selección adecuada de conjuntos de datos es lo que le dará el mejor valor de su solución de IA.
¿Debería alimentar tantos datos como pueda a sus algoritmos de IA o ML? Bueno, eso puede sonar atractivo ya que los algoritmos tienen más datos de los que “aprender”. Sin embargo, en la práctica, ¡ese no siempre es el enfoque correcto!
La mayoría de las empresas no tienen claridad sobre gran parte de sus datos y, en tales casos, alimentar los datos a los algoritmos de IA/ML no ofrecerá un valor óptimo. Debe usar la «Jerarquía de necesidades de ciencia de datos», creada por Mónica Rogati, un socio de capital en Data Collective. Lea sobre esto en este artículo sobre tecnologías emergentes: “La jerarquía de necesidades de la IA”.
En esta jerarquía, el primer nivel es recopilar datos de fuentes relevantes. La organización necesita almacenar estos datos de forma segura, posteriormente, necesita explorarlos y transformarlos. Luego necesitan agregarlo y etiquetarlo, seguido de optimización.
Luego, la organización debe alimentar los conjuntos de datos resultantes a los algoritmos de IA/ML. Esto garantiza que su sistema de IA propuesto tenga los datos correctos para «aprender», y puede leer más sobre esto en «Los datos son la base de la inteligencia artificial y el aprendizaje automático”. Necesita expertos en modelado de datos junto con el PM y el arquitecto en esta etapa.
4. Identifique las capacidades de IA que necesita
La IA no es monolítica. El tremendo valor que crea la IA proviene de varias capacidades de IA, y su solución de IA propuesta podría necesitar varias de ellas. Debe estudiar las siguientes capacidades de IA y elegir las que necesita:
- Aprendizaje automático (ML): esto incluye aprendizaje profundo, algoritmos supervisados y algoritmos no supervisados.
- Procesamiento del lenguaje natural (NLP): esto abarca la extracción de contenido, la clasificación, la traducción automática, la respuesta a preguntas y la generación de texto.
- Los sistemas expertos son otra capacidad clave.
- Visión: Esto incluye el reconocimiento de imágenes y la visión artificial.
- Voz: en esta función se incluyen la conversión de voz a texto y de texto a voz.
La planificación y la robótica son otras capacidades clave de la IA, y puede leer sobre ellas en “Inteligencia artificial: definición, tipos, ejemplos, tecnologías.”. En este punto, su equipo debe estar formado por el PM, el arquitecto, los expertos en modelado de datos y un arquitecto de soluciones de IA/ML.
También debe crear una estimación aproximada de orden de magnitud (ROM) para el proyecto para que pueda obtener las aprobaciones necesarias del patrocinador del proyecto. Lea más sobre la estimación de ROM en “La estimación aproximada del orden de magnitud”.
5. Acordar el modelo SDLC correcto para el proyecto
Un proyecto de desarrollo de software para desarrollar una solución de IA es estratégico ya que aborda objetivos de alto valor. Aquí es importante finalizar los requisitos por adelantado, ya que los cambios en el alcance más adelante en el ciclo serán costosos.
El modelo Waterfall SDLC es el adecuado para este tipo de proyectos. Hace hincapié en establecer una base cuidadosa de los requisitos antes de que comience el diseño; además, este modelo facilita las revisiones oportunas del proyecto después de las fases clave. Obtenga más información sobre el modelo Waterfall en «¿Qué es el ciclo de vida del desarrollo de software y qué planea?».
Este modelo tiene las siguientes fases:
- Análisis de requerimientos;
- Diseño;
- Desarrollo;
- Pruebas;
- Despliegue;
6. Análisis de requisitos
Debe incorporar analistas comerciales en su equipo en este punto para que pueda comenzar la fase de análisis de requisitos. Si bien debe seguir los procesos de análisis de requisitos estándar de la industria, existen algunas mejores prácticas para los proyectos de desarrollo de IA.
El análisis comercial debe considerar los siguientes factores al analizar los requisitos para una solución de IA:
- empatía del cliente;
- experimentos;
- La solución de IA debe constar de componentes más pequeños;
- Evitar sesgos derivados de datos erróneos.
Leer «4 consejos para escribir requisitos de inteligencia artificial” para aprender más sobre esto.
El PM y los arquitectos deben preparar un presupuesto estimado en este punto. Puedes leer nuestra guía “¿Cuánto cuesta desarrollar una solución de IA para tu empresa?” y obtener información sobre cómo hacer esto.
7. Diseño de software
El siguiente paso en el proceso de desarrollo de software de IA es la fase de diseño, que lleva mucho tiempo y requerirá el liderazgo de desarrollo de IA. Suponiendo que planea lanzar la aplicación en la web, Android e iOS, necesita los líderes de desarrollo correspondientes. El líder de prueba y el líder de DevOps también deben participar.
Esta fase implica el diseño de bajo nivel de la solución de IA, y los arquitectos y los líderes de desarrollo deben trabajar en varios aspectos, como las etapas del proceso, las fuentes de información, las condiciones para las acciones objetivo, los comportamientos dinámicos, etc. Puede leer más sobre estos en “Cómo diseñar un sistema de inteligencia artificial”.
Las plataformas de desarrollo de IA pueden acelerar el proyecto ya que ofrecen lo siguiente:
- Capacidades de IA como ML, NLP, sistemas expertos, automatización, visión y voz;
- Una infraestructura robusta en la nube.
Durante esta fase, debe evaluar las diversas plataformas de desarrollo de IA, por ejemplo:
- Plataforma de IA de Microsoft Azure;
- Plataforma de inteligencia artificial de Google Cloud;
- Plataforma de inteligencia artificial IBM Watson;
- Gran ML;
- Infosys Nía.
Puede leer «Las mejores herramientas de desarrollo de software de inteligencia artificial» para obtener más información.
8. Desarrollo
Necesita que su equipo de desarrollo completo esté listo antes de comenzar esta fase, por lo tanto, debe inducir a sus desarrolladores de inteligencia artificial, web y dispositivos móviles. Dada la complejidad de crear redes neuronales de IA, le recomiendo que incorpore un equipo de desarrollo de expertos de campo, como expliqué en «Equipo de desarrollo de aplicaciones independiente frente a equipos de desarrollo de software de expertos de campo».
Diferentes plataformas de desarrollo de IA ofrecen una amplia documentación para ayudar a los equipos de desarrollo. Dependiendo de su elección de la plataforma AI, debe visitar las páginas web correspondientes para esta documentación, que son las siguientes:
9. Pruebas
Incorpore sus equipos de pruebas de software y DevOps antes de esta fase, y busque probadores con experiencia en sistemas de inteligencia artificial y aprendizaje automático. Si bien los conceptos de prueba fundamentales son totalmente aplicables en los proyectos de desarrollo de IA, también existen consideraciones adicionales. Estos son los siguientes:
- El volumen de datos de prueba puede ser grande, lo que presenta complejidades.
- Los sesgos humanos en la selección de datos de prueba pueden afectar negativamente la fase de prueba, por lo tanto, la validación de datos es importante.
- Su equipo de prueba debe probar los algoritmos de IA y ML teniendo en cuenta la validación del modelo, la capacidad de aprendizaje exitosa y la efectividad del algoritmo.
- Las pruebas de cumplimiento normativo y de seguridad son importantes, ya que el sistema puede manejar datos confidenciales; además, el gran volumen de datos hace que las pruebas de rendimiento sean cruciales.
- Está implementando una solución de IA que necesitará usar datos de sus otros sistemas, por lo tanto, las pruebas de integración de sistemas adquieren importancia.
- Los datos de prueba deben incluir todos los subconjuntos relevantes de datos de entrenamiento, es decir, los datos que usará para entrenar el sistema de IA.
- Su equipo debe crear conjuntos de pruebas que lo ayuden a validar sus modelos de ML.
Puede leer más sobre estas consideraciones en “Cómo realizar pruebas de control de calidad de software que utiliza inteligencia artificial y aprendizaje automático”.
10. Despliegue
Debe tener en cuenta ciertas consideraciones al implementar sistemas AI/ML, y estas son las siguientes:
- El equipo del proyecto necesita un sólido proceso de traspaso interno entre las operaciones de TI y los equipos de desarrollo. Teniendo en cuenta que AI/ML es nuevo para varias organizaciones, el equipo de operaciones necesita una comprensión suficiente del proyecto de desarrollo.
- Implemente la solución AI/ML como un servicio centralizado al que puede acceder toda la organización.
Lea más sobre esto en “Cómo implementar soluciones de IA en producción”.
11. Mantenimiento
Esto incluye soporte posterior a la implementación, soporte de garantía y mantenimiento a largo plazo. Debe tener una parte de su equipo de ingeniería de software disponible durante esta fase, ya que esto ayudará al equipo de mantenimiento a aprender el sistema. Las herramientas de IA también pueden ayudar en gran medida a aliviar la carga de su equipo.
¿Planea lanzar una solución de IA?
Esta guía sobre el ciclo de vida del desarrollo de la IA le ayudará, sin embargo, estos proyectos son complejos. Para crear un nuevo proyecto, necesitará un equipo con toda la experiencia adecuada en administración de proyectos, arquitectura, desarrollo, pruebas y DevOps.
Debería considerar contratar a los desarrolladores de software de una empresa de desarrollo de software de renombre, entonces, ¿por qué no tomarse un momento para completar nuestro formulario de especificaciones del proyecto para ver si podemos ayudarte.
Los desarrolladores de DevTeam.Space son expertos en los últimos lenguajes de programación y pilas de tecnología de IA, incluidos LISP, Python, TensorFlow, etc., y tienen experiencia en el desarrollo de automatización de procesos robóticos o RPA, así como otras soluciones de aprendizaje automático.
preguntas frecuentes
Es el ciclo de desarrollo para crear soluciones de IA. Incluye 3 partes:
• Alcance del proyecto
• Diseño
• Fase de construcción
• Planificación
• Requisitos
• Diseño
• Desarrollo
• Pruebas
• Despliegue
• Mantenimiento.
La respuesta realmente depende del alcance de su proyecto y sus prioridades de desarrollo. En términos generales, los programadores de software prefieren Agile debido a su enfoque de tiempo y flexibilidad.
Related Posts:
- ¿Qué es un ciclo de vida de desarrollo de videojuegos?
- Vagrant vs Docker: ¿Cuál es mejor para el desarrollo?
- Swift vs Objective-C: ¿cuál elegir para el desarrollo de…
- ¿Cuál es el mejor enfoque de desarrollo para una aplicación…
- 10 tendencias de desarrollo de software en 2023
- Herramientas de desarrollo de software: las 12 mejores