Los 3 pilares de un software

Cortesía de Manu Cornet y http://bonkersworld.net/

Cuando desarrollamos un producto software intervienen diferentes roles y personas, cada uno es distinto y tiene distintas habilidades. Básicamente hay 3 pilares donde reposa un software.

Las tres patas son igual de importantes y generalmente son lideradas por un rol distinto, ninguna debería ser superior o inferior a las demás y todas deben “negociar” para que la fuerza de una cosa no hunda las demás.

En general los productos los hacemos personas y la relación de las personas es lo que al final se refleja en el producto. Esto nos lo dice muy bien la ley de Conway:

“Las organizaciones que diseñan sistemas están limitadas a producir diseños que son copias de las estructuras de comunicación de estas organizaciones.”

Es decir, si tenemos grandes diseñadores y están dirigiendo la estructura de una empresa, todos los productos serán una copia de dicha organización.

Si tenemos un gran arquitecto que dirige con mano de hierro el desarrollo, el producto resultante será un reflejo de esa situación

Si tenemos un buen equipo de negocio que conoce bien las necesidades de los clientes, el producto tendrá elementos que cubren las necesidades de los clientes.

Lo malo de estas organizaciones que si una pata pesa mucho, tendremos:

¿Y cómo conseguimos equilibrarlo?

Pues con personas, diálogo y empatía. Tenemos que entender que los 3 roles (PO, Arquitecto, Diseñador) tienen intereses diferentes, cada uno tiene un objetivo en la vida y en algunos puntos contrarios a los demás. La única forma es que se vean como iguales y entiendan las necesidades unos de otros.

Este artículo Los 3 pilares de un software es original de Velneo.