SlideShare uma empresa Scribd logo
1 de 53
Historias de Usuario
¿Por qué las “historias de usuario”? Comunicación Entendimiento compartido del problema-solución  ,[object Object],Registrar funcionalidad a medias Enfatizar la comunicación verbal Lenguaje comprensible (libre de jerga técnica)
¿Por qué las “historias de usuario”? Requisitos Los RQs no están nunca definidos todos de antemano. Aunque lo estuviesen, NO podrían recogerse de manera PER-FEC-TA.  Enfoque en los aspectos relevantes del momento, aplazando los detalles al momento oportuno. Promoción del desarrollo oportunista (RQs emergentes).
¿Por qué las “historias de usuario”? Planificación Los proyectos de SW no son perfectamente predecibles Separación de la estimación del tamaño (puntos) de la del tiempo (horas). Buen tamaño para planificar Funcionan bien para el trabajo iterativo
¿Qué son las historias de usuario? (y qué no son) La historias de usuario… son la descripción de la funcionalidad de un software, expresada de forma valiosa para las partes involucradas y útil para la gestión de proyectos de elevada incertidumbre.
Ejemplos de historias de usuario ,[object Object]
Un usuario puede poner los libros en el carrito y sucesivamente comprarlos.
Un usuario puede escoger acompañar el envío de un libro con un billete y su propio mensaje
Un supervisor puede ver un informe de las ventas realizadas en el día.
Un usuario puede enviar información acerca de un trabajo a una amiga vía mail.,[object Object]
Como presidente de España Necesito atacar Irak Para encontrar las armas de destrucción masiva
NO ODIES AL USUARIO debemos determinar por quélo necesitan COLABORACIÓN
Ejemplo: “Como…” y “Para” son determinantes Como… Quiero… Para… salir en el Guinnes un buen pescado Compartirlo en una cenita romántica sacar una gran nota en mi examen
Agile Inception: cómo nacen las historias Las historias deben ser resultado de la colaboración máxima entre cliente y equipo Evolucionan a lo largo de la vida del proyecto.
Principales características Las historias de usuario incluyen: Card. Una breve descripción escrita, como recordatorio Conversation. Una valiosa conversación, para asegurar el entendimiento y acordar el objetivo  Confirmation. Unos tests funcionales, para fijar algún detalle relevante y limitar el alcance
Título, descripciónCard, Conversation, Confirmation El título (o descripción) de las historias de usuario es una breve frase que resume su principal objetivo y es útil como recordatorio de la correspondiente conversación. Es habitual emplear el siguiente formato: Como [rol],  quiero [característica],  para [valor de negocio]. Formato útil, pero no garantiza que se estén elaborando historias de calidad. Buscar un buen título estimula la conversación y ayuda a cuestionarse. Modelado de los roles de usuario, “personajes”, etc.
Ejemplos ,[object Object]
COMO periodista de la DGCOM de GN, QUIERO clasificar las noticias del TAV mediante un nuevo tema de la taxonomía, PARA mostrarlas automáticamente en la portada del portal del TAV
COMO gestor del PNa, QUIERO medir la mejora SEO producida al resolver el problema de "páginas duplicadas“ del CMS, PARA convencerme de la necesidad de acometer otras mejoras similares,[object Object]
Glosario ¿sería buena idea tener una lista de términos de negocio, explicados y accesibles?
Pruebas de aceptaciónCard, Conversation, Confirmation Tienen una doble función según se consideren como: requerimientos, contribuyen a definir el alcance al expresar algún detalle relevante surgido de la conversación; test, demuestran la correcta implementación. Forman parte mínima del Definition of Done ,[object Object]
Se pueden añadir/mejorar sobre la marcha, aunque mejor antes de codificar. given … when … then …		¿!se podrá automatizar?! ;)
Ejemplo ,[object Object]
Cuandobusque un identificador de cuentaválido, la cuenta se muestra.
Cuandobusquepornumero de SS y nombreválido, la cuenta se muestra.
Si no se encuentranresultados, mostrar el mensajeadecuado,[object Object]
Verificar con American Express (fail).
Verificar con números de carta buenos, malos y parciales.
Verificar con una carta caducada.
Verificar un importe mayor de lo máximo permitido por la carta.
…,[object Object]
Creando las historias de usuarioI.N.V.E.S.T. Las historias de usuario bien planteadas tienen las siguientes características:  Independent		(independiente) Negotiable		(negociable) Valuable		(valiosa) Estimatable		(estimable) Small		(pequeña) Testable		(comprobable)
Creando las historias de usuarioI.N.V.E.S.T. Independent (independiente) Cada historia es (lo más posible) independiente de otras. Cada historia es coherente y tiene una alta cohesión. Problemas? ,[object Object]
Combinar historias
Partir historias de manera diferente (más “vertical”),[object Object]
Sabes que el cliente lo va a cambiar cuando lo vea,[object Object]
Creando las historias de usuarioI.N.V.E.S.T. Estimatable (estimable) El equipo puede manejarse con el alcance de la historia de usuario y proveer una estimación La estimación permite priorizar la pila de producto y planificar Problemas? Mejorar el conocimiento del dominio (ej.: más conversación) Mejorar los conocimientos técnicos (ej.: “Spike”) Reducir la complejidad (dividir una historia muy grande)
Creando las historias de usuarioI.N.V.E.S.T. Small (pequeña) La justa medida para poder comprender, estimar y planificar; Según la dimensión y habilidad del equipo, las tecnologías, etc. una buena historia debe ser pequeña en esfuerzo, generalmente representando no más de 2-3 personas/semana de trabajo.  Problemas? Dividir la historia. Una historia que es más grande va a tener más errores asociados a la estimación y alcance.
Creando las historias de usuarioI.N.V.E.S.T. Testeable Necesitamos saber cuando terminamos una historia.  No desarrollemos aquello que no podemos probar. Problemas? Dividir en historias más pequeñas. Pensar en las pruebas de aceptación.
“Malos ejemplos de historias”	 Ejercicio 1 Ejercicio Objetivo. Aprender a analizar de forma crítica una historia de usuario, sobre la base de los atributos INVEST.
“Malos ejemplos” de historias Ejercicio 1 ,[object Object]
Un usuario puedo añadir/editar/borrar múltiples CV.
El proceso de desarrollo producirá documentación CMMI nivel 2.
QUIERO desarrollar la capa de negocio de la aplicación de venta de entradas, PARA luego conectarla con la BBDD.
Como usuario de BigMoneyJobs, QUIERO encontrar un trabajo.,[object Object]
“Malos ejemplos” de historias Ejercicio 1 ,[object Object]
¿Cómo comprobarlo? Hay conceptos muy ambiguos.
No es independienteporquela interfaz abarca el sistema entero.
Un usuario puede añadir/editar/borrar múltiples CV.
Fácilmente divisible en funcionalidades independientes más pequeñas.
El proceso de desarrollo producirá documentación CMMI nivel 3.
Es un requerimiento no funcional
QUIERO desarrollar la capa de negocio de la aplicación de venta de entradas, PARA luego conectarla con la BBDD.

Mais conteúdo relacionado

Mais procurados

Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
Julio Pari
 
Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)
nenyta08
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
481200601
 

Mais procurados (20)

Storytelling For Product Managers
Storytelling For Product ManagersStorytelling For Product Managers
Storytelling For Product Managers
 
Historias de usuario
Historias de usuarioHistorias de usuario
Historias de usuario
 
Slides from Growthcon 2014 Lean Analytics masterclass
Slides from Growthcon 2014 Lean Analytics masterclassSlides from Growthcon 2014 Lean Analytics masterclass
Slides from Growthcon 2014 Lean Analytics masterclass
 
Pega | pega Bpm Training
Pega | pega Bpm TrainingPega | pega Bpm Training
Pega | pega Bpm Training
 
Modelo de requerimientos
Modelo de requerimientosModelo de requerimientos
Modelo de requerimientos
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientos
 
Historias de usuario
Historias de usuarioHistorias de usuario
Historias de usuario
 
Personas Bootcamp - Where Product Meets User Needs
Personas Bootcamp - Where Product Meets User NeedsPersonas Bootcamp - Where Product Meets User Needs
Personas Bootcamp - Where Product Meets User Needs
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Importancia de uml y bpmn
Importancia de uml y bpmnImportancia de uml y bpmn
Importancia de uml y bpmn
 
Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)Tareas de ingenieria de requerimientos(1)
Tareas de ingenieria de requerimientos(1)
 
Business Analyst Documentation
Business Analyst DocumentationBusiness Analyst Documentation
Business Analyst Documentation
 
Business analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaBusiness analyst 101 program Mumbai India
Business analyst 101 program Mumbai India
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Jobs at Scale: Developing and Analyzing JTBD Surveys
Jobs at Scale: Developing and Analyzing JTBD SurveysJobs at Scale: Developing and Analyzing JTBD Surveys
Jobs at Scale: Developing and Analyzing JTBD Surveys
 
From Use case to User Story
From Use case to User StoryFrom Use case to User Story
From Use case to User Story
 
ERS - Ejemplo caso de estudio
ERS - Ejemplo caso de estudioERS - Ejemplo caso de estudio
ERS - Ejemplo caso de estudio
 
Workshop MVP
Workshop MVPWorkshop MVP
Workshop MVP
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
 

Destaque

Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5
Oscar Eduardo
 
Mi primera aplicación en Android usando Scrum
Mi primera aplicación en Android usando ScrumMi primera aplicación en Android usando Scrum
Mi primera aplicación en Android usando Scrum
GDG Lima
 
Priorizacion de historias de usuario - caso practico
Priorizacion de historias de usuario - caso practicoPriorizacion de historias de usuario - caso practico
Priorizacion de historias de usuario - caso practico
Carlos Urshela
 
Arquitectura sistema
Arquitectura sistemaArquitectura sistema
Arquitectura sistema
Oscar Eduardo
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
Johita Guerrero
 

Destaque (17)

Taller Historias de usuario 20130117
Taller Historias de usuario 20130117Taller Historias de usuario 20130117
Taller Historias de usuario 20130117
 
User stories
User storiesUser stories
User stories
 
Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5
 
Mi primera aplicación en Android usando Scrum
Mi primera aplicación en Android usando ScrumMi primera aplicación en Android usando Scrum
Mi primera aplicación en Android usando Scrum
 
Priorizacion de historias de usuario - caso practico
Priorizacion de historias de usuario - caso practicoPriorizacion de historias de usuario - caso practico
Priorizacion de historias de usuario - caso practico
 
Retrospectivas agiles
Retrospectivas agilesRetrospectivas agiles
Retrospectivas agiles
 
METODOLOGIAS XP
METODOLOGIAS XPMETODOLOGIAS XP
METODOLOGIAS XP
 
Arquitectura sistema
Arquitectura sistemaArquitectura sistema
Arquitectura sistema
 
Historias de usuario
Historias de usuarioHistorias de usuario
Historias de usuario
 
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
Historias de Usuario (Tarjetas)
Historias de Usuario (Tarjetas)Historias de Usuario (Tarjetas)
Historias de Usuario (Tarjetas)
 
Taller Storytelling: Cómo crear historias poderosas
Taller Storytelling: Cómo crear historias poderosasTaller Storytelling: Cómo crear historias poderosas
Taller Storytelling: Cómo crear historias poderosas
 
Escribir Historias de Usuario Maravillosas
Escribir Historias de Usuario MaravillosasEscribir Historias de Usuario Maravillosas
Escribir Historias de Usuario Maravillosas
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Sistema De Gestion De Notas
Sistema De Gestion De NotasSistema De Gestion De Notas
Sistema De Gestion De Notas
 

Semelhante a Formación 'user stories' biko - mayo 2011

Ensayo de diseño de sistemas ii corte
Ensayo de diseño de sistemas ii corteEnsayo de diseño de sistemas ii corte
Ensayo de diseño de sistemas ii corte
Jean Cruz
 
Desarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual BasicDesarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual Basic
guest01eddce
 
Desarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual BasicDesarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual Basic
guest01eddce
 

Semelhante a Formación 'user stories' biko - mayo 2011 (20)

Historias de usuario y la especificación de requisitos
Historias de usuario y la especificación de requisitosHistorias de usuario y la especificación de requisitos
Historias de usuario y la especificación de requisitos
 
Historias de usuario exposicion
Historias de usuario exposicionHistorias de usuario exposicion
Historias de usuario exposicion
 
Historias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productosHistorias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productos
 
Introducción a Técnicas Agiles y Scrum : Dia 1
Introducción a Técnicas Agiles y Scrum  : Dia 1Introducción a Técnicas Agiles y Scrum  : Dia 1
Introducción a Técnicas Agiles y Scrum : Dia 1
 
Historias de usuario: todo lo que querías saber y no te atreviste a preguntar
Historias de usuario: todo lo que querías saber y no te atreviste a preguntarHistorias de usuario: todo lo que querías saber y no te atreviste a preguntar
Historias de usuario: todo lo que querías saber y no te atreviste a preguntar
 
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
 
Experiencia de Usuario (UX) y Propuesta de Valor
Experiencia de Usuario (UX) y Propuesta de Valor Experiencia de Usuario (UX) y Propuesta de Valor
Experiencia de Usuario (UX) y Propuesta de Valor
 
HistoriasUsuario.pptx
HistoriasUsuario.pptxHistoriasUsuario.pptx
HistoriasUsuario.pptx
 
EL NUEVO ROL DE LOS UX EN LA INDUSTRIA PUBLICITARIA COLOMBIANA
EL NUEVO ROL DE LOS UX EN LA INDUSTRIA PUBLICITARIA COLOMBIANAEL NUEVO ROL DE LOS UX EN LA INDUSTRIA PUBLICITARIA COLOMBIANA
EL NUEVO ROL DE LOS UX EN LA INDUSTRIA PUBLICITARIA COLOMBIANA
 
Presentacion AticSoft "comercio electrónico". Cámara de Comercio de Castellón
Presentacion AticSoft "comercio electrónico". Cámara de Comercio de CastellónPresentacion AticSoft "comercio electrónico". Cámara de Comercio de Castellón
Presentacion AticSoft "comercio electrónico". Cámara de Comercio de Castellón
 
MadInspain 2009
MadInspain 2009MadInspain 2009
MadInspain 2009
 
User stories
User storiesUser stories
User stories
 
Diseño de Interacción - El primer Paso Necesario (Ricardo Devis)
Diseño de Interacción - El primer Paso Necesario (Ricardo Devis)Diseño de Interacción - El primer Paso Necesario (Ricardo Devis)
Diseño de Interacción - El primer Paso Necesario (Ricardo Devis)
 
Ensayo de diseño de sistemas ii corte
Ensayo de diseño de sistemas ii corteEnsayo de diseño de sistemas ii corte
Ensayo de diseño de sistemas ii corte
 
Escalabilidad
EscalabilidadEscalabilidad
Escalabilidad
 
Escalabilidad
EscalabilidadEscalabilidad
Escalabilidad
 
Entregables en proyectos de UX
Entregables en proyectos de UX Entregables en proyectos de UX
Entregables en proyectos de UX
 
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
 
Desarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual BasicDesarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual Basic
 
Desarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual BasicDesarrollo De Proyectos Con Visual Basic
Desarrollo De Proyectos Con Visual Basic
 

Mais de Jose Ramón Díaz

Mais de Jose Ramón Díaz (15)

Dependencies kill software development
Dependencies kill software developmentDependencies kill software development
Dependencies kill software development
 
Diseño organizacional
Diseño organizacionalDiseño organizacional
Diseño organizacional
 
La mayoría de edad del agilismo - Itsmf euskadi 2018
La mayoría de edad del agilismo - Itsmf euskadi 2018La mayoría de edad del agilismo - Itsmf euskadi 2018
La mayoría de edad del agilismo - Itsmf euskadi 2018
 
Taller scrum-agiles
Taller scrum-agilesTaller scrum-agiles
Taller scrum-agiles
 
Scrum i+d. Agile and nanotechnology, research and development
Scrum i+d. Agile and nanotechnology, research and developmentScrum i+d. Agile and nanotechnology, research and development
Scrum i+d. Agile and nanotechnology, research and development
 
Scrum y management: ni cerdos ni gallinas.
Scrum y management: ni cerdos ni gallinas.Scrum y management: ni cerdos ni gallinas.
Scrum y management: ni cerdos ni gallinas.
 
Introducción al agilismo, aplicado a producto y negocio
Introducción al agilismo, aplicado a producto y negocioIntroducción al agilismo, aplicado a producto y negocio
Introducción al agilismo, aplicado a producto y negocio
 
Lean Startup, introducción
Lean Startup, introducciónLean Startup, introducción
Lean Startup, introducción
 
El mito de la organización “ágil”
El mito de la organización “ágil”El mito de la organización “ágil”
El mito de la organización “ágil”
 
La visión "ágil" del software para universitarios
La visión "ágil" del software para universitariosLa visión "ágil" del software para universitarios
La visión "ágil" del software para universitarios
 
Equipos autoorganizados cas2011
Equipos autoorganizados cas2011Equipos autoorganizados cas2011
Equipos autoorganizados cas2011
 
Taller retrospectivas CAS2011
Taller retrospectivas CAS2011Taller retrospectivas CAS2011
Taller retrospectivas CAS2011
 
Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de software
 
Agiles como proceso de Innovación
Agiles como proceso de InnovaciónAgiles como proceso de Innovación
Agiles como proceso de Innovación
 
Desarrollo Agil
Desarrollo AgilDesarrollo Agil
Desarrollo Agil
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Formación 'user stories' biko - mayo 2011

  • 2.
  • 3. ¿Por qué las “historias de usuario”? Requisitos Los RQs no están nunca definidos todos de antemano. Aunque lo estuviesen, NO podrían recogerse de manera PER-FEC-TA. Enfoque en los aspectos relevantes del momento, aplazando los detalles al momento oportuno. Promoción del desarrollo oportunista (RQs emergentes).
  • 4. ¿Por qué las “historias de usuario”? Planificación Los proyectos de SW no son perfectamente predecibles Separación de la estimación del tamaño (puntos) de la del tiempo (horas). Buen tamaño para planificar Funcionan bien para el trabajo iterativo
  • 5. ¿Qué son las historias de usuario? (y qué no son) La historias de usuario… son la descripción de la funcionalidad de un software, expresada de forma valiosa para las partes involucradas y útil para la gestión de proyectos de elevada incertidumbre.
  • 6.
  • 7. Un usuario puede poner los libros en el carrito y sucesivamente comprarlos.
  • 8. Un usuario puede escoger acompañar el envío de un libro con un billete y su propio mensaje
  • 9. Un supervisor puede ver un informe de las ventas realizadas en el día.
  • 10.
  • 11. Como presidente de España Necesito atacar Irak Para encontrar las armas de destrucción masiva
  • 12. NO ODIES AL USUARIO debemos determinar por quélo necesitan COLABORACIÓN
  • 13. Ejemplo: “Como…” y “Para” son determinantes Como… Quiero… Para… salir en el Guinnes un buen pescado Compartirlo en una cenita romántica sacar una gran nota en mi examen
  • 14. Agile Inception: cómo nacen las historias Las historias deben ser resultado de la colaboración máxima entre cliente y equipo Evolucionan a lo largo de la vida del proyecto.
  • 15. Principales características Las historias de usuario incluyen: Card. Una breve descripción escrita, como recordatorio Conversation. Una valiosa conversación, para asegurar el entendimiento y acordar el objetivo Confirmation. Unos tests funcionales, para fijar algún detalle relevante y limitar el alcance
  • 16. Título, descripciónCard, Conversation, Confirmation El título (o descripción) de las historias de usuario es una breve frase que resume su principal objetivo y es útil como recordatorio de la correspondiente conversación. Es habitual emplear el siguiente formato: Como [rol], quiero [característica], para [valor de negocio]. Formato útil, pero no garantiza que se estén elaborando historias de calidad. Buscar un buen título estimula la conversación y ayuda a cuestionarse. Modelado de los roles de usuario, “personajes”, etc.
  • 17.
  • 18. COMO periodista de la DGCOM de GN, QUIERO clasificar las noticias del TAV mediante un nuevo tema de la taxonomía, PARA mostrarlas automáticamente en la portada del portal del TAV
  • 19.
  • 20. Glosario ¿sería buena idea tener una lista de términos de negocio, explicados y accesibles?
  • 21.
  • 22. Se pueden añadir/mejorar sobre la marcha, aunque mejor antes de codificar. given … when … then … ¿!se podrá automatizar?! ;)
  • 23.
  • 24. Cuandobusque un identificador de cuentaválido, la cuenta se muestra.
  • 25. Cuandobusquepornumero de SS y nombreválido, la cuenta se muestra.
  • 26.
  • 27. Verificar con American Express (fail).
  • 28. Verificar con números de carta buenos, malos y parciales.
  • 29. Verificar con una carta caducada.
  • 30. Verificar un importe mayor de lo máximo permitido por la carta.
  • 31.
  • 32. Creando las historias de usuarioI.N.V.E.S.T. Las historias de usuario bien planteadas tienen las siguientes características: Independent (independiente) Negotiable (negociable) Valuable (valiosa) Estimatable (estimable) Small (pequeña) Testable (comprobable)
  • 33.
  • 35.
  • 36.
  • 37. Creando las historias de usuarioI.N.V.E.S.T. Estimatable (estimable) El equipo puede manejarse con el alcance de la historia de usuario y proveer una estimación La estimación permite priorizar la pila de producto y planificar Problemas? Mejorar el conocimiento del dominio (ej.: más conversación) Mejorar los conocimientos técnicos (ej.: “Spike”) Reducir la complejidad (dividir una historia muy grande)
  • 38. Creando las historias de usuarioI.N.V.E.S.T. Small (pequeña) La justa medida para poder comprender, estimar y planificar; Según la dimensión y habilidad del equipo, las tecnologías, etc. una buena historia debe ser pequeña en esfuerzo, generalmente representando no más de 2-3 personas/semana de trabajo. Problemas? Dividir la historia. Una historia que es más grande va a tener más errores asociados a la estimación y alcance.
  • 39. Creando las historias de usuarioI.N.V.E.S.T. Testeable Necesitamos saber cuando terminamos una historia. No desarrollemos aquello que no podemos probar. Problemas? Dividir en historias más pequeñas. Pensar en las pruebas de aceptación.
  • 40. “Malos ejemplos de historias” Ejercicio 1 Ejercicio Objetivo. Aprender a analizar de forma crítica una historia de usuario, sobre la base de los atributos INVEST.
  • 41.
  • 42. Un usuario puedo añadir/editar/borrar múltiples CV.
  • 43. El proceso de desarrollo producirá documentación CMMI nivel 2.
  • 44. QUIERO desarrollar la capa de negocio de la aplicación de venta de entradas, PARA luego conectarla con la BBDD.
  • 45.
  • 46.
  • 47. ¿Cómo comprobarlo? Hay conceptos muy ambiguos.
  • 48. No es independienteporquela interfaz abarca el sistema entero.
  • 49. Un usuario puede añadir/editar/borrar múltiples CV.
  • 50. Fácilmente divisible en funcionalidades independientes más pequeñas.
  • 51. El proceso de desarrollo producirá documentación CMMI nivel 3.
  • 52. Es un requerimiento no funcional
  • 53. QUIERO desarrollar la capa de negocio de la aplicación de venta de entradas, PARA luego conectarla con la BBDD.
  • 54. No aporta valor al usuario.
  • 55. No permite una entrega incremental de funcionalidad disponible para el usuario. En general: historia ≠ capa de software.
  • 56. Como usuario de BigMoneyJobs, QUIERO encontrar un trabajo.
  • 57.
  • 58.
  • 59. Ahhh… también con electrónicas (VISA electron)
  • 60. Emplear el TPV de mi banco.
  • 61.
  • 62. algunas historias dependen del uso del mismo TPV
  • 63. << La primera me costará más, no he usado nunca un TPV… >>Muy similar Mismo TPV
  • 64. “Independent” user-stories Ejercicio 2 Solución Objetivo. Enfrentar un típico caso de dependencia entre historias de usuario. Aprender alguna estrategia para resolver este tipo de problemas. Debatir las implicaciones de abordar este problema de una forma u otra.
  • 65. Soluciones a la dependencia Ejercicio 2 Algunas posibles estrategias para resolver los problemas de dependencia: Combinar las historias dependientes en una única historia independiente La empresa puede pagar un anuncio con las cartas de crédito tradicionales (VISA, Mastercard, American Express). Separar las historias de otra manera Separar las historias introduciendo un “spike” Investigar el uso del nuevo TPV. Separar las historias bajo otro punto de vista La empresa puede pagar un anuncio con una carta de crédito (ej.: VISA). La empresa puede pagar un anuncio con otras cartas adicionales (ej.: Mastercard, American Express). Hacer una doble estimación de las historias de usuario dependientes.
  • 66. “Valuable” user-stories Ejercicio 3 Ejercicio Objetivo. Aprender a expresar los conceptos y las necesidades técnicas de una forma más comprensible y valiosa para el cliente.
  • 67.
  • 68. La gestión de los errores y del logging se llevarán a cabo mediante un conjunto de clases comunes a todo el portal.
  • 69. Como usuario, quiero disponer de un API para hacer búsquedas
  • 70. Como usuario, quiero tener un gadget de escritorio para buscar por nombre¿Cómo podríamos darle la vuelta?
  • 71. “Valuable” user-stories Ejercicio 3 Solución Objetivo. Aprender a expresar los conceptos y las necesidades técnicas de una forma más comprensible y valiosa para el cliente.
  • 72. “Valuable” user-storiesEjercicio 3 Ejemplos de posibles solución Las conexiones a la BBDD serán mediadas por un connection pool. La aplicación podrá ser usada de forma concurrente por 15 usuarios con una licencia de BBDD de 5 usuarios.
  • 73. “Valuable” user-storiesEjercicio 3 Ejemplos de posible solución La gestión de los errores y del logging se llevarán a cabo mediante un conjunto de clases comunes a todo el portal. Los mensajes de error serán presentados al usuario y registrados para posteriores análisis de una forma coherente.
  • 74. Casos particulares: épicas Las épicas son historias de usuario “grandes”, por su tamaño (puntos) y/o dedicación (horas). Proporcionan una visión de alto nivel. Valiosas para la planificación inicial del sistema. Generalmente incluyen trabajo para varias iteraciones. Deben ser divididas en más pequeñas.
  • 75. Ejemplos: “Que la aplicación sea bonita” “Que el rendimiento sea bueno” ¿ Llevarlo al DoD de las historias? ¿ Realizar tareas independientes? Casos particulares: RQs no funcionales
  • 76. Casos particulares: RQs técnicos El equipo de desarrollo puede necesitar definir trabajos no funcionales ¿rendimiento? ¿desarrollos estructurales? Muchas veces son tareas necesarias, ¿por qué trabajarlas como historia? “Necesito configurar el maven con la integración continua”
  • 77. Historias de usuario y Scrum La “userstories” son una herramienta surgida de Extreme Programming (XP). Se han vuelto un estándar de-facto para Scrum; aunque Scrum sólo exige una “pila de producto” compuesta de “tareas”. Reunión de “planificación de producto” Conversación con el cliente, visión del proyecto, valorar alternativas, esbozar soluciones, etc. Se crean épicas/historias (Card, Conversation, Confirmation). Reunión de “planificacion de sprint” Planificas en base a historias estimadas Definition of Done (DoD) Deberá pasar los test de aceptación
  • 78. Propiedades Prioridad Dependencias Backlog plano, o mapa(http://www.agileproductdesign.com/blog/the_new_backlog.html) Valor de negocio (¿ROI?)
  • 79. Historias: alineadas con el Manifiesto Ágil Manifiesto por el Desarrollo Ágil de Software Estamos descubriendo mejores maneras de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de esta experiencia hemos aprendido a valorar: Individuos e interacciones, sobre procesos y herramientas Software que funciona, sobre documentación exhaustiva Colaboración con el cliente, sobre negociación de contratos Responder ante el cambio, sobre seguimiento de un plan  Esto es, aunque los elementos a la derecha tienen valor, nosotros valoramos por encima de ellos los que están a la izquierda.
  • 80.
  • 81. “Twitter. Historias de Usuario” Ejercicio 4 Ejercicio Objetivo. Practicar la técnica de las historias de usuario sobre un caso real. Crear ocasión de debate.
  • 82.
  • 84.
  • 85. Indicadores PRIORIDAD: Prioridad en la implementación de una historia de usuario respecto al resto. A mayor número, mayor prioridad. Otra aproximación a la priorización de tareas se hace a través del método MoSCoW: M – Must, se debe completar este requerimiento para finalizar el proyecto S – Should, se debe completar este proyecto por todos los medios, pero el éxito del proyecto no depende de él. C – Could, se debería completar este requerimiento si su implementación no afecta a la consecución de los objetivos principales del proyecto. W – Would, se puede completar este requerimiento si sobra tiempo de desarrollo (o en futuras versiones del mismo)
  • 86. Historias de usuario vs. casos de uso