In una specifica, dovrei descrivere cosa fa un prodotto (idealmente) o cosa dovrebbe / deve fare?

1

Sto scrivendo una specifica tedesca (non sono tedesco)

Le differenze possono apparire per questo processo in diverse culture, specialmente nella terminologia, ma di solito ecco l'idea:

  • Il client scrive i suoi bisogni e desideri in un documento, chiamato istruzione dell'ambito o documento dei requisiti .
  • Il fornitore cerca di capire la necessità effettiva del client (che potrebbe essere diversa da ciò che è stato scritto e a ciò che il cliente intendeva per dire e a ciò che il cliente pensa di cui ha bisogno, ecc.)
  • Il fornitore scrive una specifica per il prodotto , che dovrebbe soddisfare le necessità del cliente.
  • La specifica deve essere sufficientemente precisa per il prodotto da realizzare (si verificano problemi di ambiguità).
  • Il cliente e il fornitore possono verificare se si sono capiti e discutere i dettagli del prodotto.
  • Il client accetta con la specifica (o almeno la sua iterazione corrente) e il fornitore è pronto per iniziare il lavoro .

(potrebbe ovviamente essere previsto che tu non sia d'accordo con questo processo, ma questo è irrilevante per il mio problema):

Ora sono da qualche parte intorno agli ultimi due passaggi e sono stato criticato perché ho scritto ciò che il prodotto deve fare, e non ciò che farà idealmente.

Di solito lungo le linee di

The product must be able to perform task A

E dovevo scrivere

The product performs task A

Si tratta di un gioco di parole semplice, ma mi sento di dire che cosa il prodotto , mentre il prodotto non è ancora in via di realizzazione, è sbagliato. Tenderei a considerare una specifica come un contratto di ciò che il prodotto dovrebbe fare (cosa deve fare e come dovrebbe farlo), e non cosa fa .

Detto diversamente, ritengo che questa sia la specifica e non il manuale del prodotto finale ......

Devo dire cosa deve fare il prodotto o cosa fa ?

    
posta Pierre Arlaud 20.08.2014 - 15:36
fonte

2 risposte

4

Questo flusso di eventi è molto simile a quello con cui lavoro. Tuttavia, ci sono differenze nella terminologia che ritengo possano causare alcuni problemi.

Ciò che fornisce il cliente non è un documento dei requisiti. È probabile che sia un documento di visione o un concetto di operazioni (CONOPS) . Questi documenti potrebbero richiamare le principali caratteristiche del sistema, ma sono scritti dal punto di vista del cliente o dell'utente, però, e tendono a non essere come tecnici (anche se potrebbero essere se provengono da un cliente o utente tecnico) o inequivocabile come un ingegnere progettista o un ingegnere dell'assicurazione della qualità deve svolgere il proprio lavoro.

Spesso, questi documenti tendono a descrivere gli obiettivi del cliente per il sistema - come intendono usarlo, cosa vogliono realizzare, e così via, ma nel loro linguaggio commerciale, usando terminologia e concetti di business. È probabile che questo tipo di contenuto non sia adatto agli ingegneri che costruiscono e progettano il sistema, quindi è necessario trasformarlo.

Gli ingegneri prenderanno gli input del cliente di un documento di visione o CONOPS (quello che stai chiamando un documento dei requisiti) e creeranno una specifica dei requisiti . Si tratta di una dichiarazione formale dei requisiti funzionali e non funzionali, degli standard di qualità, di eventuali vincoli di progettazione e dei casi d'uso in un modo che possa essere compreso dal resto del progetto. implementazione e test team. Indipendentemente dalla struttura e dal formato dell'input del cliente, i requisiti documentati nella specifica devono avere le caratteristiche di un buon requisito:

  • Ogni requisito riguarda una cosa (coesiva)
  • Ogni requisito è dichiarato in una posizione (completa)
  • Non ci sono contraddizioni tra i requisiti o tra un requisito e un documento esterno (coerente)
  • Ogni requisito non contiene congiunzioni, come "e" (atomico)
  • Ogni requisito può essere collegato a un'esigenza aziendale di uno o più stakeholder (tracciabile)
  • Ogni requisito non è obsoleto (corrente)
  • Ogni requisito è chiaro, gli acronimi sono definiti, è oggettivo, evita dichiarazioni negative (non ambigue)
  • Ogni requisito chiarisce la sua importanza
  • L'implementazione di ciascun requisito può essere determinata mediante ispezione, dimostrazione, test e / o analisi (verificabile)

Questo documento è la specifica dei requisiti per il prodotto. Indica esattamente cosa deve essere in grado di fare il prodotto, quando è finito. Se si dispone di requisiti opzionali, questi sono chiaramente identificati come facoltativi e indicano cosa dovrebbe o potrebbe fare il progetto. Qui è dove nasce l'idea di scrivere requisiti come "deve". I requisiti facoltativi sostituiscono "devono" con "può" o "possono", e il significato di "deve", "può" e "può" deve essere definito nel documento in modo che i progettisti, gli esecutori e i tester conoscano il parente importanza di ciascun requisito.

Definendo esattamente come deve comportarsi il prodotto, stai essenzialmente fornendo istruzioni per i progettisti, i tester e (in parte) gli implementatori. Stanno iniziando con un sistema che non ha ancora raggiunto tutte le cose e viene detto loro che cosa farà quando verrà completato. La progettazione e l'implementazione possono essere confrontate (in vari modi) con queste specifiche per garantire che siano pienamente conformi a ciò che il cliente intende.

    
risposta data 20.08.2014 - 16:38
fonte
0

Ognuno ha il proprio stile e, alla fine, è meglio "ballare con quello che ti ha portato", (fai quello che la persona che ti paga dice di fare).

Detto questo, penso che sia tutta una questione di livelli di astrazione e di pubblico. Supponiamo che questo sia un progetto di chip. La risposta che segue si applicherà ugualmente bene al software con gli esempi specifici modificati per soddisfare il vocabolario e il contesto del giorno. OK, torna ai livelli di astrazione.

È necessario utilizzare dichiarazioni "must" quando si specifica un vincolo per i progettisti del sistema e i tecnici di verifica / prova. Di conseguenza, potresti vedere quanto segue in una specifica:

The SRAM buffer will have a throughput of at least 8 Mbits per second, and must be implemented using 9 nm CMOS technology compatible with the TSMC fab.

Tradotto, lo scrittore delle specifiche ha scritto sulla parte del progetto in cui ci si aspetta che il progettista eserciti la sua creatività / mestiere (il rendimento del buffer), in termini più rilassati di quelli usati per il processo di fabbricazione in cui non c'è Wiggle Room.

    
risposta data 20.08.2014 - 16:24
fonte

Leggi altre domande sui tag