Adaptar la metodología Agile al diseño de sistemas embebidos

Zachariah Peterson
|  Creado: July 14, 2019  |  Actualizado: April 10, 2024

 software integrado

Podrías querer utilizar un desarrollo Agile para construir este sistema integrado

Los sistemas embebidos, plataformas de hardware únicas que ofrecen potencia de cálculo para diversas aplicaciones, combinan lo mejor de los sueños de cualquier técnico: el diseño de hardware y el desarrollo de software. Los procesos de diseño de sistemas integrados más sencillos suelen ser lineales, y el hardware y el software integrado pueden incluso ser desarrollados en paralelo por distintos equipos de diseño. A medida que los sistemas se hacen más complejos y los requisitos de los clientes siguen diversificándose, los equipos de diseño tienen que replantearse las metodologías convencionales.

Las metodologías de desarrollo Agile suelen referirse al software, pero estas técnicas de diseño y desarrollo pueden adaptarse al diseño de hardware, incluido el desarrollo de sistemas embebidos. Dado que el software integrado requiere muchos de los procesos e ideas utilizados en el desarrollo de software tradicional, también se presta a las metodologías Agile. Unificar el diseño de software integrado y el de diseño de PCB en un flujo de trabajo coherente requiere replantearse ambos procesos como un proceso iterativo y continuo.

Si se aplican correctamente, estos métodos Agile pueden ayudar a evitar rediseños innecesarios y garantizar que la funcionalidad de un producto se ajuste mejor a los requisitos del cliente. Para lograrlo, se necesitan las herramientas de diseño y colaboración adecuadas, adaptables a cualquier metodología de diseño, incluido el desarrollo Agile integrado.

Adaptar el desarrollo de una metodología agile al diseño de hardware

Nunca he trabajado en un proyecto de software que se entregara a tiempo o no se pasara de presupuesto. Es la realidad de este sector. Parece que al menos los proyectos de desarrollo de hardware se suelen acabar a tiempo, por lo que muchos gestores de proyectos podrían preferir gestionar trabajos de este tipo. No importa lo meticulosos que sean dichos gestores en la planificación de una nueva plataforma de software, ya que casi siempre hay alguna incompatibilidad imprevista o cambio en las necesidades del cliente.

Uno de los dogmas clave del diseño de una metodología agile es que el cambio durante el proceso de diseño es inevitable. Como tal, un equipo de diseño necesita saber adaptarse a los cambios de las necesidades de los clientes, a las funcionalidades eléctricas, a la posibilidad de fabricación e incluso al diseño mecánico de la caja y la carcasa. En el diseño de sistemas empotrados, también conocidos como sistemas embebidos o sistemas integrados, los equipos de desarrollo se enfrentan a cambios en dos direcciones: alteraciones en la cadena de suministro de componentes y en el software integrado.

Al implementar procesos repetitivos en pleno desarrollo de una metodología agile se ayuda al equipo de diseño a que rápidamente se adapte durante el proceso de desarrollo y que se enfrente a los cambios conforme surjan, en vez de relegarlos a la subsiguiente comprobación de lotes al final del desarrollo. Para ellos es necesario que la comunicación entre los miembros del equipo y el cliente final sea clara y coherente. Debido a que determinadas porciones de software empotrado o integrado y hardware pueden estar desarrollándose a la vez, todos los equipos involucrados deben colaborar.

diseño de sistemas integrados

¿Cómo cambia el flujo de trabajo tradicional?

Al inicio, los requisitos de diseño y de funcionalidad deberían estar claramente definidos, tanto en lo referente al hardware como al software integrado o embebido. Aquí es cuando la comunicación con el cliente se vuelve prioritaria, ya que se asegura que este entiende la funcionalidad y viabilidad de su nuevo producto.

Los objetivos, como parte de los requisitos determinantes, deberían especificarse con claridad en todo el proyecto y poder adaptarse a cambios. El trabajo para la consecución de objetivos mientras se aceptan cambios en el hardware y en el diseño de hardware tiene lugar dentro de un proceso iterativo. Este proceso iterativo es fundamental en los métodos de desarrollo agile, tanto en el diseño de software como de hardware.

Un problema común de los procesos de diseño lineales es la ausencia de comprobaciones periódicas. La evaluación de calidad se lleva a cabo demasiado tarde en el proceso, haciendo que los procesos de rediseño sean largos y caros. El diseño de placas de circuito impreso (PCBs) y la comprobación del software deberían realizarse durante todo el proceso de diseño. Para la parte de hardware del proyecto, las opciones de comprobación de reglas y simulaciones eléctricas son la mejor forma de comprobar su funcionalidad antes de fabricar prototipos. Esto puede ayudarte a planificar modificaciones en los diseños mucho antes en este proceso.

Enrutamiento de escape BGA en una placa de circuito impreso

Hay muchas variantes de procesos agile, y el flujo de trabajo e ideas de cada uno son demasiados para incluir en un solo artículo. En cualquier desarrollo agile de sistemas empotrados o embebidos exitosos se utiliza software de diseño con las funciones apropiadas de desarrollo, gestión de datos y colaboración.

Uso de herramientas de colaboración y de control de la versión

La industria del software ha hecho un uso ingente de herramientas de control de la versión durante muchos años, y las plataformas de diseño de hardware están finalmente poniéndose al tanto. El problema con las plataformas de diseño de PCBs habituales es que las partes de hardware y de software embebido de un proyecto se han relegado tradicionalmente a al menos dos programas diferentes. Por ello es también necesaria otra herramienta para colaborar y controlar la versión durante un proyecto.

Una plataforma de diseño que proporcione las herramientas de diseño de PCBs habituales y avanzadas necesarias para el diseño del hardware y el desarrollo del software facilita en gran medida la colaboración entre los miembros de equipos en un proyecto. Cuando las herramientas de control de la versión se integran junto con estas funcionalidades, tu equipo podrá entonces volver rápidamente a versiones de diseño anteriores en caso necesario, en una especie de proceso de ensayo y error que se utiliza en el desarrollo de software.

Como el aprovisionamiento y la fabricación de componentes son partes primordiales en cualquier proyecto de hardware, las reuniones periódicas de los equipos agile en los cambios de diseño deberían enfocarse en determinar los cambios de diseño necesarios para adaptarse a las alteraciones en la cadena de suministro. Así se puede variar el diseño del software integrado durante el proyecto.

Cuando el equipo cuenta con aprovisionamiento en tiempo real e información sobre obsolescencia en tu plataforma de diseño de software embebido/PCBs, puedes intercambiar componentes en tu dispositivo e incluso reducir el tiempo necesario para las modificaciones en el diseño. Poder acceder a esta información de aprovisionamiento en las primeras fases del proceso de diseño de sistemas empotrados o embebidos puede incluso ayudar a tu equipo a eliminar las modificaciones de diseño posteriores, ya que puedes anticipar problemas de abastecimiento y ajustar tu plataforma de hardware según sea necesario.

Las funciones de diseño esquemático, diseño de PCB y sistemas embebidos de Altium Designer® pueden integrarse ahora con las funciones de gestión de datos de Altium Concord Pro®, proporcionando a los diseñadores un completo conjunto de herramientas para el desarrollo Agile de sistemas embebidos. Las características de TASKING asignación de tareas en Altium Designer aportan a los diseñadores un conjunto de herramientas estándar de la industria necesarias para crear sistemas embebidos para una variedad de aplicaciones.

Ponte en contacto con nosotros o descarga una prueba gratuita de Altium Designer y Altium Concord Pro. Tendrás acceso a las mejores herramientas del sector para enrutamiento, composición, simulación y colaboración MCAD en un solo programa. Habla con un experto de Altium hoy mismo para más información.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Zachariah Peterson tiene una amplia experiencia técnica en el mundo académico y la industria. Actualmente brinda servicios de investigación, diseño y marketing a empresas de la industria electrónica. Antes de trabajar en la industria de PCB, enseñó en la Universidad Estatal de Portland y realizó investigaciones sobre la teoría, los materiales y la estabilidad del láser aleatorio. Su experiencia en investigación científica abarca temas de láseres de nanopartículas, dispositivos semiconductores electrónicos y optoelectrónicos, sensores ambientales y estocástica. Su trabajo ha sido publicado en más de una docena de revistas revisadas por pares y actas de congresos, y ha escrito más de 1000 blogs técnicos sobre diseño de PCB para varias empresas. Es miembro de IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society y Printed Circuit Engineering Association (PCEA), y anteriormente se desempeñó en el Comité Asesor Técnico de Computación Cuántica de INCITS.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.