Sto lavorando a un progetto in cui sviluppiamo un'applicazione incorporata per un dispositivo basato su Linux che gestisce i dati da diversi sensori e li visualizza all'utente finale. Cerchiamo di utilizzare il processo Scrum ma abbiamo riscontrato diverse difficoltà legate alla percezione del nostro team e del management di Ingegneria dei requisiti .
Fondamentalmente Scrum consiglia User Story mantenuto in un Backlog con priorità in Proprietario del prodotto . Scrum presume che non ci sia "congelamento dei requisiti" o un singolo documento che descrive il progetto all'inizio. Le storie degli utenti possono essere aggiunte "su richiesta" quando gli stakeholder pensano che sia necessario avere una versione del software "rilasciabile".
D'altro canto, il sistema embedded dovuto all'accoppiamento stretto con l'hardware richiede specifiche anticipate di diverse funzionalità di sistema, ad esempio
- Interfacce HW / SW (ad esempio memoria condivisa tra CPU principale e FPGA)
- Formati di dati, cosa e come verranno memorizzati con quale frequenza
- requisiti rigidi in tempo reale, quanto velocemente il sistema deve reagire su determinati eventi
- interazione con altre discipline, ad es. HW, ottica, meccanica
Quali sono le migliori pratiche per gestire l'ingegneria dei requisiti nei sistemi incorporati in un modo leggero (agile) (contrariamente ad esempio per i processi automobilistici)?