Semillas

La conformación de equipos es una actividad fundamental para el desarrollo de software, que suele quedar olvidada entre nuestras preocupaciones técnicas y de gestión. Y sin embargo, todos los problemas de un proyecto son de índole humano...

Hace ya un tiempo que en nuestro equipo empezamos a aplicar The Core, un conjunto de protocolos y prácticas para la conformación de equipos efectivos. Y es una perspectiva totalmente distinta para ver a los equipos, algo que transformó completamente mi visión del desarrollo de software.

Nuestra experiencia con The Core

Hace ya cinco años que estamos avanzando con nuestro equipo de desarrollo. Mirando para atrás puedo decir que pasamos por tres grandes etapas.

Comenzamos como un equipo Java, queríamos crear buenos productos (¿quién no?). Sin embargo, y como suele pasar, no teníamos intención de programar bien. Es decir, no hacíamos nada concreto por mejorar nuestra forma de programar, más allá de las ganas cada persona ponía. Fue entonces que decidimos enfrentar nuestro problema técnico. Y allí arrancamos a investigar varias prácticas de Extreme Programming. Queríamos crear software con calidad técnica.

Un tiempo después fuimos conscientes de la necesidad de gestionar con intención, de poder acercarnos más al cliente. Empezamos a entender que las características de un Producto (el software) van mucho más allá de lo técnico. Así empezó nuestra implementación de Scrum. Queríamos gestionar software con calidad.

Y sin embargo todavía nos faltaba cubrir un aspecto, que además es el más importante. Y es que las mejores prácticas y los mejores procesos no son nada si las personas no los entienden, no los aplican, o no se comunican con calidad entre ellas. Toda la creación del software (en todos sus aspectos) pasa por la interacción de personas, por sus relaciones. La creación de software ocurre en equipos, es por esto que debemos crear personas antes de crear software. ¿Y qué estamos haciendo por nuestros equipos? ¿Cómo los conformamos? ¿Qué herramientas les damos para que se comuniquen mejor? ¿Cómo hacemos que alcancen su máximo potencial?

Fue entonces que encontramos The Core, que pueden leer en detalle en el libro Software for your head, de Jim y Michele McCarthy. The Core se basa en cómo las personas se relacionan e interactúan en equipos: una vez comprendido esto, podemos avanzar entonces hacia crear formas de interacción efectivas, que maximicen el potencial de cada persona del equipo. En el fondo, The Core busca crear personas felices, que ayuden a su equipo a crear los mejores productos posibles.

En este camino que estamos haciendo, encontramos que The Core y el Coaching Ontológico tienen muchos puntos en común. Y es que ambos tratan, en definitiva, sobre las personas, sus relaciones y deseos.

¿Qué es The Core?

The Core es un conjunto de protocolos y prácticas para la conformación de equipos efectivos.

Los protocolos de The Core son "mejores prácticas" para las personas, equipos de personas y organizaciones que quieren obtener grandes resultados - todo el tiempo. Son "Core" (núcleo) porque son fundacionales - pueden ser usados por todos los equipos, en todo lugar, incluso si ya tienen patrones organizaciones y mejores prácticas propias. Son "protocolos" porque nombran y prescriben formas de interacción entre las personas (comportamiento), que resultan predecibles, como los "protocolos" que se usan en la diplomacia.

Entonces, los protocolos de The Core:

  • son tácticas que las personas pueden usar para obtener mejores resultados
  • los pueden usar individuos, equipos y organizaciones
  • son de "Software Libre" y "versionados" (se mejoran con el tiempo), al igual que el software

Suena interesante, ¿no?

La wiki de The Core en Dos Ideas

Modificamos la portada de la wiki para reflejar esta perspectiva nueva. Ahora tenemos lo que para mi son las 3 patas del desarrollo de software: 

Estamos de a poco completando esta última sección, basándonos en nuestra experiencia con el equipo. Para empezar ya tenemos una traducción completa al español de The Core Protocolos v 3.02, junto con algunos detalles para algunos de los protocolos.

Estoy convencido que primero debemos construir personas y conformar equipos, para luego poder encarar el desarrollo del software. Sin Grandes Equipos no podremos crear Grandes Productos. Y por otro lado, un Gran Equipo será capaz de construir un Gran Producto, que nos sorprenderá y hasta cambiará nuestra propia definición de grandeza.

No estamos lidiando con computadoras, con impresoras, con tecnologías. Estamos tratando con personas, con sus relaciones, con sus deseos. Resulta ser el desafío más importante y dificil de Sistemas. Y también el más apasionante. ¿Se prenden?

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw