DevUX – El desarrollo de un lenguaje común

Cuando los equipos de desarrollo y de diseño trabajan juntos, se produce un encuentro de dos disciplinas que, a menudo, tienen perspectivas muy diferentes. Sina Busch, experta en UI/UX, y Axel Habermaier, experto en software, explican la forma en la que es posible encontrar un lenguaje común con la ayuda de la mentalidad DevUX e informan de sus experiencias al aplicarla en la práctica.

En el contexto de la creciente complejidad de los front-ends modernos, surgen constantemente nuevas tecnologías y marcos de trabajo, que también aumentan los requisitos y las expectativas de las interfaces de usuario y las experiencias de usuario (UI/UX). Por ello, una colaboración estrecha e intensa entre desarrolladores y diseñadores es cada vez más importante. Sin embargo, muchos siguen trabajando a la antigua usanza. El producto define las funciones, los diseñadores crean los conceptos y los desarrolladores los integran. La falta de comunicación y de interacción da lugar en seguida a un «pensamiento en silos», así como a bloqueos debidos a dependencias o interacciones, a malentendidos y, por lo tanto, a la frustración de todos los implicados. A esto hay que añadir que las dos disciplinas adoptan perspectivas muy distintas, lo que se refleja a menudo en tópicos como los que se mencionan a continuación.

Diseñador

«Todo debe tener un diseño absolutamente perfecto. No me importa cómo se aplique: ya se encargarán de ello los desarrolladores».

Desarrollador

«Lo principal es que la aplicación sea funcional. No tenemos por qué hacer un esfuerzo adicional para que todo sea además bonito».

Aunque ciertamente las circunstancias reales no son tan tópicas ni exageradas, este problema de las diferentes perspectivas también se encuentra a menudo en la práctica. Sobre todo cuando el equipo de diseño y el de desarrollo apenas interactúan entre sí, y quizá incluso trabajan en lugares diferentes, surgen «silos» de forma muy rápida.

Con el fin de evitar este pensamiento en silos y reducir la distancia entre las distintas disciplinas, en XITASO llevamos varios años trabajando en equipos interdisciplinarios y multifuncionales que están integrados por desarrolladores, expertos en UI/UX, propietarios de producto y coaches ágiles y en los que no solo existe una estrecha colaboración en el plano espacial. Porque, aunque las distancias cortas, la mayor proximidad geográfica y la comunicación intensiva mejoran de forma considerable la cooperación, las diferentes formas de pensar y las perspectivas de las disciplinas no se diluyen sin más con estos elementos. Así, como en XITASO siempre nos esforzamos por mejorar de forma constante, también buscamos formas de optimizar aún más nuestra cooperación. Y es así cómo dimos con el concepto DevUX.

El concepto DevUX

El concepto DevUX describe una cultura de colaboración entre diseñadores y desarrolladores que proporciona un conjunto de ideas y enfoques que los diferentes roles pueden utilizar para trabajar juntos en un equipo, mejorar la colaboración y, en consecuencia, acelerar el desarrollo. En este punto, como equipo, es posible alcanzar cuatro niveles diferentes de cooperación.

  • Level 0: Dysfunction
  • Level 1: Basics
  • Level 2: Efficency  Empezamos desde aquí.
  • Level 3: Symbiosis  Ahí es donde queremos ir.

En el nivel 0, no existe un lenguaje común entre diseñadores y desarrolladores. El equipo de diseño y el de desarrollo trabajan uno al lado del otro, pero por separado, por lo que existe una falta de comunicación. Los diseñadores crean la maqueta y los desarrolladores la integran sin ningún tipo de interacción, lo que rápidamente da lugar a malentendidos, bloqueos y sentimientos de frustración. Sin embargo, si aumenta la interacción y la integración de los diferentes roles en las áreas individuales, se alcanzan mayores niveles de colaboración DevUX. El nivel 3 describe pues la simbiosis completa.

En el nivel 3, el equipo diseña y desarrolla de forma conjunta, y esto se aplica a la mayor parte de todo el flujo de trabajo. Incluso la creación de la maqueta, que es en realidad la atribución del equipo de diseño, implica a un desarrollador. Y, a su vez, el diseñador o los diseñadores se integran también en el proceso de desarrollo.

DevUX en la práctica

Con nuestros equipos interdisciplinarios y multifuncionales y nuestro enfoque en la estrecha colaboración, el intercambio constante y la transparencia, en XITASO nos posicionamos en el nivel 2 de DevUX. Por eso, el paso a la simbiosis del nivel 3 nos pareció pequeño partiendo de donde partíamos. En la práctica, sin embargo, quedó claro que la colaboración todavía no era cien por cien simbiótica para nosotros y que el diseño y el desarrollo todavía no hablaban el mismo idioma, lo que significaba que todavía teníamos que aclarar multitud de aspectos. En la búsqueda de una causa para esto, nos topamos con una idea de Brad Frost 2, que divide el front-end en dos partes:

El front del front-end

Skillset

  • HTML, CSS, Design, Interaction, Patterns, Accessibility,
    Animation, Semantic Markup …

 

El back del front-end

Skillset

  • JavaScript, TypeScript, React, Angular, State Management, Functional Programming, Asynchronität, MVC, Build Tools, Architecture …

Al front del front-end y al back del back-end se les asignan conjuntos de habilidades completamente diferentes: existe un abismo entre ambos que parece casi imposible de salvar. No obstante, Brad Frost considera que los componentes consumibles de la interfaz de usuario representan un puente entre ambas partes. Por ejemplo, hay bibliotecas como Material-UI para React, que incluyen todos los aspectos de la parte delantera del front-end en componentes consumibles de interfaz de usuario que pueden utilizarse fácilmente en la parte trasera del front-end.

¿Pero cómo nos ayudan estos conocimientos en el camino hacia el nivel 3 de DevUX? Compramos la biblioteca Sketch para Material UI, con la que los diseñadores están trabajando ahora. Los componentes y la redacción son ahora casi idénticos a los componentes y a la redacción del código, lo que nos acerca mucho más a un lenguaje común entre los equipos de diseño y de desarrollo. De repente, tuvimos muchas menos consultas relativas al refinamiento de la pila, pues el vocabulario utilizado era comprensible para ambas partes. Además, cuando los diseñadores y los desarrolladores participaron en actividades conjuntas de diseño y desarrollo, también resultó notablemente más fácil intercambiar ideas y llegar a un entendimiento común.

Por supuesto, no utilizamos Material-UI en todos los proyectos, y no siempre disponemos de una biblioteca Sketch adecuada. Pero sobre todo cuando utilizamos otras bibliotecas o creamos la nuestra propia, es conveniente que los desarrolladores y diseñadores tengan en cuenta la perspectiva de la otra disciplina y encuentren un lenguaje común.

En nuestro camino hacia la simbiosis DevUX, aprendimos lo mucho que esta metodología ayuda a conocer mejor los métodos de trabajo de cada uno, así como la forma en la que podíamos crear juntos de este modo conceptos y vocabulario que eliminaran las ambigüedades y los malentendidos. En consecuencia, el trabajo simbiótico no solo es más rápido, sino que también resulta mucho más divertido.

¿Los diseñadores de UI/UX son también desarrolladores y viceversa?

Así pues, en términos de DevUX, cabe plantearnos lo siguiente: Si ahora intentamos crear un lenguaje común y entender la perspectiva y la forma de trabajar de cada uno, ¿se difuminarán los límites? ¿Son entonces los diseñadores también desarrolladores y responsables de reproducir y proyectar la parte delantera del front-end? ¿Y son los desarrolladores a su vez también responsables del diseño? ¿Necesitamos pues «híbridos», por así decirlo, que puedan hacer ambas cosas en igual medida?

Desde nuestro punto de vista, esto es casi imposible y, de hecho, tampoco es necesario debido a las habilidades tan diferentes que existen. En su lugar, en XITASO nos apoyamos en expertos de las respectivas disciplinas que, junto con los demás roles, forman nuestros equipos interdisciplinarios. Porque para nuestra comprensión de la ingeniería de software, todas estas competencias se necesitan por igual. Lo más importante en este punto es que todos los miembros del equipo estén abiertos a las demás perspectivas y formas de trabajar y, además, se muestren dispuestos a aprender unos de otros y a crear un entendimiento mutuo y común. A nuestro entender, esto no solo constituye la base del concepto DevUX, sino que también es un componente central de nuestros valores, que están anclados en el código de XITASO.

Ingeniería de software en XITASO: competencias básicas interdisciplinarias interconectadas

Nuestra conclusión

El diseño y el desarrollo son y seguirán siendo dos disciplinas diferentes dentro de la ingeniería del software que, en ocasiones, adoptan perspectivas muy distintas. Y, desde nuestro punto de vista, esto es algo bueno, pues esta subjetividad múltiple produce las mejores ideas y los mejores resultados. Para posibilitar la óptima cooperación que se necesita para ello, se precisa sobre todo una apertura completa hacia la otra actividad, así como la voluntad de aprender unos de otros y de crear un entendimiento mutuo y común. Los equipos interdisciplinarios constituyen una buena base, pero no debemos limitarnos a sentarnos unos al lado de otros, sino que debemos mostrarnos mutuamente la forma en la que pensamos y trabajamos. Solo así podremos establecer un lenguaje común con conceptos y vocabulario compartidos que, en definitiva, beneficie a todas las partes.

Autores y personas de contacto

¿Tienes preguntas, ideas o comentarios sobre este tema? Ponte en contacto con nosotros.

Dr. Axel Habermaier
axel.habermaier@xitaso.com

Fuentes y más información