Metodo agile per Sistemi Embedded

Single board computer

Potreste voler usare lo sviluppo agile per realizzare questo sistema embedded

Come piattaforme hardware uniche che offrono potenza di elaborazione in una serie di applicazioni, i sistemi embedded combinano il meglio dei sogni di ogni appassionato di tecnologia: progettazione hardware e sviluppo software. I processi di progettazione per i sistemi embedded più semplici tendono a essere lineari, mentre l’hardware e il software embedded possono essere sviluppati persino in parallelo da team di design diversi. Con l’aumento della complessità dei sistemi e della diversificazione dei requisiti dei clienti, i team di design devono ripensare le metodologie convenzionali.

I metodi di sviluppo agile sono normalmente definiti in termini di software, ma queste tecniche di progettazione e sviluppo possono essere adattate alla progettazione hardware, incluso lo sviluppo di sistemi embedded. Poiché il software embedded richiede un gran numero degli stessi processi e idee adottati nello sviluppo software tradizionale, è anche propenso alle metodologie agili. L’unificazione della progettazione di software embedded e della progettazione di PCB in un flusso di lavoro coerente richiede il ripensamento di entrambi i processi in un processo iterativo e continuo.

Se implementati correttamente, questi metodi possono aiutare a prevenire riprogettazioni inutili e assicurare che la funzionalità di un prodotto corrisponda maggiormente ai requisiti di un cliente. Per riuscirci servono strumenti di progettazione e collaborazione appropriati che siano in grado di adattarsi a qualsiasi metodologia di progettazione, incluso lo sviluppo agile.

Adattare lo sviluppo agile alla progettazione di hardware

Non mi è mai capitato di lavorare a un progetto hardware che sia stato consegnato rispettando la scadenza e il budget. È semplicemente la realtà del settore. Poiché sembra che i progetti di sviluppo di hardware abbiano la tendenza a essere completati puntualmente, molti project manager potrebbero preferire che sia loro assegnata la gestione di questo tipo di progetti. Indipendentemente dall’attenzione con cui i project manager pianificano lo sviluppo di una nuova piattaforma software, emergono quasi sempre incompatibilità o modifiche impreviste nei requisiti del cliente.

Uno dei principi cardine della progettazione agile è che il cambiamento durante un processo di progettazione è inevitabile. Alla luce di questo, un team di progettazione deve riuscire ad adattarsi ai cambiamenti nei requisiti del cliente, nella funzionalità elettrica, nella producibilità e persino nella progettazione meccanica per un alloggiamento o una confezione. Nella progettazione di sistemi embedded, un team di sviluppo deve affrontare modifiche provenienti da 2 direzioni: interruzioni nella catena di fornitura dei componenti PCB, e il software embedded.

L’implementazione del processo iterativo nel cuore dello sviluppo agile aiuta i team di progettazione ad adattarsi con rapidità durante il processo di sviluppo e ad affrontare le modifiche nel momento in cui si palesano, piuttosto che affrontarle dopo la prova per lotto al termine dello sviluppo. Ciò richiede una comunicazione chiara e costante tra i membri del team e con il cliente finale. Poiché le porzioni di hardware e software embedded di un determinato progetto possono svolgersi contemporaneamente, è fondamentale che entrambi i team collaborino tra loro.

Embedded systems design 

In che modo cambia il flusso di lavoro tradizionale?

I requisiti di progettazione e funzionalità devono essere definiti con chiarezza fin dall’inizio, entrambi in termini di hardware e di software embedded. Questo è il punto in cui la comunicazione con il cliente diventa critica poiché garantisce che il cliente comprenda appieno la funzionalità e la fattibilità del suo nuovo prodotto.

Durante la definizione dei requisiti, è necessario che i traguardi intermedi siano ben specificati nel corso dell’intero progetto, anche se devono comunque essere adattabili al cambiamento. Il raggiungimento dei traguardi e l’integrazione delle modifiche di progettazione di hardware e software embedded avvengono in maniera iterativa. Questo processo iterativo è alla base dei metodi di sviluppo agile, nella progettazione sia di software che di hardware.

Un problema comune nei processi di progettazione lineare è la mancanza di prove periodiche. Il QA tende a essere coinvolto in una fase troppo avanzata del processo, rendendo la riprogettazione lunga e costosa. La verifica del software e della progettazione PCB deve essere condotta durante l’intero processo di progettazione. Le funzioni di controllo delle regole e le simulazioni elettriche sono il modo migliore per esaminare la funzionalità di un progetto hardware prima di produrre prototipi e per pianificare modifiche della progettazione in una fase iniziale del processo di progettazione.

BGA escape routing on a tan PCB 

Esistono molti tipi di processi agili, e il flusso di lavoro e le idee integrate in ognuno sono troppo lunghi per essere elencati in un solo articolo. Affinché lo sviluppo agile per i sistemi embedded abbia successo occorre usare un software di progettazione con le funzioni di sviluppo, gestione dei dati e collaborazione appropriate.

Utilizzo degli strumenti di collaborazione e di controllo delle versioni

Il settore software ha usato abbondantemente gli strumenti di controllo delle versioni per anni, e le piattaforme di progettazione di hardware stanno finalmente rimettendosi in pari. Il problema con le piattaforme di progettazione di PCB tipiche è che le porzioni di hardware e software embedded di un progetto sono state tradizionalmente confinate ad almeno due programmi diversi. Ciò richiede ancora un altro strumento che fornisce collaborazione e controllo delle versioni durante un progetto.

Una piattaforma di progettazione che offre tutti gli strumenti di progettazione PCB standard e avanzati per la progettazione di hardware e lo sviluppo di software embedded agevola la collaborazione tra i membri del team su un singolo progetto. Quando gli strumenti di controllo delle versioni sono integrati con queste funzionalità, il team può tornare rapidamente, se necessario, alle versioni di progettazione precedenti, replicando il processo di prova ed errore usato nello sviluppo software.

Poiché la fornitura e la produzione di componenti sono essenziali per qualsiasi progetto hardware, le riunioni periodiche del team agile nel corso delle iterazioni di progettazione dovrebbero concentrarsi sull’individuazione di eventuali modifiche della progettazione necessarie per adattarsi alle interruzioni nella catena di fornitura. Ciò potrebbe influire sulla progettazione di software embedded durante il progetto.

Quando il vostro team dispone di una fornitura in tempo reale e di informazioni sull’obsolescenza all’interno della piattaforma di progettazione PCB/software embedded, potete passare rapidamente da un componente all’altro nel vostro dispositivo e persino ridurre il tempo richiesto per le modifiche di progettazione. L’accesso a queste informazioni sulla fornitura nelle fasi iniziali del processo di progettazione possono persino aiutare il vostro team a eliminare la necessità di apportare modifiche di progettazione future considerato che potete anticipare i problemi di fornitura e regolare la piattaforma hardware di conseguenza.

Lo schema, il layout PCB e le caratteristiche di progettazione dei sistemi embedded presenti in Altium Designer® possono ora essere integrati con le funzionalità di gestione dei dati in Altium Concord Pro®, offrendo ai designer un set completo di strumenti per lo sviluppo agile di sistemi embedded. La funzionalità TASKING in Altium Designer fornisce ai designer un set di strumenti standard del settore richiesti per creare sistemi embedded per una serie di applicazioni.

Contattateci o scaricate una versione di prova gratuita di Altium Designer e Altium Concord Pro. Avrete la possibilità di accedere ai migliori strumenti di routing, layout, simulazione e collaborazione MCAD del settore in un unico programma. Rivolgetevi a un esperto Altium oggi per scoprire di più.

Informazioni sull'autore

Zachariah Peterson


Zachariah Peterson has an extensive technical background in academia and industry. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability.

His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental systems, and financial analytics. His work has been published in several peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies.

Altri Contenuti da Zachariah Peterson
Articolo precedente
Integrate i vostri strumenti ECAD con il software di progettazione meccanica
Integrate i vostri strumenti ECAD con il software di progettazione meccanica

I team ECAD e MCAD sono stati isolati troppo a lungo. Tutti necessitano di una piattaforma in grado di inte...

Articolo successivo
Introduzione alla progettazione PCB ad alta velocità: Come eliminare la diafonia
Introduzione alla progettazione PCB ad alta velocità: Come eliminare la diafonia

Cos'è la diafonia nel tuo progetto PCB e come puoi eliminarla. Continua a leggere per saperne di più.