De arquitectura y confianza

Leía no hace mucho un post en el blog de John D. Cook1 sobre aspectos de disciplina, confianza y convenciones en el desarrollo de software.  Las reflexiones al respecto terminan señalando que, para este autor, es más evidente encontrar una confianza en el seguimiento a convenciones en proyectos de software de código abierto (open source) que en proyectos empresariales, y cita algunas razones.

Desde mi particular punto de vista, creo que un factor importante es omitido. En el post indicado, las reflexiones giran en torno a las habilidades de los programadores para el desarrollo de software, habilidades que por definición tenderán a una media, a una mediocridad si así quiere verse. Pero, no es la mediocridad en la escritura de código lo que, según considero, determina el éxito o fracaso (comercial o arquitectónico) de un producto de software sino  su dirección (o la mediocridad en ésta, si así quiere verse).

El punto es que, para cuiestiones prácticas, es poco probable que pueda contarse con un equipo de programadores excepcionales en su totalidad. Tanto los buenos programadores como los malos serán excepciones a la mediocridad que impere en el equipo de trabajo. Pero, sin importar que tan malos puedan ser, son al final fuerza de trabajo que puede usarse.

Lo que realmente importa es que tan bien puede usarse esa fuerza de trabajo en las labores del trabajo, en la realización del proyecto. De aquí la importancia y valía del administrador del proyecto (líder, gerente, director… como desee llamársele). Y, de aquí surge un punto importante. Como ya he escrito en ocasiones anteriores, “es imposible administrar lo que se desconoce.”

De forma empírica (y corríjanme si me equivoco), se cree (o se sabe), que los buenos programadores son gente que destaca técnicamente pero se opaca socialmente. Por otra parte, siguiendo esa misma línea de ideas o creencias, se considera que aquella gente con hablidades sociales son buenas en ello pero malos en lo técnico. En términos de lo ya comentado, los programadores mediocres (de alguna forma darse cuenta) buscan oportunidades de éxito y promoción de forma social y política, terminando en puestos administrativos para los que aparentemente son buenos. Así, “programador mediocre” –> “gerente mediocre”. Como apunto, si se desconoce la actividad a administrar, resultará muy difícil poder sacar el mejor provecho de los recursos disponibles para realizar un proyecto.

Al final hablamos de liderazgo. Un líder puede equivocarse, pero nunca titubear. El desconocimiento de algo lleva a cometer errores pero igualemente a titubear. De aquí la importancia en la confianza.

Referencias

  1. John D. Cook, “Software architecture as a function of trust,” blog, posted: 2011.05.26; consulted: 2015.04.22. URL: http://www.johndcook.com/blog/2011/05/26/software-architecture-and-trust/.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.