Domanda

Sto cercando di imparare ad utilizzare BDD per il nostro processo di sviluppo e io a volte finali a scrivere cose che implica una progettazione dell'interfaccia utente, quindi per nuovo sviluppo o di nuove funzionalità, l'interfaccia utente non esiste sempre.

Per esempio, se dico questo in uno scenario "Quando una colonna si fa clic su" implica che questa funzione si basa su una sorta di tabella o griglia, ma a questo punto ci sono ancora solo scrivendo user-storie per cui vi è ancora UI.

Questo mi fa confuso di sapere a che punto del processo veniamo con un progettazione di interfacce utente?

Tenete a mente, ho solo aver letto articoli su BDD e penso che avrebbe aiutato la nostra squadra molto, ma ancora molto nuovo a questo! Thx!

È stato utile?

Soluzione

Se scrivete i vostri scenari, con un focus sulle capacità del sistema, sarete in grado di refactoring i passi sottostanti all'interno di tali scenari più facilmente. E 'li tiene flessibili. Quindi mi piacerebbe chiedere - che cosa fa clic sulla colonna di ottenere per voi? Stai selezionano qualcosa? Che cosa hai intenzione di fare con la selezione? Sei alla ricerca di qualcosa e l'ordinamento per un valore?

Mi piace vedere gli scenari che dicono cose come:

  • Quando guardo per la voce
  • Quando vado al diario per gennaio
  • Quando guardo le voci più recenti
  • Quando guardo la stessa T-shirt in nero

Si potrebbe comportare tutto cliccando sull'intestazione di una colonna, ma il dettaglio di implementazione non importa. E 'la capacità del sistema.

Sotto questi scenari ad alto livello e di passi mi piace creare uno schermo o una pagina con i passaggi più piccoli, come clic sui pulsanti in esso. Questo rende facile refactoring.

Ho scritto questo in un DSL piuttosto che in inglese, ma funziona con la stessa idea - non si può dire dai gradini che si tratti di una GUI o una pagina web, e alcuni dei passi coinvolgono molteplici azioni UI:

http://code.google. com / p / wipflash / source / browse / Example.PetShop.Scenarios / PetRegistrationAndPurchase.cs

Spero che troverete interessante e forse aiuta. Buona fortuna!

Altri suggerimenti

Vi immagino possono scrivere intorno che dicendo "quando ordinare le informazioni da X, allora ..." Ma allora si dovrebbe modificare lo scenario di rimuovere qualsiasi menzione dei dati che vengono visualizzati in un formato a griglia, che potrebbero portare ad una scritta piuttosto ottuso.

Credo che sia una buona idea per iniziare con la progettazione dell'interfaccia utente, non appena è possibile. Nel caso lei ha citato sopra, penso che sarebbe perfettamente valido per aumentare l'user story con l'abbozzo della relativa interfaccia utente come si potrebbe immaginare, e poi affinarlo come si va avanti. Uno schizzo a matita su un pezzo di carta dovrebbe andare bene. Oppure si potrebbe usare un tablet e SketchBook Pro se si desidera qualcosa di tutto digitale.

Il mio punto è che non vedo una vera ragione per la progettazione dell'interfaccia utente per essere lasciato fuori di storie di utenti. Probabilmente già sapete che si sta andando a costruire un'applicazione Windows, WPF, o Web. Ed è lecito ritenere che quando si desidera visualizzare i dati tabulari, userete una griglia. Mantenere questi presupposti fuori dei requisiti li offusca senza aggiungere alcun valore reale.

Storie di utenti traggono vantaggio dal fatto, che lei descrive le interazioni concrete ed una volta che sai i dati e il comportamento del sistema per esso in cemento, si potrebbe anche aggiungere ulteriori informazioni sul modo di interagire. Questo permette di utilizzare alcuni strumenti come il cetriolo, che con selenio permette di tradurre una storia da un test. Si potrebbe andare anche oltre e per esempio per le applicazioni web catturare tutte le pagine che si avvia storia calcestruzzo e di raccogliere tutte le interazioni con la pagina risultante in una sorta di architettura dell'informazione si potrebbe utilizzare per la documentazione e la prototipazione e test dell'interfaccia utente in seguito.

D'altra parte, questo rende le vostre storie un po 'fragile quando si tratta di modifiche dell'interfaccia utente. Penso che il modo agile di pensare a questo è lo stesso di quando si tratta di modifiche di progettazione -. Non progettare per il futuro, fare il più semplice cosa possibile, in futuro potrebbe essere necessario modificare lo stesso

Se si spogliato le vostre storie di utenti di tutte le cose concrete (anche ingressi) si finirà con i casi d'uso (almeno nel loro formato più semplice, dipende da come si scrive le vostre storie). I casi d'uso sono a questo riguardo non fragile a tutti, essi specificano soltanto obiettivi. Questo li rende resistenti ai cambiamenti, ma la sua più difficile il trasferimento di informazioni automaticamente utilizzando strumenti.

Per quanto riguarda il processo, RUP / UP deriva UI da casi d'uso, ma credo agile è nella sua natura incrementale (non dirò iterativo, questo escluderei metodi agili come FDD e Kanban). Questo significa, come si sceglie di implementare nuova storia, si aggiunge al vostro UI ciò che è necessario. Questo rende solo l'aggiunta di specifiche dell'interfaccia utente nelle storie più ragionevoli. Il problema è, che questo non è un buon modo per creare UI o più in generale UX (user experience). Questo è esattamente quello che si potrebbe chiamare una weakpoint di agile. I concentrati Manifesto Agile sul software funzionale, ma questo è tutto. Ci sono, per quanto ne so non tecniche agili per la progettazione di interfaccia utente o UX.

Credo che basta fare un passo indietro un po '.

BAD:. Quando clicco l'intestazione di colonna, le righe ottenere ordinati in base alla colonna ho cliccato

BUONA: Poi ho ordinare le righe in base al nome, o talvolta per codice di avviamento postale se il nome è molto comune, come "Smith"

.

Una storia utente / flusso di lavoro è una sequenza di ciò che l'utente vuole ottenere , non una sequenza di azioni come consegue che. Si stanno raccogliendo il Da in modo da poter determinare il miglior Come è per tutti gli utenti e casi d'uso.


Guardando un aspetto singolare del tuo post:

  
    

se dico questo in uno scenario "Quando una colonna si fa clic su" implica che questa funzione si basa su una sorta di tabella o griglia, ma a questo punto ci sono ancora solo scrivendo user-storie per cui vi è ancora UI.

  

Se questo è venuto da un utente, non da voi, sarebbe mostrare un nascosto aspettativa che in realtà c'è un tavolo o una griglia con le intestazioni delle colonne. Anche detto da te non è del tutto priva di valore, come si potrebbe essere un utente, anche. Potrebbe essere miope, il pensiero di una griglia proprio perché viene da una query SQL, o potrebbe essere spot-on, perché è la presentazione che aspetta i dati in. Un creativo UI iSNAT una cattiva cosa in quanto tale, ma ignorando le aspettative degli utenti è.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top