Tohum

Playbook de desarrollo de productos IoT de extremo a extremo - Etapa 1: Requisitos de stakeholders y de sistema

Ilustración: las voces de tres interesados convergen en una única lista de requisitos

¡Lo primero, primero!

Clic para la sección anterior: Etapa 0

Los requisitos van primero en todo proyecto IoT bien llevado: antes de los esquemáticos, antes del firmware, antes de la primera línea de código. Has decidido que tu idea de producto se queda, y la tentación ahora es lanzarte directamente a construir. Resiste. La Etapa 1 trata de recoger los requisitos, la base de todo lo que viene después. Puede no sonar tan emocionante como encender un circuito nuevo o escribir código, pero piensa en ello como dibujar el mapa antes de zarpar. Los viajes sin mapa son aventureros, desde luego; simplemente rara vez acaban bien.

En la Etapa 1: Requisitos de stakeholders y de sistema, recogemos la entrada de todos los actores clave y definimos exactamente qué estamos construyendo y por qué: qué debe hacer el producto, las condiciones que debe cumplir y las restricciones que debe obedecer. El tiempo invertido aquí se devuelve después. Cada decisión de diseño, cada línea de código y cada prueba posterior se remontará a estos requisitos: son la estrella polar del proyecto. Avanza sin ellos y arriesgas construir lo equivocado, o descubrir tras meses de trabajo que se pasó por alto una función clave o que una suposición era errónea.

En este capítulo desglosamos qué significa capturar requisitos de stakeholders y de sistema: por qué importa esta etapa, los tipos de requisitos a considerar y cómo documentarlos con claridad. También compartimos ejemplos que muestran cómo fijar los requisitos pronto puede hacer o deshacer un proyecto IoT.

¿Qué son exactamente los requisitos?

Entonces, ¿qué queremos decir con «requisitos»? En términos sencillos, son una descripción detallada de qué debe hacer tu producto y bajo qué condiciones debe hacerlo: el reglamento del proyecto, que captura todo lo que se espera del dispositivo antes de construirlo. Si tu producto fuera una historia, los requisitos serían el esquema de la trama: se aseguran de que todos los elementos clave estén definidos para que la historia se sostenga al final.

Los requisitos vienen en algunas variedades, cada una cubriendo un aspecto distinto del producto:

Repasaremos cada categoría en detalle. Por ahora, recuerda que un buen requisito es claro, específico y verificable. «El dispositivo debería ser genial» no ayudará a tu equipo de ingeniería. «El dispositivo deberá medir temperatura de 0 °C a 50 °C con una precisión de ±0,5 °C» sí: cualquiera que lo lea sabe exactamente qué se espera, y luego puedes probar si el dispositivo lo cumple. Ese es el nivel de claridad al que aspirar.

Requisitos funcionales

Los requisitos funcionales describen las funciones, capacidades y comportamientos específicos de tu producto IoT: lo que el sistema debería hacer. Si alguien pregunta «¿qué hace tu dispositivo?», la respuesta es un resumen de sus requisitos funcionales: las acciones y servicios que el dispositivo proporciona al usuario o a otros sistemas.

Para un dispositivo IoT, los requisitos funcionales suelen incluir:

Un ejemplo concreto. Supón que construyes un sensor de temperatura IoT simple para uso doméstico inteligente. Algunos requisitos funcionales podrían ser:

Cada uno describe algo que el sistema hace, normalmente redactado como «El dispositivo deberá…» seguido de un comportamiento específico. Ese formato hace que la verificación posterior sea directa: o el dispositivo hace X como se especificó, o no lo hace.

Los buenos requisitos funcionales pintan una imagen clara de las capacidades, para que el equipo de ingeniería sepa exactamente qué implementar. Solo entonces pueden los diseñadores de hardware y software pensar en cómo lograrlo: el qué va primero, y por eso estos requisitos se definen ahora. Sin ellos, puedes acabar con un producto que no cubre lo que el usuario realmente necesita: una elaborada estación meteorológica IoT, digamos, que se envía sin sensor de humedad porque nadie lo escribió. Definir los requisitos funcionales por adelantado captura las funciones imprescindibles antes de que eso ocurra.

Requisitos no funcionales

Los requisitos no funcionales especifican las cualidades, condiciones y restricciones del producto en lugar de sus funciones: qué tan bien rinde, qué tan robusto es y qué límites debe respetar. Establecen las barandillas de la calidad global, y son tan críticos como las propias funciones: mantienen el dispositivo seguro, fiable y práctico en el mundo real.

Consideraciones no funcionales habituales para un dispositivo IoT:

Es una lista larga, pero piensa en los requisitos no funcionales como los atributos de calidad que el producto debe tener. Rara vez aparecen en el folleto de marketing, pero ignorarlos hace fallar al producto de formas menos obvias. Un sensor puede reportar datos perfectamente (¡funcional!) y aun así frustrar a cada usuario porque su batería muere en un día. Un dispositivo puede rendir bien en el laboratorio y aun así caerse al primer ataque porque la seguridad no se incorporó desde el principio.

Definir estas cualidades por adelantado asegura que el producto final no solo sea rico en funciones, sino robusto, usable y viable. Los requisitos no funcionales guían las elecciones de componentes, la arquitectura de software (fiabilidad, seguridad), el diseño mecánico (durabilidad, tamaño) e incluso cómo probarás. Trabajan entre bastidores, pero son esenciales para cumplir las expectativas de los stakeholders y sobrevivir al despliegue en el mundo real.

Requisitos de interfaz

Los requisitos de interfaz definen cómo tu producto se conecta e interactúa con el mundo exterior, física y lógicamente. Las interfaces son los puntos de contacto entre tu dispositivo y todo lo demás: otro hardware, fuentes de alimentación, carcasas, usuarios y sistemas de software. Esta categoría asegura que el dispositivo encaje en su ecosistema previsto y se comunique correctamente dentro de él.

Aspectos cubiertos por los requisitos de interfaz:

Fijar los requisitos de interfaz aclara cómo se conectan todas las piezas. Si diseñas un sensor que se acopla a una máquina industrial, un requisito de interfaz mecánica especifica el tamaño y el patrón de orificios para que encaje de verdad. Si el dispositivo va a batería, un requisito de interfaz eléctrica asegura un conector estándar para que el usuario pueda recargarlo fácilmente. Pasa uno por alto y obtienes el resultado clásico: un dispositivo perfectamente bueno al que nadie puede conectarse porque le falta el puerto adecuado.

En resumen, los requisitos de interfaz aseguran que tu dispositivo funcione con su entorno y sus usuarios, ya sea un hogar inteligente, una instalación industrial o una persona con un teléfono. Pasarlos por alto es a menudo la diferencia entre un producto compatible y amigable y uno que causa dolores de cabeza durante la integración.

Involucrar pronto a los stakeholders

¿De dónde vienen todos estos requisitos? No del aire: los recoges de tus stakeholders: todos los que tienen algo en juego en el éxito del producto. Eso incluye a los candidatos obvios, usuarios finales y clientes, pero también a marketing, ventas, ingenieros de distintas disciplinas (hardware, software, firmware), project managers y expertos regulatorios o de cumplimiento. Cada grupo tiene sus propias necesidades y preocupaciones, y los requisitos deberían capturar cada perspectiva crítica.

Identifica a tus stakeholders e involúcralos pronto, porque ellos definen cómo se ve el «éxito». Marketing puede decir: «Tiene que costar menos de 50 $ y durar un año con una carga: es lo que nuestros clientes esperan». Los usuarios finales (o una persona representativa) pueden necesitar que la configuración sea simple y el mantenimiento mínimo. El equipo de software puede necesitar una API robusta para integrarse con una plataforma cloud. El experto en seguridad insistirá en cifrado y autenticación. Un responsable de cumplimiento te recordará los límites de emisión de radio de la FCC o las normas de seguridad eléctrica. Todas estas entradas se convierten en requisitos.

Sacar a la superficie estas necesidades ahora es mucho más barato que después. Sesiones de brainstorming, talleres o simples entrevistas con cada grupo de stakeholders construirán una lista completa. No lo hagas en el vacío: un requisito escrito sin la entrada de los stakeholders puede fallar el blanco. Sáltate al equipo de soporte y podrías pasar por alto «El dispositivo proporcionará un mecanismo de reset para restaurar los valores de fábrica», importante para la resolución de problemas. Sáltate a fabricación y podrías especificar un diseño demasiado caro o demasiado difícil de producir en volumen.

La implicación temprana también crea compromiso. Cuando la gente ve sus preocupaciones reflejadas en los requisitos, apoya el proyecto, y surgen menos sorpresas después. Los stakeholders aportan experiencia; usarla ahora ahorra cambios dolorosos más adelante.

A medida que estas entradas se acumulan, la imagen de los requisitos funcionales, no funcionales y de interfaz necesarios toma forma. Esta etapa es esencialmente tender un puente entre una idea prometedora y un producto claramente definido: los deseos difusos («¡Tiene que ser barato! ¡Tiene que ser seguro! ¡Tiene que hacer X e Y!») se convierten en requisitos precisos con los que los ingenieros pueden trabajar, hablando con las personas adecuadas y haciendo las preguntas adecuadas.

La recogida de requisitos es un deporte de equipo. Junta a los actores clave en la sala —literal o figuradamente— y acordad lo que el dispositivo debe hacer. Cuantos más puntos de vista incorpores ahora, menos puntos ciegos arrastrarás a las etapas posteriores.

Documentar y rastrear los requisitos

Una vez recogidos, los requisitos necesitan escribirse con claridad y organizarse. Un registro bien estructurado mantiene a todos en la misma página y asegura que nada se pierda. En la práctica, los equipos usan distintos métodos:

Elijas el formato que elijas, mantén cada requisito inequívoco y verificable. Evita palabras vagas como «óptimo», «amigable» o «suficiente» sin cuantificar; usa números concretos o criterios claros. En lugar de «la batería debería durar mucho», escribe «la duración de batería será de al menos 12 meses con una sola carga y subidas de datos cada hora.» Ese es un objetivo con el que los diseñadores pueden trabajar, sin conjeturas.

Otro hábito útil: etiqueta cada requisito con cómo lo verificarás después: piensa por adelantado en cómo demostrarás que el producto lo cumple. Métodos de verificación habituales:

Etiquetar el método de verificación por adelantado —algunos equipos añaden una columna «Método de verificación» al documento de requisitos— obliga a redactar cada requisito de forma que pueda demostrarse después. También te ahorra el momento en la fase de pruebas en que alguien pregunta: «Espera, ¿cómo comprobamos si logramos este objetivo difuso?».

Por último, mantén el documento de requisitos actualizado. A medida que el proyecto evoluciona puede que refines o añadas requisitos (idealmente no demasiados, si el trabajo inicial fue exhaustivo). Una lista organizada y versionada —incluso una simple hoja de cálculo o un documento vivo— mantiene a todos alineados sobre los requisitos acordados actuales, y ayuda a los nuevos miembros del equipo a ponerse al día sobre lo que el producto debe hacer.

En resumen: no garabatees requisitos en notas adhesivas y esperes lo mejor. Escríbelos de forma clara y estructurada: un documento formal o un backlog bien mantenido. La claridad ahora previene la confusión después, y planificar la verificación pronto allana el camino a una fase de pruebas más suave.

Cerrando la Etapa 1

Una vez más, antes de seguir: cambiar un requisito tarde es como decidir añadir un dormitorio extra después de construida la casa: posible, pero doloroso y caro. En IoT, «doloroso y caro» puede significar un rediseño completo de la PCB porque se olvidó un sensor, o una revisión mayor del firmware porque no se consideró un caso de uso. Puede significar retrasos, sobrecostes o, en el peor caso, un producto que falla a sus usuarios y stakeholders.

Invertir el esfuerzo ahora en capturar requisitos claros de stakeholders y de sistema da al proyecto su plano y hoja de ruta. Los requisitos se convierten en el punto de referencia para todos los implicados:

Cuando aparezcan desacuerdos o ideas nuevas más adelante, el documento de requisitos es la estrella polar que mantiene al equipo alineado. Si alguien propone feature creep a mitad del desarrollo, puedes preguntar: «¿Eso está dentro del alcance según nuestros requisitos acordados? Si no, ¿qué sacrificamos para añadirlo?».

Así que tómate el tiempo de hacer bien la Etapa 1. Trae a los stakeholders, piensa bien las funciones y restricciones, escribe todo con claridad y comprueba dos veces que se sostiene. Iterar sobre una especificación es mucho más barato que iterar sobre un dispositivo físico o una base de código. Haz bien esta etapa y preparas el terreno de todas las que siguen.

Con un conjunto sólido de requisitos de stakeholders y de sistema en la mano, estás listo para avanzar hacia el diseño y la construcción de algo que los cumpla. Y al hacerlo, llevas el mapa contigo: lo primero primero, bien hecho.