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

Comparing Cpp And Erlang For Motorola Telecoms Software
Comparing Cpp And Erlang For Motorola Telecoms SoftwareComparing Cpp And Erlang For Motorola Telecoms Software
Comparing Cpp And Erlang For Motorola Telecoms Software
l xf
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
univ of pamplona
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
Sergio Sanchez
 

Mais procurados (20)

Spring batch overivew
Spring batch overivewSpring batch overivew
Spring batch overivew
 
Una introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadUna introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abad
 
Solucion propuesta-caso-cuentas-banco
Solucion propuesta-caso-cuentas-bancoSolucion propuesta-caso-cuentas-banco
Solucion propuesta-caso-cuentas-banco
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework Personalization
 
Ejercicio scrum
Ejercicio scrumEjercicio scrum
Ejercicio scrum
 
03 gestión de pruebas de software diseño de casos de pruebas
03 gestión de pruebas de software   diseño de casos de pruebas03 gestión de pruebas de software   diseño de casos de pruebas
03 gestión de pruebas de software diseño de casos de pruebas
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson Penker
 
DDD로 복잡함 다루기
DDD로 복잡함 다루기DDD로 복잡함 다루기
DDD로 복잡함 다루기
 
Comparing Cpp And Erlang For Motorola Telecoms Software
Comparing Cpp And Erlang For Motorola Telecoms SoftwareComparing Cpp And Erlang For Motorola Telecoms Software
Comparing Cpp And Erlang For Motorola Telecoms Software
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de prueba
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientos
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Tipo de datos_para_c++
Tipo de datos_para_c++Tipo de datos_para_c++
Tipo de datos_para_c++
 
Ejercicios en accesss
Ejercicios en accesssEjercicios en accesss
Ejercicios en accesss
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 

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 (16)

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
 
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
 

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
Historias de usuarioHistorias de usuario
Historias de usuario
 
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
 

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

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
encinasm992
 

Último (20)

proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Bloque 1 _ Lectura base - Sistemas Distribuidos
Bloque 1 _ Lectura base - Sistemas DistribuidosBloque 1 _ Lectura base - Sistemas Distribuidos
Bloque 1 _ Lectura base - Sistemas Distribuidos
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 

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