Come gestire le aspettative del cliente quando si lavora con un framework di tipo BDD? [chiuso]

0

Di recente ho indagato su SpecFlow e riesco a vedere il valore di ciò per la scrittura di specifiche client / stateholder che possono mostrare i progressi di una funzionalità, tuttavia sono ansioso di presentarli a un client ...

Immagina una funzione:

Given I'm on the "MyAccount" page
   And I enter "Liath" into the "Name" textbox
When I click "Save"
Then my username should be "Liath"

Scriviamo queste funzioni, mostriamo al cliente un set di icone rosse e impostiamo gli sviluppatori affinché funzionino.

Se il nostro sviluppatore completa il percorso felice, l'icona diventerà verde e il client vedrà che la funzione è completa.

Tuttavia il nostro sviluppatore sa che devono ancora considerare cose come:

  1. Verifica del nome utente per vedere se è in uso
  2. Verifica del nome utente per volgarità
  3. Gestire gli errori dal database
  4. Una forma di convalida per garantire che il nome utente utilizzi solo caratteri validi

Chiaramente, se un cliente vede una fila di semafori verdi sarà riluttante a continuare a pagare per il resto dello sviluppo, sembrerà che stiamo cercando di allungare il lavoro.

Qual è il valore di questi test come indicatore di avanzamento se indicano che il lavoro è completato molto prima che sia? Quali tecniche dovremmo usare per dare un esempio più preciso di progresso?

    
posta Liath 04.09.2014 - 15:46
fonte

2 risposte

3

Lo scenario sopra riportato potrebbe essere uno dei tanti in giro per la cronologia degli aggiornamenti dell'account.

In order to keep my account up to date,
As a registered user
I should be able to update my account

Quindi avresti molteplici scenari che coprono ciascuno dei potenziali risultati di una storia. Una storia potrebbe anche essere una delle tante storie per una funzione.

What is the value of these tests as a progress indicator if they indicate work is completed long before it is?

Uno dei test di valori come questo è di mostrare fino a che punto una caratteristica è lo sviluppo. Solo una volta che tutti i test sono verdi, questa funzione è funzionalmente pronta per essere spedita.

Anche questo è un buon punto per aggiungere che i test di accettazione [AT] faranno parte di una suite di test unitari. Seguendo il metodo rosso, verde, refactor del TDD, l'AT sarà scritto per primo e fallirà. Quindi vengono scritti i test unitari per il codice. Una volta superati i test unitari, l'AT passerà perché il codice per tale scenario è stato completato.

What techniques would we need to use to give a more accurate example of progress?

Fuori dagli schemi Specflow ha il tag @ignore che puoi inserire nei tuoi scenari, ad esempio

@ignore
Scenario: Updating my username
    Given I'm on the "MyAccount" page
    And I enter "Liath" into the "Name" textbox
    When I click "Save"
    Then my username should be "Liath"

Questo è utile in quanto dà allo sviluppatore la possibilità di avere tutte le tue storie e scenari scritti ma non in esecuzione, quindi quando mostri i test al client vedranno un mix di verde e giallo, il giallo essendo gli scenari che non sono stati avviati / completati.

Spero che lo copra.

Rich

    
risposta data 04.09.2014 - 16:48
fonte
1

Devi raggiungere un accordo su cosa significa "fatto" per tutto ciò che offri. Puoi dare loro una lettera firmata di accordo, una luce o un segnale di fumo e se pensano che significhi qualcos'altro, hai un problema. Essere preoccupati delle idee sbagliate dei clienti è universale in questo settore, quindi l'unico modo per aggirarlo è quello di comunicare e istruire costantemente.

Puoi consegnare tutte le luci verdi che desideri, ma quando il tuo cliente guarda l'app, a loro piacerà o meno. Spero che ti diranno cosa vogliono cambiare e ancora meglio se ti pagano per questo invece di incolpare i tuoi per averli fraintesi.

Molti sviluppatori preferiscono mostrare gli schizzi dell'interfaccia utente dei client anziché i prototipi funzionanti perché temono che il cliente penserà che hai quasi finito e saranno riluttanti ad approvare ulteriori ore fatturabili.

    
risposta data 04.09.2014 - 23:42
fonte

Leggi altre domande sui tag