El coste de una nueva funcionalidad en software

La mayoría de las empresas de software no tienen ni idea de como hacer que su software sea más sencillo de usar, lo que si saben es que nueva funcionalidad tienen que añadir  y eso es lo que hacen. Alan Cooper

.

Me estaba duchando y me fijé que los reguladores del agua siguen teniendo la misma funcionalidad que hace 30 años, regular la presión del agua y equilibrar la cantidad de agua caliente y fría que sale. La industria no ha parado de innovar en materiales, formas, diseños pero la cantidad de funcionalidad es la misma de hace 30 años. Cuando la informática llegue a los reguladores de las duchas aparecerán decenas de nuevas funcionalidades, última presión conocida, tiempo de la ducha en curso, cantidad de agua gastada, temperatura del agua, música,…. ¿Qué se te ocurre?

.

.

Somos verdaderas máquinas de crear funcionalidades que no valen para nada y que complican la función principal.

Mi primer coche me lo dejó mi abuelo Victor, era un Citroen Visa, su aparato de radio tenía 3 funcionalidades, volumen, radio, casete y poco más, aquel aparato me dio grandes tardes de buena música. Ahora mismo estoy escuchando música en el spotify de mi IPAD, con funcionalidades como; amigos, buscar, radio, listas, bandeja de entrada, recomendaciones, crear listas, conectar con Facebook, descargar a local, recomendar, destacar, artistas relacionados, historia de artista,.. Y podría seguir nombrando muchas más, lo más gracioso es que cuando tengo que regular el volumen de la música que estoy escuchando me cuesta encontrarlo porque tengo que regularlo directamente en el volumen del iPad. Soy un usuario muy simple y tan sólo uso un 10% de las funcionalidades de la aplicación, el problema es que el 90% restante me hace más complicado de usar ese 10%.

.

.

La diferencia entre lo digital y lo material

Incluir una nueva funcionalidad en un regulador de ducha o en un casette análogico tiene un gran coste. Crear nueva funcionalidad en un software requiere de un usuario con ideas y un programador con ganas, su coste tiende a cero. Este es el gran problema del software y su principal virtud, añadir nuevas funcionalidades tiende a coste cero y eso acaba convirtiéndose en funcionalidades que complican las principales funciones del producto original.  Las versiones de los productos de software año tras año añaden más y más cosas, lo que los hace más feos y difíciles de usar, los reguladores de ducha año tras año son más bellos, más fáciles de usar y más agradables.

.

.

regulador de ducha

El formulario de 100.000 Euros

Lo que no tiene precio no se valora.

.

 Como programadores trabajamos en solucionar problemas complejos pero no estamos educados para pensar en los interfaces que los van a solucionar. El diseño de software no se valora, se piensa que un formulario vale lo mismo que otro, puedes pasar horas con un proceso, una función, un algoritmo pero tiramos los campos en un formulario sin pensar en el usuario que los va a realizar.

.

1.-Estoy tirando mi tiempo.

Llevo más de 40 horas trabajando en diseño del formulario de alta de un contacto de Velneo vbase . En algunos momentos te llegas a sentir frustrado pensando que estas perdiendo el tiempo invirtiendo tal cantidad de esfuerzo para conseguir ciertos efectos o funcionalidad en el diseño.

.

2.-El modelo de base de datos no es el modelo de interfaz.

Estamos acostumbrados a solucionar el problema en la base de datos y con ese mismo modelo implementar el interface, es como si nos hiciéramos un traje a medida y el resto de nuestra vida usáramos el mismo, cada contexto y situación es diferente, no nos vestimos igual en una boda, en un bautizo o en funeral, cada contexto tiene su interfaz. Hay que pensar en los diferentes usuarios y escenarios.

.

3.-El formulario de 100.000 euros

En el diseño parece que no hay forma de valorar el rendimiento económico. Con un sencillo test de usuarios, puedes medir cuanto tarda el usuario en realizar una nueva tarea.

En este caso hicimos unas pruebas de usuarios para dos tareas simples:

Tarea

Completada

Tiempo

Tarea 1.

Intefaz actual

Usuario 1 > SI

Usuario 2 > SI

Usuario 3 > SI

Usuario 4 > SI

Usuario 5 > NO

Usuario 1 > 1.10

Usuario 2 > 3.02

Usuario 3 > 1.24

Usuario 4 > 1.00

Usuario 5 > 2.53

Tarea 2.

Interfaz actual

Usuario 1 > SI

Usuario 2 > NO

Usuario 3 > NO

Usuario 4 > SI

Usuario 5 > NO

Usuario 1 > 2.30

Usuario 2 > 5.10

Usuario 3 > 4.56

Usuario 4 > 2.26
Usuario 5 > 2.57

Tarea 1.

Interfaz prototipo

Usuario 1 > SI

Usuario 2 > SI

Usuario 3 > SI

Usuario 4 > SI

Usuario 5 > SI

Usuario 1 > 0.21

Usuario 2 > 0.31

Usuario 3 > 0.29

Usuario 4 > 0.25

Usuario 5 > 0.16

Tarea 2.

Interfaz prototipo

Usuario 1 > SI

Usuario 2 > SI *

Usuario 3 > SI

Usuario 4 > NO

Usuario 5 > SI

Usuario 1 > 1.36

Usuario 2 > 1.54

Usuario 3 > 1.45

Usuario 4 > 1.10

Usuario 5 > 1.46

.

Se puede observar como el tiempo mínimo medio que estamos ahorrando en las dos tareas a cada usuario es de un minuto. Calculamos que Velneo vbase está generando un mínimo anual de 300.000 contactos nuevos de usuarios al año, si aplicamos el coste de 21€/hora de coste laboral en España, estamos ahorrando la friolera de 100.000 Euros/año en costes laborales en el uso Velneo vbase para la gestión de contactos.

.

4.-KISS (Keep it Simple Stupid)

La tarea más complicada es solucionar problemas complejos de base de datos con un interfaz simple. Velneo vbase soluciona todos los problemas de la base de datos de una manera completa y eficaz, ahora cuando hay que aplicarle un interfaz simple la cosa se complica. Aquí os dejo los mockup del interfaz actual y el nuevo prototipo.

Interfaz Actual:

interfaz actual1

Interfaz Prototipo:

nuevo1

interfaz2

5 verdades sobre el diseño de software

¿Que es diseño? Un plan para colocar elementos de la mejor manera para logra un propósito en particular..

Charles Eames

.

1. La ingeniería de software es importante y difícil pero la experiencia de usuario es más  importante y algunas veces más complicada.

.

2. La funcionalidad y la experiencia de usuario son conceptos dependientes.

.

3. Tarde o temprano tendrás que testear tus ideas con usuarios reales para saber si lo que estás desarrollando realmente tiene valor y es usable.

.

4. Desarrolla un prototipo que te permita de una manera rápida  y frecuente probar con usuarios reales

.

5.  Necesitamos identificar un producto mínimo viable que cumpla los objetivos y tenga valor para el usuario, sea flexible, usable y factible minimizando el tiempo de puesta en marcha y la complejidad.

.

.

.

Diseño de Software

Llevo tiempo escribiendo sobre la importancia de hacer un buen diseño de nuestro software para mejorar la experiencia de usuario.

La teoría está bien pero el problema es ¿Por dónde empiezo? lo primero que te recomiendo si desarrollas software es que te compres el libro No me hagas pensar de Steve Krug un libro práctico que te explica en un lenguaje para mortales como mejorar tus productos software. Aquí os voy a contar un consejo que da en una de las últimas páginas de libro.

UNA MAÑANA AL MES, ESO ES TODO LO QUE OS PIDO.

Al menos el equipo de desarrollo debería de pasar una mañana al mes haciendo pruebas de usabilidad con usuarios.

En una mañana los programadores pueden testear con tres o cuatro usuarios, después pueden discutir los resultados durante la comida. Y ya está!

Cuando la comida ha terminado el equipo deberá tener decidido que va arreglar y como, nada de informes, nada reuniones interminables.

Al conseguir hacer todo el proceso en una mañana incrementarás las posibilidades  de la otros miembros del equipo consigan tiempo para ver alguna de las sesiones, lo cual es instructivo y recomendable

No te lo pienses empieza a testear AHORA. Si además programas con Velneo por la tarde podrás implementar los cambios decididos y esperar hasta la siguiente jornada de testeo de aplicación.

Bibliografía: No me hagas pensar de Steve Krug

.

Experiencia de usuario

De vuelta de UX Spain, os comparto mis primeras conclusiones sobre lo que podría ser la experiencia de usuario en software.

.

1.- La UX es del mundo web.

Tengo claro que la usabilidad, diseño, UX o como quieras llamar a estas disciplinas parten del mundo de interacción web. Las primeras web siempre tenían presente el diseño en su concepción ya que hace quince años una web era lo más parecido a un dosier publicitario. Hoy día las webs aplican técnicas de experiencia de usuario muy avanzadas. En el mundo del software nos tenemos que poner las pilas y empezar a pensar en el usuario a la hora de diseñar nuestras apps.

.

2.-Principios básicos.

En el mundo del diseño existen una serie de leyes que cualquier desarrollador debería conocer y que facilitarían mucho los primeros pasos. Unicidad, neutralidad, geometría, simetría, propósito son solo algunas de ellas. Por nuestra parte en Velneo hemos tratado de aplicar estas leyes básicas en el proyecto Velneo vdiseño. Hay cosas que siempre funcionan en cualquier lugar.

.

3.- Las metologías Agile se imponen.

En el mundo del desarrollo las diferentes metodologías Agile se están imponiendo y las empresas referente las usan. Se trata de mejorar los producto mediante iteraciones cortas (iterar, medir y mejorar). El cambio a metodología Agile es grande en una organización y toda la empresa tiene que estar involucrada para que llegue salga bien. UX=Agile

 TopRural: Tuvimos que adaptarnos a la metodología Agil te cambian la forma de pensar y trabajar, hay que tener algo en producción cada tres semanas, es una locura pero aporta muchas ventajas.

“Gestiona la incertidumbre, ya iremos iteración a iteración decidiendo lo que vamos a desarrollar”

“UX, iterativo incremental”

.

4.- La tecnología es invisible.

Nunca olvides a tus usuarios, aunque la tecnología es la base de todo, a los usuarios le da igual, ellos quieren usarla, no entenderla. Cuando desarrollaras buenos productos la tecnología se hace invisible y nadie se pregunta si está en Cloud o inhouse, simplemente FUNCIONA. Cuando consigues que tu tecnología sea invisible para el usuario entonces la UX está funcionando. Las tecnologías más profundas son las que desaparecen y no sabemos que están entre nosotros.

.

5.- UX es cumplir objetivos.

Si trabajas la experiencia de usuario es para cumplir unos determinados objetivos, normalmente en mundos web se sigue el ciclo de mejora de KPIs de captación–>conversión–>fidelización. Hay que tener muy claros los objetivos que se quieren cumplir y como medirlos.

.

6.- Valores clave.

Dentro de nuestros negocios existen unos valores claros, negocio+ux+tecnología. Desde mi punto de vista faltaría el cuarto, las personas. Cualquier empresa de software debería tener en su ADN los valores de rentabilidad, diseño, tecnología y personas.

.

7-El diseño es un activo.

En Telefónica han pasado el diseño de un pasivo (gasto) a activo (inversión). El diseño de UX será necesario para cualquier software de aquí a cinco años. No obstante, para hacer un gran diseño lo primero que necesitas es una gran empresa.

.

.

.

La experiencia de usuario en software

Parte de atrás de un coche camino de Salamanca, otro viaje de trabajo, conduce Nico, creativo, artista diferente, agudo comunicador y ponente de Diseño en LIS2011, de copiloto Dani Costas, genio artístico, brillante, catalizador del valor Diseño en el grupo y ponente de Diseño en LIS2010. En destino espera David Martín, reconocido crack.

En 15 años de viajes profesionales en el mundo del software es la primera vez que estaré durante dos días rodeado de diseñadores y creativos, será en UXSPAIN conferencia sobre experiencia de usuario. Algo está cambiando en el software, los diseñadores y los usuarios cada día tienen más importancia, ya no somos los programadores, dioses de la decisión, de lo que conviene, de como hacer las cosas, de como funcionan, los únicos que tenemos potestad.

Ayer un programador me explicaba con ilusión la ingeniería de un software que estaba funcionando en el cloud, lo rápido que iba, todo lo que hacía, como usuario no veía todo lo que me decía, después de su explicación el software me parecía mejor, hasta su explicación, sentía que era una bazofia.

Me da tristeza ver como verdaderas obras de arte en el software quedan ocultas detrás de interfaces de usuario sucios, feos y desagradables, me imagino motores Ferrari metidos en carrocerías Hyundai Atos. Seguiremos informando….

20120510-182342.jpg

¿Qué es el diseño de software empresarial?

Diseño es una palabra graciosa. Algunas personas piensan que el diseño significa como son las cosas, ¿Cuál es su estética?, pero en el fondo significa, ¿Cómo funciona?. En el  diseño del Mac lo primero que hicimos es decidir ¿cómo funcionaba?. Para diseñar algo tienes que empezar por saber como quieres que funcionen las cosas. Tienes que profundizar para conocer realmente las cosas. Tendrás que invertir tiempo y pasión para entender de verdad las cosas, no pases rápido por ellas, profundiza. La mayoría de la gente no se toma el tiempo necesario para entender realmente los conceptos.

Steve Jobs

.

Efecto Catedral en software

El efecto catedral es la sensación que produce en nuestro cerebro los espacios grandes. ¿Qué ocurre con tu percepción cuando estás en el centro de una gran catedral? ¿Qué sientes cuándo te encuentras en una habitación pequeña?. Los espacios grandes y abiertos promueven el pensamiento abstracto y la creatividad, por otra lado los espacios pequeños originan pensamientos concretos y orientación al detalle.

Los espacios en los que nos encontramos influencian la manera en la que nos enfrentamos a los problemas y como tratamos de resolverlos. Una demostración de esta teoría fueron una serie de experimentos que se realizaron con grupos de evaluación de productos de software. Los grupos de personas que evaluaban productos en habitaciones grandes analizaban las carácteristicas generales del producto, mientras que los grupos que lo evaluaban en habitaciones pequeñas se centraban funcionalidades específicas.

Cuando tengas que promover la creatividad, innovación y las tormentas de ideas trata de hacerlo en salas grandes y espacios abiertos, para tareas que requieran orientación al detalle busca habitaciones pequeñas.

Este efecto se produce en los grandes centros comerciales que buscan que el cliente “divague” y pase el mayor tiempo posible en sus instalaciones comprando cosas que no tenía pensado originalmente mientras que la pequeña tienda de barrio se utiliza para comprar cosas concretas en un tiempo limitado.

Cuando diseñes software es importante que busques los espacios adecuados en cada fase del desarrollo y que diseñes las pantallas pensando que una pantalla causa un efecto catedral parecido en la mente del usuario. Lo que sentimos cuando entramos en la página de Google o cuando entramos en el Twitter es totalmente diferente, como utilices los espacios en el diseño de tu aplicación es fundamental para lo que quieras conseguir de tus usuarios.

Principios universales del diseño: La regla 80/20

De los libros que me compré últimamente el que me tiene fascinado es <Universal Principles of Design, una recopilación práctica de 125 principios sobre el diseño, presentado de una manera práctica. Cada principio se presenta en dos páginas de tamaño A4, en la primera se da la base teórica del principio y en la segunda página se muestran ejemplos prácticos.

El primer principio que nos explica es el famoso 80/20 de Pareto. Una gran parte de los efectos de un gran sistema son provocados por un pequeño porcentaje de variables.

.

*80% de las características que se usan en un producto son el efecto del 20% de su funcionalidad.

*80% del tráfico de una ciudad se concentra en el 20% de las carreteras.

.

*80% del beneficio de las empresas vienen del 20% de sus productos.

.

*80% de la innovación proviene del 20% del personal.

.

*80% de los errores son causados por el 20% de los componentes.

.

Concentra el esfuerzo de diseño en el 20% de las características clave de tu software. Invierte tiempo en rediseñar el 20% fundamental de tus aplicaciones. No olvides que el 80% del trabajo de los usuarios en tu software se desarrolla con sólo el 20% del código. Los recursos son limitados y tienes que elegir bien donde inviertes tu tiempo y tu dinero. Centra tu energía en lo que de verdad importa.

¿Cómo diseñar el interfaz de un Software?

Cada día me gusta más el diseño, aunque no tengo gusto ni nunca fui un gran amante de los pequeños detalles, nunca es tarde si la dicha es buena. Cuanto más leo, más tiempo paso con mi mentor Dani y más tiempo le dedico, más me apasiona eso que llaman “diseño”.  Llevamos muchos meses trabajando en una Guia de diseño de Interfaz para el desarrollo de aplicaciones en Velneo V7 y de ese trabajo saco grandes conclusiones:

1.-Diseña tu producto pensando en las personas y sus capacidades no en las capacidades de la computadora.

2.-Crea modelos mentales de uso de tus aplicaciones a partir de ver como realiza los procesos en la realidad los usuarios.

3.-Piensa que la gente normal no se sienta delante de un ordenador todo el día por gusto sino porque su trabajo les obliga a ello.

4.-Los usuarios tiene sus necesidades, sus objetivos, sus expectativas y siempre tienen trabajo que hacer, ¿lo conoces?

5.-Piensa en el usuario y las tareas que realizará con el software

6.-Céntrate en la funcionalidad que es absolutamente necesaria para que los usuarios completen su trabajo.

7.-Diseña un software uniforme pero deja espacio a la irregularidad para destacar y dar importancia a elementos críticos.

8.-Reduce el ruido visual.

.

Esta pantalla está diseñada a mano por mi amigo y compañero Jesús Arboleya, que además es un artista como muestra el dibujo a mano alzada.

Personas, datos e interface

El mundo del software está dividido en tres capas, personas, datos  e interfaces que unen los dos mundos. Realmente desarrollamos software para que las personas accedan a datos y la manera en la que las personas interactuan con su información son los Interfaces. Visto así podemos pasar meses diseñando la estructura de datos de una aplicación, días formando a los usuarios pero….

¿Por qué demonios le dedicamos cinco minutos a diseñar los interfaces que conectan nuestros datos con la gente que los usa?


¿Necesito un diseñador en mi empresa?

Mi obsesión por el diseño aumenta con los años y las horas que paso con Dcostas. Los debates sobre lo importante que es el diseño y el lugar que tiene que ocupar en cada organización forman ya parte de mi día a día. El mundo web se está fusionando con el mundo software pero las empresas de software tradicionales todavía no tienen presente lo necesario que es tener un diseñador en sus vidas. Cuando creas una empresa de software piensas que tipo de personas necesitas:

  • Programadores
  • Personal de Soporte
  • Consultores
  • Comercial y MK

Pocas empresas de software tienen en su cabeza al diseñador como si lo tienen las empresas del mundo web. Dentro de cinco años todos entenderán que el diseño forma parte del software, como hoy forma parte de los muebles gracias a IKEA.

.

¿Qué es un buen diseño?

Llevo un par de años profundizando en todo lo relativo al diseño, la experiencia de usuario, la usabilidad, la estética. Dieter Rams es uno de los padres del diseño industrial, asociado a la marca Braun, sus principios son adoptados por Jonathan Iven cerebro del diseño de Apple. En este genial vídeo ambos nos dan su visión sobre que és un buen diseño.

Me encanta como Dieter responde a la pregunta ¿Qué es un buen diseño?

  • Un buen diseño tiene que ser innovador.
  • Un buen diseño tiene que hacer el producto usable.
  • Un buen diseño tiene que ser estético.
  • Un buen diseño tiene que hacer el producto comprensible.
  • Un buen diseño es honesto.
  • Un buen diseño es discreto.
  • Un buen diseño es longevo.
  • Un buen diseño en consecuente en todos los detalles.
  • Un buen diseño es amigo de la naturaleza.
  • Un buen diseño es tan poco diseño como sea posible.

De la parte de Jonathan Iven me quedo con:

  • Lo diferente de un diseñador es la manera en la que miras el mundo.
  • Constantemente Miras las cosas y te preguntas ¿Por qué?¿Por qué es eso así?
  • ¿Por qué es así y no de otra manera?
  • Mucho de lo que hacemos en un producto es deshacernos del diseño.
  • Parece casi sin diseño
  • ¿Es bastante obsesivo? No crees? (es la última frase de Jonathan sobre el diseño?

Lecciones de Steve Jobs (Parte 5)

Hace tiempo que llevo escribiendo la serie de lecciones de Steve Jobs:

Lecciones de Steve Jobs

Lecciones de Steve Jobs (Parte 2)

Lecciones de Steve (Parte 3)

Lecciones de Steve (Parte 4)

En esta ocasión los consejos están centrados en la temática de Diseño.

Diseño es funcionalidad: Este es un problema común, se cree que el diseño es algo bonito, el buen diseño es funcional. El diseño es funcionalidad, no forma.

Escucha fuera de ti: Cuándo diseñes un producto, habla con la gente de tu alrededor.  Normalmente cuando estás diseñando un producto sufres el denominado efecto miopía. Te crees el padre de la criatura y es difícil que aceptes consejos sobre como educarlo y este es un gran problema de nuestra profesión, no creamos hijos, creamos productos para que usen otros. ESCUCHA.

Incluye a todo el mundo: El diseño no son sólo los diseñadores, ingenieros, programadores, marketing, administración, cualquiera puede ayudarte a crear un diseño funcional.

Crea, prueba y Error: El proceso de diseño y usabilidad, se crea a base de prueba y error, no hay otra manera. Debes probar diferentes modelos y observar donde se encuentran más cómodos los usuarios.

No te obsesiones: No hay que marcarse la obsesión de tener un producto “usable”, el producto usable debe nacer del proceso del diseño. Debes seguir el proceso paso a paso y finalmente tendrás un producto usable.