95

Click here to load reader

Keikendo: WPF Jutsu!

Embed Size (px)

Citation preview

Page 1: Keikendo: WPF Jutsu!
Page 2: Keikendo: WPF Jutsu!

¿Qué es Keikendo?

Generación de tecnología y conocimiento

Arquitectura de proyectos digitales

Diseño de Interacción

けいけんど

Page 3: Keikendo: WPF Jutsu!

¿Cómo lo hacemos?

Usuario

Metodologías Ágiles

(Lean, Scrum, XP)

Últimas Tecnologías

(WPF)

Diseño de Interacción

(Ux, Ix)

Page 4: Keikendo: WPF Jutsu!

¿Qué hay al final del túnel?

Keikendo.com

Autoevaluación Checklist Código

Page 5: Keikendo: WPF Jutsu!

EXPERIENCIA

Page 6: Keikendo: WPF Jutsu!

¿Cómo organizamos esto?

• Aceite• Agua• Cacerola• Carne• Cuchillo• Huevos

• Pan• Papas• Plato• Sartén• Tenedor

Page 7: Keikendo: WPF Jutsu!

¿Pastel de carne?

Page 8: Keikendo: WPF Jutsu!

¿Milanesas con papas fritas?

Page 9: Keikendo: WPF Jutsu!

¿Carne ensobrada sobre huevo agitado y astillas de pan?

Page 10: Keikendo: WPF Jutsu!

Del producto a la experiencia

Page 11: Keikendo: WPF Jutsu!

¿Entonces…?

• No hay una sola respuesta• No hay una única solución• Depende del contexto• Pasamos de ingredientes a producto,

servicio y por último experiencia

Page 12: Keikendo: WPF Jutsu!

EXPERIENCIAS DISEÑADAS

Page 13: Keikendo: WPF Jutsu!

El caso McDonalds

• Modelo de negocios de comida rápida:bajo costo, alta rotación–Optimización de procesos–Oferta limitada

Page 14: Keikendo: WPF Jutsu!

Restaurante tradicional

Page 15: Keikendo: WPF Jutsu!

Restaurante de comida rápida

Page 16: Keikendo: WPF Jutsu!

El usuario en rol activo

• Modelo de negocios de comida rápida:bajo costo, alta rotación–Optimización de procesos–Oferta limitada–Usuarios como parte del sistema• Autoservicio•No sobremesa

Page 17: Keikendo: WPF Jutsu!

Sillas anti-sobremesa

“El comportamiento es función de la persona y su entorno” (Lewin, 1936)Diseñando el entorno, influenciamos el comportamiento

17

Page 18: Keikendo: WPF Jutsu!

Experiencias en software

Page 19: Keikendo: WPF Jutsu!

Diseño Centrado en el Usuario: un enfoque opuesto a..

- Diseño autoreferencial- Diseño centrado en la tecnología- Diseño centrado en sponsors- Diseño centrado en la competencia

Page 20: Keikendo: WPF Jutsu!

WPF Workflow

Page 21: Keikendo: WPF Jutsu!

Diseño de interacción

Define el modelo de operación de los productos y sistemas con los que interactúa el usuario

• Considera y modela:– Comportamiento del usuario–Respuesta del sistema

• ...para lograr mejores experiencias para la mayor cantidad de usuarios

Page 22: Keikendo: WPF Jutsu!

Diseño con bases racionales

GOMSModelo para predecir tiempos de operaciónde una interfaz de usuario

0,2 seg. Tecla / mouse click & release

0,4 seg. Paso mouse teclado

1,1 seg. Apuntar con el mouse

1,35 seg. Preparación mental nueva tarea

? Respuesta del sistema

Page 23: Keikendo: WPF Jutsu!

CASO EJEMPLO

Page 24: Keikendo: WPF Jutsu!

Caso de ejemplo

Entorno:• El CEO quiere introducir un nuevo producto

para el mercado de los restaurants.• El equipo es encargado de desarrollarlo.• Se utilizará una metodología agile basada

en scrum.• El equipo dispone de un diseñador de

interacción.• El producto debe destacarse en el mercado

de los restaurants de alta rotación.

Page 25: Keikendo: WPF Jutsu!

RPF. RESTO PRESENTATION FOUNDATION

Ejemplo

Page 26: Keikendo: WPF Jutsu!

Primeros Pasos

Plantear hipótesis sobre los casos típicos – Identificar partes críticas.– Identificar relaciones y dependencias

de funciones.• El encargado de la caja solo cobra• El mozo solo describe lo que entrega

–Buscar un restaurant que tenga las características buscadas para evaluar.

Page 27: Keikendo: WPF Jutsu!

Definimos alcance

• Administración de Mesas–Abrir mesa.–Cargar pedido.–Cerrar mesa.

• Reservas–Reservar para el mismo día.–Reservar para un día en el futuro.

Page 28: Keikendo: WPF Jutsu!

Evaluar modelo

• Evaluación competitiva• Evaluación cualitativa y funcional–Features que no consideramos–Features que son innecesarios o

perjudiciales–Features que no entendemos su

valorEvitar un producto “Feature Rich, Quality Starved”

Page 29: Keikendo: WPF Jutsu!
Page 30: Keikendo: WPF Jutsu!
Page 31: Keikendo: WPF Jutsu!
Page 32: Keikendo: WPF Jutsu!
Page 33: Keikendo: WPF Jutsu!

VALIDACIÓN DEL MODELO CON USUARIOS

Ejemplo

Page 34: Keikendo: WPF Jutsu!

¿Que operaciones se registran?

¿Se registra cuando se abre una mesa?• No, se registra con el primer

pedido.

¿Se registra el cierre de una mesa?• Si, porque hay que cobrar.

Page 35: Keikendo: WPF Jutsu!

¿Es útil o necesaria la presentación

espacial de las mesas?Cuando llegan varios comensales• Los comensales o el mozo juntan

las mesas.• El mozo avisa por control.• De ahí en adelante, se refiere al

conjunto usando el número de una de las mesas.

Page 36: Keikendo: WPF Jutsu!

Se manejan "slots“.• A la noche, x ejemplo, hay un "cena temprano" (8pm a 11 pm) y "cena tarde" (11pm a 1am).•De esta manera se resuelve de forma práctica cuando ir "echando gente".

Desde luego, importa registrar como texto

el horario y nombre de la reserva.

¿Con qué precisión manejan las reservas?

Page 37: Keikendo: WPF Jutsu!

IMPLEMENTACIÓN DEL MODELO

Ejemplo

Page 38: Keikendo: WPF Jutsu!

Prototipos

Page 39: Keikendo: WPF Jutsu!

Metáforas para Reservas

Page 40: Keikendo: WPF Jutsu!

Slots de reservas

Page 41: Keikendo: WPF Jutsu!

Juntar y SeleccionarVersión basada en links

Juntar y SeleccionarVersión basada en drag&drop

Page 42: Keikendo: WPF Jutsu!

Redefinimos el alcance

Características del Sprint 0Se obtuvo un modelo global de operaciónSe generaron artefactos para los desarrolladores.No se definió la estética, si wireframes

Duración: 3 días – 2 1/2 personas

Características del Sprint 1Se refinará el modelo de operacionesEl desarrollador implementará la aplicación, sin estilos gráficos.Se comenzará a trabajar la estética.

Duración: 5 días – 2 1/2 personas

Page 43: Keikendo: WPF Jutsu!
Page 44: Keikendo: WPF Jutsu!
Page 45: Keikendo: WPF Jutsu!

Card SortingAgrupar funcionalidades sobre modelo mental del usuario

Page 46: Keikendo: WPF Jutsu!

Juntar/Seleccionar mesas GOMS

Agregar pedido GOMS

Page 47: Keikendo: WPF Jutsu!

Prototipo Final

Page 48: Keikendo: WPF Jutsu!

WINDOWS PRESENTATION FOUNDATION

Page 49: Keikendo: WPF Jutsu!

¿Cómo podemos impementar el prototipo con WinForms?

Page 50: Keikendo: WPF Jutsu!

Diseñador + Developer

Mayor adopción en los diseñadores gráficos

Integración con el código

Page 51: Keikendo: WPF Jutsu!

De diseño a código

Page 52: Keikendo: WPF Jutsu!

De diseño a código

Page 53: Keikendo: WPF Jutsu!

De diseño a código

Page 54: Keikendo: WPF Jutsu!

De diseño a código

Page 55: Keikendo: WPF Jutsu!

De WinForms a WPF

XAML Templates

Estilos

AnimacionesWPF

Page 56: Keikendo: WPF Jutsu!

De WinForms a WPF

Pasamos de limitarnos por lo técnico, a limitarnos a las necesidades del

usuario

Nos da la oportunidad de cambiar el paradigma

Page 57: Keikendo: WPF Jutsu!

Migrar no es recompilar

Page 58: Keikendo: WPF Jutsu!

XAML, XAML, XAML

Page 59: Keikendo: WPF Jutsu!

Ya implementamos el prototipo¿Cómo podemos hacer este

trabajo repetible?

Page 60: Keikendo: WPF Jutsu!

IXD EN EL PROCESO DE DESARROLLO

Page 61: Keikendo: WPF Jutsu!
Page 62: Keikendo: WPF Jutsu!

¿Quién

desarrolla software?

Page 63: Keikendo: WPF Jutsu!

¿Quién incorpora

diseño de interacció

n?

Page 64: Keikendo: WPF Jutsu!

“Hay diseños intencionales y otros que se cometen.”

Santiago Bustelo. Filósofo Contemporáneo.

Page 65: Keikendo: WPF Jutsu!
Page 66: Keikendo: WPF Jutsu!

“Hay un punto en el que sólo se puede mover la complejidad de un lugar a otro.”Larry Tesler.

Pionero de IxD.

Page 67: Keikendo: WPF Jutsu!
Page 68: Keikendo: WPF Jutsu!

Ya están diseñando la experiencia del

usuario.

Page 69: Keikendo: WPF Jutsu!

Sólo resta que elijan cómo quieren

hacerlo.

Page 70: Keikendo: WPF Jutsu!

Modelo de Madurez

Nivel 1

•Sin Intención

Nivel 2

•Diseño Autoreferencial

Nivel 3

•Diseño Experto

Nivel 4

•Diseño Centralizado

Nivel 5

•Diseño Distribuido

Page 71: Keikendo: WPF Jutsu!

Nivel 1

Sin Intención

La experiencia no se diseña explícitamen

te.

Nivel 2

Auto referencial

Se diseña como si el

usuario fuese uno mismo.

Nivel 3

Experto

Experiencia de una

persona. No hay método.

Nivel 4

Centralizado

Hay un encargado

del diseño de la

experiencia. Hay método.

Nivel 5

Distribuido

Todos los equipos son conscientes

del diseño de una

experiencia. Hay método.

Page 72: Keikendo: WPF Jutsu!

Nivel 1

Sin Intención

Nivel 2

Auto referencial

Nivel 3

Experto

Nivel 4

Centralizado

Nivel 5

Distribuido

Influencia de la Suerte.

Replicabilidad de los Resultados.

Page 73: Keikendo: WPF Jutsu!

Diseñador de Interacción

Equipo de Desarrollo

Solución Solución

Paradoja

Metodologías Agiles

Una La

Niveles 4 y 5

Page 74: Keikendo: WPF Jutsu!

Repasando AgileManifesto

Agiles “Estructuradas”

Documentación Comprensiva

Procesos y Herramientas

Negociación Contractual

Aferrarse a un plan

Responder al Cambio

Colaboración con el Cliente

Trabajar el Software

Las Personas y La Interacción

Page 75: Keikendo: WPF Jutsu!

Repasando Agile

SprintsProduc

t Owner

Scrum Master

Team Memb

ers

En Scrum…

Page 76: Keikendo: WPF Jutsu!

¿Qué es un Diseñador de Interacción?

Aquel que facilita lo que una

persona quiere lograr con otra a

través de dispositivos y

servicios.

” Dan Saffer. Gurú de IxD.

Page 77: Keikendo: WPF Jutsu!

Etapas del proceso deDiseño de Interacción

1.Objetivos y análisis inicial2.Decisiones de diseño

iteraciones

3.Mantenimiento y validación

77

Page 78: Keikendo: WPF Jutsu!

Craig Villamor. Gurú de IxD.

5 Fases de adopción de Metodologías Agiles para

Diseñadores

Negación

IraNegociaciónDepresión

Aceptación

Page 79: Keikendo: WPF Jutsu!

7 Razones por las Cuales Recomendamos Metodologías Agiles

Ciclos Cortos de Desarrollo.

Comunicación Abierta,

Necesaria y Diaria con el

cliente/usuario.

El progreso del desarrollo es

medido.

Todos los miembros del

equipo pueden influenciar el

resultado final.

El proceso se adapta

constantemente al equipo.

Todos los impedimentos son visibles.

El diseñador de Interacción

tiene acceso directo a los

desarrolladores.

Page 80: Keikendo: WPF Jutsu!

El Diseñador de Interacción en la

Organización

IxD

Proyecto A

Proyecto B

Proyecto C

Centralizada

Page 81: Keikendo: WPF Jutsu!

El Diseñador de Interacción en la

Organización

Proyecto A

IxD

Developer 1

Developer 2

Functional Analyst

Proyecto B

IxD

Developer

Functional Analyst

Proyecto C

IxD

Developer

Architect

Distribuida

Page 82: Keikendo: WPF Jutsu!

Sprint 0

Sprint 1

Sprint 2

Sprint n

Desarrollo y IxD

Tiempo

Estrategia de Integración al Sprint: Dentro del Desarrollo

Page 83: Keikendo: WPF Jutsu!

Desarrollo

IxD

Diseño

Investigación

Tiempo

Estrategia de Integración al Sprint: Fuera del Desarrollo

Sprint 1

Sprint 2

Sprint n

Sprint 0

Sprint 1

Sprint 2

Sprint n

Page 84: Keikendo: WPF Jutsu!

Qué opción elegir?

Centr

aliz

ada

Dis

trib

uid

a

Fuera del DesarrolloDentro del Desarrollo

Page 85: Keikendo: WPF Jutsu!

Depende

Page 86: Keikendo: WPF Jutsu!

Por algún lugar hay que empezar.

Consejos para Mañana a la mañana.

Page 87: Keikendo: WPF Jutsu!

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Sincerar el Diseño

Page 88: Keikendo: WPF Jutsu!

Involucrar al Usuario (No sólo al Cliente)

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Salesforce.com planea 1 año de pruebas antes de saber qué se

va a probar.

Empezá por planear 1 hora.

Page 89: Keikendo: WPF Jutsu!

Diferenciar Claramente

Lo que el Usuario

Pide

Lo que el Usuario

Quiere

Lo que el Usuario

Necesita

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Page 90: Keikendo: WPF Jutsu!

Scrum Master

Product Owner

Functional Analyst

Developer

Graphic Designer

Architect

Usuario Final

Tester

Objetivo del Proyecto X               Objetivo del Sistema de Información

X              

Objetivo del Negocio   X             Objetivo del Producto   X             Diseño de la Información     X   X X     Pruebas con Usuarios     X     X   XEntendimiento del Proceso involucrado en el Producto

  A C       C  

Definición de Requerimientos   A C       C  

Definición de Contenido   X X           A = ApruebaC = Confecciona

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Page 91: Keikendo: WPF Jutsu!

La tecnología no es el fin. Es un medio.

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Page 92: Keikendo: WPF Jutsu!

No cambiar es más costoso.

Funcionalidad

Defectuosa

Funcionalidad

Rechazada

Cambios de Alcance

Software sin Uso

La competenc

ia crece

No son males inevitables.

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Page 93: Keikendo: WPF Jutsu!

¿De qué se queja más tu usuario?

Ya tenés por dónde empezar…

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Page 94: Keikendo: WPF Jutsu!

¡Sean originales!

(Excusas para no empezar hay millones, si encuentran una nueva no es ser original. Es

trampa )

Por algún lugar hay que empezar. Consejos para Mañana a la mañana.

Page 95: Keikendo: WPF Jutsu!

www.keikendo.com