Pregunta

Estoy tratando de aprender a utilizar BDD para nuestro proceso de desarrollo y que a veces terminan en marcha escribir cosas que implica un diseño de interfaz de usuario, por lo que para la marca nuevo desarrollo o nuevas características, la interfaz de usuario no siempre existe.

Por ejemplo, si digo esto en un escenario "Cuando se hace clic en un encabezado de columna" implica que esta característica se basa en una especie de mesa o de rejilla, pero en este momento todavía estamos simplemente escribiendo el usuario-historias por lo que hay hay interfaz de usuario todavía.

Eso me pone confundido saber en qué punto del proceso venimos con un diseño de interfaz de usuario?

Tenga en cuenta, sólo he leído artículos sobre BDD y creo que ayudaría a nuestro equipo mucho, pero todavía muy nuevo en esto! Thx!

¿Fue útil?

Solución

Si usted escribe sus escenarios con un enfoque en las capacidades del sistema, usted será capaz de refactorizar los pasos subyacentes dentro de los escenarios más fácilmente. Los mantiene flexible. Así que me pregunto - ¿Qué hacer clic en el get columna para usted? ¿Está seleccionando algo? ¿Qué vas a hacer con la selección? ¿Está buscando algo y la clasificación por un valor?

Me gusta ver los escenarios de los que dicen cosas como:

  • Cuando busco la entrada
  • Cuando voy a la agenda para enero
  • Cuando miro a las entradas más recientes
  • Cuando miro la misma camiseta en negro

Todo esto podría implicar clic en un encabezado de la columna, pero el detalle de implementación no importa. Es la capacidad del sistema.

Por debajo de estos escenarios de alto nivel y los pasos que me gustan para crear una pantalla o una página con los pasos más pequeños como botones haciendo clic en ella. Esto hace que sea fácil de refactorizar.

Me escribió esto en una conexión DSL en lugar de Inglés, pero funciona con la misma idea - no se puede decir de los pasos si se trata de una interfaz gráfica de usuario o una página web, y algunos de los pasos a múltiples acciones de interfaz de usuario:

http://code.google. com / p / wipflash / fuente / Navegar / Example.PetShop.Scenarios / PetRegistrationAndPurchase.cs

Esperamos que le resulte interesante y tal vez ayuda. Buena suerte!

Otros consejos

Te supongo puede escribir en torno al decir que "cuando ordenar la información por X, entonces ..." Pero entonces tendría que ajustar su escenario a eliminar cualquier mención de los datos que se muestran en un formato de cuadrícula, lo que podría conducir a una cierta escritura en lugar obtuso.

Creo que es una buena idea empezar con el diseño de la interfaz de usuario tan pronto como le sea posible. En el caso que se ha mencionado anteriormente, creo que sería perfectamente válido para aumentar la historia de usuario con el bosquejo de la interfaz de usuario relevante, como es de imaginar, y luego refinarlo a medida que avanza. Un bosquejo del lápiz sobre una hoja de papel debe estar bien. O puede utilizar una tableta y SketchBook Pro si quieres algo totalmente digital.

Mi punto es que no veo una razón real para el diseño de interfaz de usuario para quedar fuera de las historias de usuario. Usted probablemente ya sabe que se va a construir una aplicación de Windows, WPF, o Web. Y es seguro asumir que cuando se quiere mostrar datos tabulares, que va a utilizar una cuadrícula. La integridad de los supuestos de los requisitos que ofusca sin añadir ningún valor real.

Historias de usuarios se benefician del hecho, que describe las interacciones concretas y una vez que conozca los datos y el comportamiento del sistema para que de hormigón, que también podría añadir más información sobre la forma en que interactúan. Esto le permite utilizar algunas herramientas como el pepino, que con selenio le permite traducir una historia para una prueba. Es posible ir más allá y por ejemplo, para aplicaciones web capturan todas las páginas de empezar la historia de hormigón en y recoger todas las interacciones con esa página lo que resulta en una especie de arquitectura de la información que podría utilizar para la documentación o la creación de prototipos y pruebas de interfaz de usuario más tarde.

Por otro lado, esto hace que sus historias algo frágiles cuando se trata de cambios de interfaz de usuario. Creo que la forma ágil de pensar acerca de esto es igual que cuando se trata de los cambios de diseño -. No diseñar para el futuro, hacer lo más simple posible, en el futuro, es posible que tenga que cambiar de todos modos

Si despojado de sus historias de usuario de todas las cosas concretas (incluso los insumos) que va a terminar con los casos de uso (al menos en su formato más simple, depende de la forma de escribir sus historias). Los casos de uso son a este respecto no frágil en absoluto, que sólo especifican objetivos. Esto hace que sean resistentes al cambio, pero su mayor esfuerzo para transferir información de forma automática el uso de herramientas.

En cuanto al proceso, RUP / UP deriva de interfaz de usuario de casos de uso, pero creo que es ágil en su naturaleza gradual (no voy a decir iterativo, esto excluiría a los métodos ágiles como FDD y Kanban). Esto significa, como se implementa nueva historia, que se suman a la interfaz de usuario lo que es necesario. Esto sólo hace que la adición de detalles de interfaz de usuario en las historias más razonables. El problema es que esto no es una muy buena manera de crear la interfaz de usuario o, más generalmente UX (experiencia del usuario). Esto es exactamente lo que se podría llamar un punto débil de ágil. Los concentrados de manifiesto ágil de software funcional, pero eso es todo. Hay por lo que yo sé no hay técnicas ágiles para el diseño de interfaz de usuario o UX.

creo que sólo tiene que retroceder un poco.

BAD:. Al hacer clic en el encabezado de la columna, las filas solucionarse por la columna hice clic

BUENO: Entonces ordenar las filas por nombre, oa veces por código postal si el nombre es muy común, como "Smith"

.

Una historia de usuario / flujo de trabajo es una secuencia de lo que el usuario quiere lograr , no una secuencia de acciones Como que logra eso. Usted está recogiendo el ¿Cuál es para que pueda determinar la mejor ¿Cómo está para todos los usuarios y casos de uso.


En cuanto a un aspecto singular de su mensaje:

  
    

si digo esto en un escenario "Cuando se hace clic en un encabezado de columna" implica que esta característica se basa en una especie de mesa o de rejilla, pero en este momento todavía estamos simplemente escribiendo el usuario-historias por lo que hay hay interfaz de usuario todavía.

  

Si esto vino de un usuario, no de ti, sería una muestra de un escondido esperado que en realidad es una tabla o cuadrícula con encabezados de columna. Incluso viniendo de ti que no es del todo sin valor, como puede ser un usuario, también. Podría ser miope, pensando en una cuadrícula sólo porque se trata de una consulta SQL, o podría ser el clavo porque es la presentación que esperas los datos. Una creativa interfaz de usuario isnÄt una mala cosa como tal, pero haciendo caso omiso de las expectativas del usuario es.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top