Comprender por qué no se ofrecen determinadas funciones a menudo puede resultar un desafío. La dirección podría culpar a los equipos técnicos, mientras que los equipos técnicos señalan con el dedo a la dirección. Mientras tanto, el lado empresarial está atrapado en el medio, tratando de identificar la causa raíz mientras presiona para obtener resultados independientemente de las circunstancias. Este escenario suele surgir después de un crecimiento significativo de la empresa o cuando problemas anteriores, que antes eran fáciles de solucionar, se han descuidado con el tiempo. Es un error común pensar que todos los problemas en una empresa de tecnología son puramente técnicos; Esto está lejos de la verdad.
En este artículo, describiré áreas dentro de la organización de una empresa que pueden obstaculizar significativamente la entrega de funciones. También sugeriré instrucciones para investigar para identificar las causas fundamentales, que luego pueden escalarse o resolverse dentro de su nivel de autoridad.
Es fundamental comprender nuestro entorno de trabajo antes de implementar cualquier cambio o mejora. Aunque se han escrito muchos libros esclarecedores sobre este tema, no todos los enfoques se adaptarán a todas las empresas. Esto no es un reflejo de haber hecho algo mal, sino más bien un reconocimiento de la naturaleza única de cada empresa.
Una nota importante es que los conocimientos compartidos aquí están relacionados principalmente con el desarrollo de software y son más aplicables a empresas o departamentos con 50 o más empleados.
En primer lugar, comprenda el tamaño y la estructura de su empresa. Identifique los distintos departamentos y aclare sus expectativas de cada uno. Valorar si todos estos departamentos son necesarios. Cree un diagrama de la estructura organizacional, detallando cada departamento y sus funciones, asegurándose de comprender qué hacen y por qué existen. A menudo, cada departamento consta de varios equipos; inclúyalos también en su diagrama, pero no los describa por ahora, solo permanezcan en los nombres de los equipos.
A medida que las empresas crecen, las estructuras organizativas pueden volverse complejas, lo que dificulta el seguimiento del progreso. En esta complejidad, es posible que se pierda de vista la lógica original detrás de la creación de ciertos departamentos o equipos. Es posible que se hayan creado algunos equipos para abordar problemas que ya no son relevantes. Aquí, cómo puede verse a alto nivel.
Una vez que tenga un diagrama claro de su estructura organizacional, ¿qué sigue?
A continuación, es esencial trazar la jerarquía de sus empleados. Comprender quién reporta a quién y por qué es crucial. Los gerentes de línea necesitan comunicarse efectivamente con sus subordinados, ya sea que administren una gran unidad de negocios o un equipo pequeño. La comunicación debe ser clara, ya sea en lenguaje técnico o comercial, ya que manejar ambos puede ser un desafío. En empresas más grandes, puede haber gerentes directos y funcionales con distintas áreas de responsabilidad, que deben estar claramente representadas en su diagrama jerárquico.
Una jerarquía de empleados no solo aclara las líneas jerárquicas sino que también ayuda a identificar verticales dentro de la organización. Las verticales son estructuras jerárquicas que sirven como recursos compartidos entre múltiples departamentos, como diseñadores, recursos humanos, DevOps e incluso desarrolladores. Si bien las verticales pueden ser muy beneficiosas, a veces pueden convertirse en cuellos de botella, particularmente cuando los desarrolladores trabajan en diferentes proyectos e informan a gerentes que no están familiarizados con los objetivos comerciales o los desafíos técnicos. Como resultado, los desarrolladores no reciben la retroalimentación adecuada y los gerentes no tienen el contexto adecuado. Por lo tanto, comprender la jerarquía es vital para identificar y analizar posibles problemas o priorizaciones de las tareas. Al final tendrás algo como esto.
Anotación
Director ejecutivo - Director ejecutivo
CPO: director de productos
CTO: director técnico
Director de operaciones: director de operaciones
HD — Jefe de Diseño
PO - Propietario del producto
HE - Jefe de Ingeniería
HS — Jefe de Ventas
HM - Jefe de Marketing
D-Desarrollador
PM - Gerente de Producto
TL - Líder tecnológico
EM — Gerente de Ingeniería
S - Gerente de Ventas
M - Comercializador
Compare su estructura organizacional con sus líneas jerárquicas para obtener información sobre la participación de cada empleado en diversas actividades. Además, alinear su estructura organizacional con la jerarquía de empleados puede ayudar a determinar si las personas están trabajando dentro de los mismos departamentos y equipos y hacia un objetivo común. La plantilla de mapeo depende totalmente de usted, pero podría gustarle esto.
Es importante definir claramente el área en la que opera cada equipo. Si un equipo trabaja con código, especifique los servicios que utiliza y los que posee. Sorprendentemente, a menudo pueden ser diferentes. Determine si el equipo opera únicamente dentro de un departamento o si es un equipo de plataforma que trabaja en funciones principales utilizadas por otros equipos sin alterarlas directamente.
Crear una tabla puede ser muy útil, con las siguientes columnas: nombre del equipo, departamento, lista de servicios propios, lista de servicios generales que el equipo puede modificar pero que no posee (idealmente, no debería haber dichos servicios) y una breve descripción. . Esta tabla le ayudará a examinar si varios equipos están trabajando en la misma base de código, lo que genera conflictos o si hay una falta de claridad con respecto a sus áreas de responsabilidad. También puede revelar si un equipo se dedica principalmente a corregir errores o a incursionar en diversas tareas sin un enfoque claro.
Este nivel de detalle es crucial para identificar superposiciones, conflictos y brechas en las responsabilidades del equipo, lo que garantiza una colaboración más fluida y una ejecución más eficiente del proyecto.
Además de describir los equipos, es fundamental comprender los puestos generales de los empleados y preparar una descripción detallada de sus responsabilidades. A menudo, lo que la dirección imagina puede diferir significativamente de lo que los empleados realmente hacen. La industria del desarrollo de software tiene una variedad de posiciones y las expectativas pueden variar mucho de una empresa a otra. Por ejemplo, el rol de un gerente de ingeniería puede variar ampliamente, sin mencionar roles como gerentes de entrega, científicos de datos, arquitectos, líderes técnicos, etc. En algunas empresas, se puede esperar que una sola persona desempeñe múltiples funciones.
Establecer expectativas claras para cada puesto es esencial. Esta claridad no sólo ayuda a realizar un seguimiento adecuado de las actividades, sino que también garantiza que los empleados comprendan lo que se espera de ellos y lo que queda fuera de su alcance. Esto se aplica a todos los puestos dentro de la organización. Las definiciones claras de funciones ayudan a evitar superposiciones, reducir la confusión y garantizar que todos trabajen para alcanzar objetivos comunes de manera eficiente y organizada.
A estas alturas, debería tener una comprensión clara de la estructura de su empresa, la jerarquía de los empleados y sus responsabilidades. Aunque las cosas puedan parecer confusas, el objetivo es comprender primero el estado actual antes de realizar cambios. Ahora es el momento de describir su proceso de entrega de funciones: cómo las funciones comerciales pasan de la idea inicial a la producción.
Por favor, no se centre aquí en los aspectos técnicos como CI/CD, sino en el flujo de la empresa a los desarrolladores, asumiendo que los desarrolladores escriben el código y lo implementan directamente en producción. El objetivo es identificar cualquier problema en su proceso, desde la empresa hasta el equipo, y ver qué tan bien los empleados se alinean con él.
Considere estos aspectos:
Recuerde, cada nivel de gestión y presentación de informes añade complejidad e incertidumbre, independientemente de la dirección. En última instancia, su diagrama de proceso debería responder a una pregunta simple: "¿Cómo?"
Puedes jugar con las plantillas y ajustarlas a tus necesidades. Aquí hay un ejemplo de muy alto nivel de un proceso de entrega sin actores clave que regule la entrega pero con plazos.
Si no está seguro de cómo crear este diagrama, considere utilizar BPMN (modelo y notación de procesos de negocio) o un formato más simple como rectángulos y líneas para garantizar la claridad y la comprensión entre todas las partes interesadas. La clave es hacer que el proceso sea claro y comprensible.
Una vez que haya trazado la estructura de la empresa, la jerarquía de los empleados, los equipos y las responsabilidades de los puestos, y el proceso de entrega, comparta todos sus hallazgos con la organización y realice una encuesta, preferiblemente anónima. Esta línea de base destaca cómo opera su empresa. Si bien es posible que haya preparado esta descripción general usted mismo o haya delegado algunas tareas, es probable que los desarrolladores, diseñadores y analistas no hayan participado directamente. Sus comentarios son cruciales para evaluar la precisión de sus hallazgos.
Pida a los empleados que evalúen la calidad de su documentación. ¿Qué piensan sobre el proceso de entrega? ¿Refleja realmente cómo se hacen las cosas? ¿Dónde ven impedimentos?
Espere una variedad de quejas y comentarios que lo ayudarán a refinar sus hallazgos para que coincidan mejor con la realidad de las operaciones de la empresa. Esta retroalimentación es vital ya que el contexto a menudo se pierde a través de múltiples niveles de jerarquía, y la recopilación de aportes de todos los niveles proporcionará una imagen más clara y precisa de la organización.
Ahora que tiene una descripción completa de cómo operan su empresa o departamentos, puede comenzar a analizar y buscar posibles problemas. Esta línea de base proporciona un punto de partida claro para comprender y resolver problemas.
Aquí hay algunas áreas en las que centrarse:
Al final, puede preparar una lista de los problemas reales que tiene su empresa, eso es algo en lo que trabajará. Priorícelas desde las críticas que requieren una interacción inmediata hasta las mejoras "buenas para tener".
Quizás se pregunte: "Todo esto suena genial, pero ¿cómo puedo mejorar las cosas?" Esa es una buena pregunta y la respuesta honesta depende de los problemas específicos que identifique y de las necesidades de su negocio. Sin embargo, un consejo crucial es evitar intentar cambiar todo a la vez. En su lugar, implemente pequeños cambios de forma incremental, evalúe los resultados y repita. Recuerde, el enfoque ágil no sólo funciona en el desarrollo de software sino que puede aplicarse a cualquier tipo de cambio organizacional.
Aquí hay algunos pasos para guiar su proceso de mejora:
Si sigue estos pasos, podrá realizar cambios incrementales informados que mejoren gradualmente la eficiencia y eficacia de su organización.
Mi objetivo era resaltar problemas comunes que pueden surgir en cualquier empresa o departamento. Evité intencionalmente recomendar marcos o enfoques específicos porque cada empresa tiene objetivos y estructuras únicos, y es crucial decidir qué funciona mejor para usted.
Nuevamente, es fácil echarle la culpa a los desarrolladores, pero recuerde, es posible que no estén al tanto de las prioridades comerciales o que se vean bloqueados por un proceso de entrega poco claro. A veces, el propio negocio crea obstáculos de forma inconsciente. Espero que este artículo ayude a dar los primeros pasos hacia la mejora.