Migrare i requisiti legacy su BDD


11

D: Qual è il modo migliore per trasferire una grande azienda su Cucumber con almeno 15 anni di requisiti software legacy mantenuti in un database dei requisiti?

Attualmente considerato:

1) Migrare tutto

Unico inconveniente: non abbiamo tempo / budget illimitati, dobbiamo andare avanti per sopravvivere, non possiamo fermare tutto e GC il 100% dei nostri requisiti legacy e suite di test legacy.

2) Regola del boy scout

Lascia tutto meglio di come l'hai trovato. Se tocchi i requisiti o li modifichi, scrivi / aggiorna una funzione Cetriolo. Unico inconveniente: avremo due sistemi di registrazione (Cucumber, legacy req. DB), probabilmente per sempre supponendo che ci siano angoli di una data applicazione che non vengono toccati per molto tempo.

3) Boy Scout Rule Plus

Come il n. 2, ma inserisci i requisiti che non stiamo spostando su Cucumber in Feature con un singolo scenario in sospeso e copia / incolla i requisiti legacy nella sezione descrizione. In questo modo otteniamo metriche (tramite scenari in sospeso) su come "coperti" siamo da Cucumber e ci guidano anche dalla necessità di mantenere il vecchio sistema di requisiti. Non riesco a trovare alcun aspetto negativo di questo a parte questo potrebbe essere un enorme casino in Cucumber.

4) Inserisci qui la tua idea.

Sfondo:

Alcuni progetti che si spostano su Cucumber hanno suite di test automatizzate, altre solo test manuali mai usati. Tutti mantengono i loro requisiti in un database dei requisiti legacy. Dobbiamo farlo perché i nostri requisiti sono un mix di leggi / regolamenti e logiche complesse per strumenti finanziari (rischio, prezzi, struttura, ecc ...).

Tieni presente che questa è una società molto grande che si muove, il che complica ulteriormente le soluzioni.

Abbiamo già alcuni progetti che utilizzano Cucumber per i loro "nuovi" requisiti. Quindi abbiamo pilotato la tecnologia ed è finora un lavoro per noi. Abbiamo un mix di progetti web e puramente dati.

Grazie

Modifica: per rispondere alle domande ... Il DB di gestione dei requisiti legacy non collega i requisiti ai test. Non è "testabile". Oggi il collegamento dei requisiti ai test avviene attraverso un arduo e soggetto a errori manuali che collega i requisiti al nostro sistema di gestione dei casi di test alla fine di ogni progetto. Il cetriolo è una soluzione ovvia migliore per noi. Non c'è dubbio. La domanda è come fare la mossa per una grande organizzazione con una quantità immensa di requisiti importanti che non possono essere persi per motivi legali e di altro tipo.


1
+1 sulla domanda; ma in un contesto più generale: come passare da un sistema di test a un altro?
Sjoerd Job Postmus

Il database dei requisiti "legacy" è automatizzato nel controllo della corrispondenza dei requisiti? Dovrai riformulare i requisiti in modo che corrispondano alla sintassi di Cucumber (e in tal caso: assicurati che la riformulazione non modifichi i requisiti in modo sottile)?
Sjoerd Job Postmus,

Solo curiosità, questo database di requisiti è "testabile"? se sì, allora potresti provare ad automatizzare il processo come opzione n. 4 facendo un programma che legge i test legacy e prova a scrivere un test cetriolo per te ANCHE se i test non sono leggibili. Avere due fonti di vero non è generalmente raccomandato a causa di possibili mancate corrispondenze (2 fonti di requisiti, il db e il cetriolo)
pietromenna,

1
Hai scritto "Abbiamo pilotato la tecnologia e finora ha funzionato per noi", ma non hai scritto "ha funzionato meglio della tecnologia precedente". Quindi, sei sicuro al 100% che questo sarà un miglioramento? Altrimenti, il modo migliore potrebbe essere non farlo ;-)
Doc Brown,

Risposte:


8

Ho fatto l'errore di spogliare una stanza fino ai perni quando ho sostituito le sue finestre. È una vecchia casa. La stanza era in cattive condizioni. Ad ogni passo, ho riscontrato problemi. Una vecchia pipa si sbriciolò nella mia mano. La bocchetta idraulica da venticinque libbre, ora penzolante, cadde e si schiantò contro il soffitto della cucina. (Fortunatamente, nessuno è rimasto ferito, ma il cellulare della mia ragazza è stato schiacciato. Non era divertita.) Mi sono scioccata da morire quando ho sfiorato contemporaneamente un circuito collegato a terra. C'erano esposti antichi cablaggi che attraversavano l'isolamento soffiato.

Con ogni problema, ho dovuto reindirizzare le mie energie. Mi sono fermato per risolvere il problema. Poi, a volte giorni dopo, ho ripreso i progressi. In autunno, ho rinunciato. (Avevo programmato di finire entro la fine dell'estate.) Mi sono appena fermato e me ne sono andato. Era troppo. La mia ragazza voleva chiamare un imprenditore. Mi sono rifiutato da quando avevo già fatto così tanto lavoro. Non volevo che ottenessero la "gloria". (Inoltre, sono un po 'particolare e non volevo che qualcuno tagliasse gli angoli dove sapevo che non lo avrei fatto.) Quindi, la stanza era incompiuta.

Quasi un anno fa, dopo il nuovo anno, ho avuto un'epifania: non vi era alcuna regola che dicesse che dovevo lavorare esclusivamente sulla stanza fino al termine. Non c'era fretta. Non dovevo renderlo così importante. Invece, se avessi un po 'di tempo libero, potrei andare di sopra e passare un'ora o due nella stanza ... appendere un foglio di Sheetrock, fango e nastro un muro, tagliare una porta. Prima che me ne rendessi conto, avevo finito. La mia ragazza mi ha amato di nuovo. Ho dormito con un sorriso sul mio viso. Tutto andava bene nel mondo.

Penso che ci sia qualcosa di simile disponibile per la tua situazione. Sii la saggia tartaruga: lenta e costante. Il percorso "Migra tutto" è troppo stressante. Ti farà alzare le mani e andartene. La regola del boy scout lascia indietro le caratteristiche se non cambiano mai. Boy Scout Rule Plus crea requisiti di qualità inferiore. Prendi il meglio dai tuoi approcci:

  1. Se tocchi un requisito, spostalo su Cetriolo.
  2. Nel frattempo, imposta un obiettivo di migrazione settimanale. Fai un po 'ogni settimana. Non fare una proposta tutto o niente. Potresti scoprire che il lavoro di migrazione occasionale è una buona alternativa a tutti gli altri lavori a cui ti sei impegnato.

Prima che tu lo sappia, avrai finito. Il tuo capo ti adorerà. La tua squadra ti adorerà. Dormirai con un sorriso sul viso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.