archivo

Archivo de la etiqueta: Charles Eames

Sabemos que el desarrollo de software está sustentado por personas y que todo resulta mucho más sencillo (pero no por ello es necesariamente garantía de éxito) si la comunicación e interacción entre ellas es óptima.

No se trata solo de tener actitud sino que la misma esté fundamentada en el convencimiento de que el camino que se está tomando es el correcto o, lo que es lo mismo, que las ideas estén alineadas, independientemente de que se discrepe o haya matices en actuaciones puntuales.

La siguiente reflexión de Charles Eames muestra la clave: “Finalmente todo conecta – personas, ideas y objetos. La calidad de las conexión es la llave de la calidad”.

Cuando existe conexión, lo notas, lo sabes, el proyecto se beneficia de ello. Cuando no la hay, vas directo al precipicio. En medio, toda una gama de grises.

Mantener la conexión es muy difícil porque las personas somos complejas, cometemos errores, vemos las cosas de distinta manera y nuestro estado de ánimo depende de una infinidad de variables.

Si a nivel individual somos complejos, cuando hablamos de relaciones entre grupos de personas, la dificultad crece exponencialmente. Si a eso le sumas la presión del proyecto y/o de tus jefes, todo se hace más cuesta arriba.

Pero no es imposible, por lo que nuestro objetivo debe ser llegar y preservar esa situación de equilibrio porque todo es más fácil cuando hay entendimiento y se persigue un objetivo común.

Es importante diferenciar entre reconocer la necesidad y crearla. Lo primero es positivo, lo segundo solo es interesante si tu misión es vender productos o servicios.

En el desarrollo de software menos suele significar más e incrementar la complejidad de un sistema por incorporarle necesidades que no son reales no da buenos resultados.

Reconocer la necesidad es tener la capacidad de interpretar las expectativas del usuario. Es muy complicado conseguirlo a la primera, requiere su tiempo, se necesita conocer al usuario, a su negocio, realizar varias iteraciones y a partir de ahí empezar a crecer.

Una conocida cita de Charles Eames dice lo siguiente: “El reconocimiento de la necesidad es la primera condición para el diseño”.

La clave, por tanto, es la intención. Una cosa es que el universo de expectativas tarde en conocerse (e interpretarse) y otra es que desde un primer momento no intentemos hacerlo lo mejor posible con la información que tengamos. Si no se tiene suficiente información para acometer un desarrollo, aunque sea una primera iteración, lo mejor es esperar a adquirir algo más de conocimiento para empezar a reconocer cuáles son esas necesidades.

Os recomiendo la lectura del artículo: “Preparando el primer sprint“.

El principio de Pareto no suele fallar, el 80% del objetivo se consigue con el 20% del esfuerzo. Saber donde parar es importante, no solo por el ahorro económico sino también por la propia calidad del producto.

En cualquier caso, el producto final que satisface las expectativas del usuario estará por encima de ese 80% y ahí es donde el peso de los detalles crece exponencialmente.

Y si algo tiene el desarrollo de software son detalles, si algo marca la diferencia son los detalles. Un solo detalle, una sola instrucción mal codificada puede dar al traste con la implantación de un sistema en los plazos marcados y esto puede suponer mucho dinero y pérdida de confianza.

Charles Eames, en otro campo donde los detalles son importantes, como la arquitectura y el diseño, tuvo un gran acierto con la siguiente reflexión, perfectamente aplicable al desarrollo de software y a otros muchos ámbitos: “Los detalles son los detalles. Ellos hacen el producto”.