1/5 Cultura Organizacional

5 principios o buenas prácticas para lograr una buena cultura organizacional, en pos de un mejor desarrollo de software.

1/5 Cultura Organizacional
💡
Esta es la primera de 5 series sobre las capacidades y buenas prácticas que se encontraron en las empresas líderes de desarrollo de software.

1. Cultura Organizacional

Ufff... La cultura organizacional es una pieza clave, si es que no la “piedra angular” que provee el espacio y entorno adecuado para que las personas puedan desarrollar su máximo potencial para un mejor desarrollo de software.

Existen muchos estudios respecto de los distintos tipos de culturas empresariales, pero aquí utilizaremos el del psicólogo Ron Westrum. Si bien su estudio de cultura organizacional (1998) estaba enfocado en el contexto de accidentes y sus riesgos, ésto se realizaron principalmente en empresas tecnológicas de industrias como la aviación y la salud. Westrum definió 3 clases de empresas:

  • Orientadas al poder, —patológicas.
  • Orientadas a la regla, —burocráticas.
  • Orientadas al desempeño, —generativas.

Las empresas orientadas al poder se caracterizan por ejercer el temor y las amenazas. Aquí las personas tienden a acaparar o retener la información por razones políticas. O la distorsionan para quedar en mejor posición y ventaja que el resto.

La empresas burocráticas en cambio, se mueven por la regla. Típicamente cada área o departamento protege su “reino” con sus propias reglas. Es fácil de diferenciar este tipo de empresa; es cuando la regla es más importante que la misión. Hay que destacar que la burocracia en sí no es mala, pero su estructura inhibe y complejiza la colaboración de los equipos.

Por último, la empresas orientadas al desempeño o rendimiento están enfocadas en cumplir la misión a toda costa. Todas las decisiones están subordinadas al cumplimiento de los objetivos y al desempeño de los resultados.

Cada uno de estos 3 tipos de cultura empresarial tiene un efecto brutal en el flujo de la información. La información correcta, a tiempo y entendible, es crítica para la velocidad del desarrollo tecnológico, además de ser un indicador de que se prioriza la confianza y la colaboración entre los equipos. Al mismo tiempo, con mejor información se toman mejores decisiones, o, dicho de otra forma, cuando hay problemas éstos se levantan y resuelven más rápido.

Además, Westrum encontró como estas topologías de cultura organizacional estaban directamente relacionadas con el rendimiento de las empresas, y, por lo tanto, pueden considerarse como un excelente predictor sobre los resultados de la organización. Y esto aplica 100% al desempeño de las empresas en cuanto al desarrollo de software.

En definitiva, la cultura organizacional debe estar orientada al desempeño. Es evidente también que, en un buen ambiente empresarial, en que existe una cultura colaborativa y enfocada en el cumplimiento de la misión, los niveles de satisfacción laboral de los trabajadores son más altos que en aquellos organismos enfocados en la cultura orientada al poder o en el cumplimiento de las reglas.

2. Aprendizaje

Una cultura empresarial con foco en el aprendizaje se caracteriza por:

  • Habilitar las instancias de aprendizaje.
  • Apoyar las iniciativas de innovación.
  • Aprender de los errores buscando la causa raíz —y no culpables—.

Una empresa pro aprendizaje estará continuamente apoyando el crecimiento personal de los profesionales. Se permite y fomenta la asistencia a seminarios o charlas sobre nuevas tecnologías. Se apoya a cada profesional con un programa de crecimiento o ampliación de capacidades a nivel individual. Los procesos de satisfacción laboral incluyen el seguimiento y cumplimiento de los objetivos de crecimiento planteados. En el fondo existe un plan para hacer que cada profesional adquiera las capacidades necesarias para llevar adelante su trabajo.

En paralelo a este programa de crecimiento personal, las empresas fomentarán los procesos de innovación para proyectos piloto o MVP. Promover la innovación implica muchas veces no inhibir o coartar las iniciativas o esfuerzos de las propias personas. Por el contrario, los líderes o jefes de área deberán motivar y promover las ideas innovadoras. Esto fomentará la curiosidad de los equipos, y al mismo tiempo generará un valioso aprendizaje. Y esto redundará en personas más motivadas.

No podemos quedarnos con frases como “No sé como solucionarlo”, porque siempre hay formas de buscar salidas. Hay que que buscar maneras de resolver, y no quedarnos atascados con lógicas como “siempre se ha hecho así”. Se trata de avanzar y no quedarse estancado. Siempre existirán oportunidades de mejora, y hay que estar conscientes de qué cosas nos gustaría mejorar.

—Si estuvieras a cargo de Clave Única, ¿que te gustaría mejorar?
“Me gustaría que también sirviese para registrarse en sitios privados, no sólo del Estado”
—Ok bien, ¿qué más?
<<pausa>> “Mmm.. no, nada más”

No es suficiente. Existen decentas si es que no centenas de funcionalidades o mejoras que podrían implementarse en un producto como Clave Única. No podemos contentarnos en dejar las cosas como están, al menos debemos tener en consideración posibles características que podríamos incorporar en  nuestro producto.

Hay que pensar y buscar ideas. Se trata de ser busquilla y analizar qué solución le dieron otras empresas a un problema similar al nuestro. Hay que leer documentación técnica e informarse. No basta con adoptar la idea o consejo que nos dieron. Se debe comparar y analizar.

Por último, la innovación no siempre implica “rocket science”. La innovación puede ser sumamente simple, como eliminar una reunión que aborda temas que ya están en la plataforma de tickets. Eliminar un proceso redundante es simple e innovador —además de ser gratis.

El principio KISS —“Keep It Simple Stupid”— busca resolver los problemas de forma SIMPLE y no rebuscada. Pero muchas veces, hacer las cosas más simples cuestan más. Hoy en día hay exceso de información, y a muchos les cuesta tomar decisiones porque esperan tener aún más información.

Por último, cuando se produce un error o un incidente, las empresas procurarán aprender y buscar soluciones a la raíz del problema, y no buscar culpables. El aprendizaje de los errores es parte del proceso de una cultura que aprende. Y, por lo tanto, las responsabilidades no deben ser individuales, sino compartidas.

Evidentemente que las iniciativas pro aprendizaje requieren de tiempo y recursos, pero por sobre todo, requieren un acto de fe, ya que los frutos los veremos más adelante —similar a la educación de un niño—. Y, por lo mismo, en paralelo con la formación y aprendizaje, se deben buscar los incentivos adecuados para la retención del talento.

3. Colaboración entre equipos

Como mencionamos al principio, la cultura de la organización debe enfocarse en el cumplimiento de los objetivos y la misión de la empresa. La motivación debe abarcar el equipo completo, y no grupos aislados.

Se debe evitar la trinchera del área o departamento. A veces es fácil caer en la tentación de retener información con tal de mantenerse útil e imprescindible. El ser humano tiende de forma natural a acaparar cosas y a no compartirlas. Excepto si ve un beneficio mayor, con lo que se abre a colaborar de forma proactiva. Por lo mismo, es importantísimo que existan los incentivos adecuados.

Estos incentivos deben estar planteados de forma grupal y no individual. Ello potenciará la colaboración entre los equipos y áreas, lo que mejorará el flujo de información, y, por ende, aumentará la eficiencia. Disminuirán las fricciones, mejorará la cohesión, y en definitiva aumentará motivación de los equipos al perseguir de forma conjunta una meta común.

¿Qué pasa con los equipos de desarrollo Cross?

¿Qué pasa cuando los incentivos no están alineados? Algunas empresas tienen un equipo de desarrollo cross —o común—, que presta servicios a las distintas unidades de negocio de la empresa, como una especie de hub de tecnología. 

El concepto del equipo cross se asocia a compartir el recurso de desarrollo de software entre las distintas áreas. El problema radica cuando el equipo cross no comparte las metas ni objetivos de cada uno de los proyectos. Es decir, el equipo de desarrollo cross tiene sus propios objetivos, que son muy distintos a los objetivos de negocio de cada uno de los proyectos que están apoyando.

Si uno de los proyectos fracasa, al equipo cross no le importa ni se verá afectado, por que no está dentro de sus objetivos los resultados de negocio del proyecto. Seguirán trabajando en otros proyectos como si nada. 

Esto no puede ser. Los equipos de desarrollo, sean cross o no, deben compartir la responsabilidad sobre los resultados y objetivos de los proyectos en que trabajan. Luego, deben tener incentivos compartidos con el resto de los equipos.

4. Satisfacción laboral

La motivación, optimismo y energía de un equipo de trabajo no se alcanzan por la fuerza bruta, o por mandato real. Por el contrario, hay ciertas prácticas o procesos que generan ansiedad, estrés y agotamiento, y evidentemente, ello incide en la perdida de productividad.

Son muchas las variables que inciden en la satisfacción laborar. Pero en particular, el proceso de paso a producción de un servicio o aplicación es el mayor dolor de cabeza de los equipos y profesionales. Cuando un código pasa a producción, si no existe un proceso de integración continua, los equipos llevan sobre sus hombros la responsabilidad de los posibles errores. Y cuando estos procesos se realizan en horarios no hábiles, se genera una carga de ansiedad y estrés importante.

El burnout o agotamiento, es el cansancio mental, físico y emocional causado por el exceso de trabajo o estrés. No se trata simplemente de una sobrecargar laboral, sino de una especie de fatiga mental y física que impide al profesional mantener su trabajo. A veces viene con una sensación de desamparo, ya que no tiene el apoyo necesario para salir de donde está.

El proceso para alcanzar el burnout típicamente avanza lento, ya que no es algo que se gatille de un momento a otro.

Evidentemente que una persona en un estado de burnout es totalmente improductiva y golpea directamente el desempeño de la empresa. Cuando se presenta una licencia por estrés, la empresa debe asumir un costo altísimo para reemplazar al profesional.

En la industria tecnológica existe muchos casos de profesionales que literalmente “abandonan” el trabajo. Y no es por voluntad, es por un cansancio y estrés que van acumulando.

Por eso, el burnout debe prevenirse. Una práctica frecuente y necesaria, es la de limitar la carga trabajo, como se verá en el punto 21 de este listado.

Para cerrar el punto, la satisfacción laboral debe ser una métrica que se mida y se controle frecuentemente. Y, evidentemente, la empresa deberá tomar las acciones necesarias para habilitar las condiciones de un ambiente laboral seguro y atractivo para las personas.

5. Liderazgo

“The only way to do great work is to love what you do.”
Steve Jobs

Aquí queremos mencionar algunos reconocidos principios sobre el liderazgo, rol clave que debería poner en práctica quien desee ser un buen jefe de proyecto. Antes que nada, un buen líder en ningún caso representa una “bala de plata” para el éxito de un proyecto, pero sí aumentará al máximo las probabilidades de llegar lo más alto posible.

Existe muchas definiciones de las capacidades que debería tener un buen líder, que no sería lógico abordar aquí, por lo que sólo me referiré a unas pocas que me a juicio son esenciales.

Cada cual, según su contexto y realidad, podrá poner en práctica estas habilidades, que, a diferencia de otras, son factibles de adquirir a través de la práctica. Este talento se desarrolla y se trabaja a nivel individual, pero a nivel grupal estará contagiando y motivando al resto de forma positiva y optimista.

Propiedad

Quiénes lideran un proyecto, deben ser y sentirse propietarios de él. Así, un buen líder pensará en el largo plazo y no sacrificará resultados de corto plazo por el valor del largo plazo.

A veces perdemos el sentido de propiedad cuando nos desligamos de problemas que puedan estar fuera de nuestro alcance. Si se “cayó” el servidor, no podemos pensar “es un problema de operaciones”, sino más bien debemos poner todo nuestro apoyo en solucionar el problema, entender qué fue lo que ocurrió, y buscar soluciones para prevenir que vuelva a ocurrir. Estamos presentes, activos y tomamos acciones que buscan obtener lo mejor para el proyecto.

El sentido de propiedad también implica ir más allá de lo estrictamente necesario. A veces nuestro aporte será simplemente llevar una taza de café para apoyar a alguien, a quién queremos decirle “me preocupa, y estoy contigo”.

Esto también significa que a veces debemos tomar decisiones duras y complejas que no a veces no son bienvenidas, como echar personas. Y, por lo tanto, nos tocará presentar y transmitir los hechos objetivos para explicar adecuadamente nuestro razonamiento y el porqué de nuestra decisión.

Por supuesto que para que exista una verdadera propiedad, esto implica que debemos estar totalmente empoderados y contamos con el apoyo de nuestros superiores. Debemos contar con la libertad de tomar la mejor decisión según nuestro parecer, sin mediar los intereses y objetivos de otros. De lo contrario, la propiedad se diluye.

Por último, el sentido de propiedad no sólo le corresponde al líder del proyecto, sino también a quiénes participan de él. Un ejemplo de propiedad es el siguiente comentario de un profesional “secundario”:

"Yo era su QA y no debían confiarme demasiado el código porque apenas sé lo que hago, pero cuando tuvieron unas semanas malas y nos estábamos retrasados con errores, sentí que tenía que ayudar. Empecé a pasar unas cuantas horas al día arreglando errores en vez de hacer pruebas. Eran bugs bastante simples, pero sentí que era un mejor uso de mi tiempo, en lugar de encontrar bugs que nadie tenía tiempo de arreglar. Hice todo lo posible por documentar las cosas con mucho cuidado para asegurarme de que mi ayuda fuera un real beneficio".

Comunicación

La comunicación, como en todo tipo de relaciones, debe ser abierta, segura, respetuosa, paciente y empática. Todos los integrantes del equipo deben poder expresar sus opiniones sin miedo a ser ridiculizados. Un buen líder guiará principalmente a su equipo en esta dirección a través del ejemplo, pero además,  habilitando las condiciones y espacios necesarios para que cada uno se pueda expresar de forma libre y segura.

Desarrollo profesional

Otra cualidad de un buen líder es la preocupación real por los integrantes de su equipo. Esto significa un honesto apoyo para que cada uno de los miembros del equipo pueda crecer y desarrollarse profesionalmente.

Y esto implica muchas cosas. Proveerá un feedback constructivo respecto de las mejoras y objetivos que las personas deben alcanzar. Priorizará, en la medida de lo posible, los espacios de aprendizaje e innovación. Cultivará una relación amable y respetuosa, que habilite un sano ambiente laboral. Pero al mismo tiempo deberá ser exigente y riguroso para que cada uno pueda dar el máximo de su potencial. También deberá saber delegar y confiar en el equipo, de tal forma de transmitir confianza y empoderamiento.

Continuación ...

Puedes seguir leyendo la continuación en el siguiente post:

2/5 Continuous Delivery
8 buenas prácticas de Continuous Delivery presentes en las empresas líderes de desarrollo de Software.