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.
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.
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.
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.
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ù.