Oracle_One-Alura_Latam/007_business_agility/README.md

22 KiB

Business Agility

Formación

Fundamentos de Agilidad

Curso

  • Waterfall vs. Agile

    Es necesario que los requisitos/documentación sean aprobados y acordados con el cliente, así como por el responsable del proyecto. Una vez aprobado este documento, el flujo para lograr el objetivo no cambiará, tampoco su alcance.

    En Waterfall, cuando dividimos el modelo en etapas, la primera está orientada para disparar la segunda, y así sucesivamente. Con esto, se excluye la posibilidad de hacer algún cambio.

  • Priorización ¿qué es la priorización y cómo podemos definirla?

    La priorización es el proceso de determinar la tarea con mayor importancia y urgencia.

    • Importancia: debe ser claro cuál es el objetivo que esa tarea ayudará a alcanzar.
    • Urgencia: la actividad tiene un plazo corto de entrega.

    El criterio para determinar la priorización de actividades depende del contexto de la empresa, del momento, del tipo de proyecto y del cliente. Sin embargo, independientemente de esto, generalmente debemos priorizar aquello que genera un mayor retorno financiero.

  • Flujo de ejecución

    1. El proyecto y el objetivo final deben ser establecidos para que el problema sea resuelto de manera rápida y eficaz.
    2. Dividir en pequeñas metas. Determina la tarea que debe ser resuelta con mayor prioridad, conservando un flujo enfocado en lo que más importa.

  • Retroalimentación

    Es la tercera diferencia más relevante entre Agile y Waterfall.
    Son las evaluaciones y críticas sobre los resultados obtenidos, sean positivas o negativas, colaborando para el crecimiento de la empresa.

    Primero, es necesario priorizar las tareas. Después de priorizar, se debe definir el plan/flujo de trabajo, para lograr dividirlo en etapas.
    Cuando se completa una etapa, es importante obtener retroalimentación de tu cliente. Con esa entrada (retroalimentación) es posible hacer cambios en el flujo hasta eliminar tareas que ya no sean necesarias.

  • ¿Que es ser ágil?

    Ser ágil significa entregar valor rápidamente, tener un abordaje enfocado en lo que genera más valor; es decir, cuando algún cliente tiene un problema, debemos ofrecerle entregas parciales de acuerdo con sus necesidades. Estos ciclos rápidos de entrega hacen que la retroalimentación sea constante para mejorar el servicio/producto, alcanzando mejores resultados al final del proceso.

  • Manfiesto Agile

    Fue escrito en 2001. Su objetivo era descubrir cuáles eran las semejanzas entre los diversos procesos de desarrollo de software basado en la experiencia de quienes lo escribieron, y qué logra que los clientes queden satisfechos. A partir de ahí llegaron a 4 valores:

    1. Individuals and intreactions OVER Processes and tools:
      Las interacciones entre individuos son más importantes que los procesos y herramientas; es decir, la manera como un equipo trabaja impacta directamente el desarrollo de lo que será producido.
    2. Working software OVER Documentation:
      Tener software funcionando es más importante que documentación detallada.
    3. Customer collaboration OVER Contract:
      La colaboración del cliente es más importante que la negociación del contrato; es decir, la proximidad es esencial para que la retroalimentación tenga mayor valor y lograr que eso impacte el flujo de trabajo.
    4. Responding OVER Following a plan:
      Responder a los cambios es más importante que seguir un plan.

  • Cases

    Con el uso de métodos ágiles a partir de cases, logramos observar diversos resultados dentro de pequeñas y grandes empresas. Esto no implica un simple copy y paste de prácticas de agilidad que fueron tomadas de otras organizaciones: el que hayan generado un buen resultado no implica que la fórmula funcionará en todas. Se debe analizar y entender por qué determinada empresa aplicó cierta característica ágil, qué buscaba resolver con ello y analizar los factores dentro de cada empresa antes de implantar la misma metodología en tu equipo.

Alura Blog - Que es la metodología ágil

El ambiente ágil

Gestíon ágil

Gestíon Tradicional

La gestión tradicional pudo haber funcionado durante mucho tiempo, pero hoy comienza a dar señales de que está perdiendo espacio, ya que está relacionada con un ambiente de baja autonomía, bajo nivel de engagement y poca motivación, que tienen un impacto directo en el nivel de éxito de los proyectos.

VUCA

  • Volátil: algo que hoy se da por hecho puede ser diferente mañana.
  • Incierto: hay muchas dudas para lograr resolver los problemas.
  • Complejo: la solución no tiene necesariamente una estructura clara.
  • Ambiguo: lo que funciona en cierto contexto puede ser inútil en otro similar.

Es necesario reducir el tiempo en el que se obtiene retroalimentación por parte del cliente para actuar lo más rápido posible.

Motivación

Como lo decía Ricardo Semler: "Los miedos e inseguridades crean las estructuras de nuestras empresas". Para atacar este problema, podemos basarnos en los 3 pilares de la confianza:

  • Dar autonomía: puedo hacer las cosas de la mejor manera que considero sea la mejor.
  • Tener propósito: todo lo que hago tiene un claro propósito con el que estoy de acuerdo.
  • Volverse experto: la empresa me da espacio para mejorar en lo que más gusta hacer.

Liderazgo

En un ambiente ágil, el liderazgo emerge naturalmente entre las personas, en paralelo a las habilidades mostradas para aquella posición y también dentro de ese momento del tiempo.

Además, el liderazgo es situacional; es decir, funciona en un contexto específico y no es fijo, por lo que puede cambiar conforme sea necesario.

caso spotify

Empoderar y delegar

Delegation Poker

  1. Ordenar
  2. Vender
  3. Consultar
  4. Consensuar
  5. Aconsejar
  6. Informar
  7. Delegación completa

Generalmente, las personas en un alto nivel jerárquico poseen un mayor conocimiento e información de todo el contexto; sin embargo, estos datos son más abstractos. Mientras tanto, en un nivel jerárquico más bajo hay muchos más detalles, pero la visión está un poco más limitada.

El secreto de un buen proceso de toma de decisión se basa justamente en encontrar el equilibrio respecto a ese conocimiento. Delegation Poker es una forma de mapear las decisiones y el nivel de empoderamiento dentro de las organizaciones.

Retroalimentación y conocimiento

La retroalimentación genera conocimiento y logra el crecimiento de la persona, haciendo que salga de una etapa de habilidad inconsciente y logrando que sea consciente de ella, con lo que será capaz de adquirirla.

Por ello, la retroalimentación debe ser llevada a cabo con cuidado: considerar el contexto, dar hechos, tomar en cuenta los valores y hacer preguntas poderosas requieren ser usados siempre dentro del proceso. Esta herramienta genera conocimiento para la organización.

Mejoras

Kaikaku: Un gran cambio, una vez.
Kaizen: Pequeños cambios, de forma gradual.

Metodologías ágiles:

Scrum

  • Sprint y backlog
  • Roles
  • Ceremonias/Rituales
  • Jira

Kanban

  • Visibilidad, todos son lideres
  • Etapas
  • Jira, Trello, notas

Recibir retroalimentación es fundamental para acompañar el proceso de mejora continua. Kaizen es una de las herramientas útiles para ello.

Lectura: Personal maps

La empresa ágil

Al eliminar burocracias innecesarias en los procesos, es posible hacer que una organización sea más adaptable a los cambios, porque cuando un cambio es necesario, será menos traumático, ya que habrá menos barreras para el cambio.

Cuando hablamos de agilidad, eso es exactamente lo que queremos, una mejor adaptabilidad a los cambios y no, como las malas interpretaciones que ocurren, hacen que un entorno sea más rápido.

Identificando la complejidad

Los problemas se dividen básicamente en dos grupos: Intelectivo o Subjetivo.

Los problemas subjetivos son aquellos que tienen más de una forma de resolverse y solo sabemos si la forma utilizada fue la más correcta después de intentar resolverlo. Cuantos más problemas subjetivos tengamos, más complejo podemos decir que es el entorno que estamos mapeando.

Por otro lado, un problema intelectual es aquel en el que identificamos una única forma posible de resolverlo y esa forma ya está probada y comprobada. Esto hace que un entorno que tiene más procesos y problemas intelectuales sea menos complejo.

Se comentan estructuras de organización

Radiografía de una empresa

Cuando buscamos un entorno más ágil para nuestra corporación, uno de los principales desafíos que encontramos es reducir los silos existentes entre las áreas.

Los silos son aquellas áreas que operan de forma independiente entre sí y que muchas veces generan incluso desalineación en el negocio (una compitiendo y no colaborando con la otra).

Aprendimos que para reducir estos silos, necesitamos hacer que estas áreas comiencen a integrar sus procesos co-creándolos y generando un compromiso entre ellos, reduciendo burocracias y mediante metas compartidas.

Finalmente, incluso es posible romper estos silos creando estructuras multidisciplinares, que simplifican las burocracias, hacen que las áreas sean más conocedoras y, en consecuencia, más ágiles.

Enfoque en la generación de valor

Las empresas ágiles tienen un enfoque muy fuerte en generar valor para el negocio.

Una forma de mapear dentro de la organización cuáles son las unidades que generan valor es identificar las unidades de valor más pequeñas, es decir, un grupo mínimo de funciones e iniciativas que trabajando en conjunto pueden hacer que un producto o iniciativa genere un resultado para el negocio.

Este mapeo es importante para encontrar posibles silos existentes y mapear qué puntos de integración entre áreas pueden causar cuellos de botella que impiden que una empresa sea realmente ágil.

Como aprende una empresa a ser ágil

Learning 3.0, aprendizaje emergente.

  • Comprendiendo el contexto.
  • Problematizar, Encontrar los problemas.
  • Investigar posibles soluciones.
  • Conectar, soluciones con la realidad de la empresa.
  • Practicar soluciones.
  • Compartir soluciones y resultados.

Cuando hablamos de un proceso de transformación ágil, no hay recetas. No hay procesos mágicos que solucionen nuestro problema. Todo debe contextualizarse dentro de la realidad de la empresa y pensando en lo que es factible para este entorno.

Management 3.0

  1. Energizar personas Para que la estrategia sea exitosa, es importante involucrar a las personas y mantenerlas siempre creativas y motivadas para hacer lo mejor.
  2. Capacitar personas Los equipos deben estar autoorganizados y, por lo tanto, necesitan autorización y confianza de la gerencia.
  3. Alinear restricciones Si bien se alienta a los equipos a autogestionarse, es importante traer reglas y limitaciones para que una mayor libertad no se vuelva tóxica para la empresa.
  4. Desarrollar habilidades Un equipo, dado que se autoorganiza, también debe ser autosuficiente. Por esta razón, es necesario capacitar a los empleados y también se pueden crear equipos multidisciplinarios, en los que todos puedan hacer su parte para avanzar en un proyecto.
  5. Aumentar las estructuras Con un mayor enfoque en la comunicación y la colaboración entre equipos, se fomenta un crecimiento consciente del negocio con un enfoque en la calidad.
  6. Mejorar todo Finalmente, se buscan mejoras constantes y los errores deben verse como oportunidades de mejora. Con esto, es posible apalancar el negocio de una manera sostenible y predecible.

Lectura: Trabajar en una StartUp

Organización de equipos ágiles

El equipo ágil

En un equipo ágil, todo el conocimiento necesario para que el proyecto evolucione está dentro del mismo equipo. Esto significa tener un equipo multidisciplinario, que puede involucrar en el mismo equipo: vendedores, marketing, desarrolladores, infraestructura, RRHH, etc. Por supuesto, cada una de estas personas y áreas tendrá un rol diferente en el proyecto y en el futuro aprenderemos qué roles pueden existir.

Pero el punto principal es: todo lo que el proyecto necesita en conocimiento para evolucionar, debe estar dentro del mismo equipo.

Diferencia entre Modelo Waterfall o Cascada y Agile

Modelo en cascada: favorece los problemas de comunicación (el famoso teléfono inalámbrico), con la necesidad de muchos documentos y protocolos, muchos traspasos entre equipos y, con ello, la validación de todo lo que se construyó durante el proceso de desarrollo de un proyecto solo ocurre al final. Por otro lado, existe un enfoque muy fuerte en la especialización de las personas.

Modelo ágil: en un equipo ágil, todas las personas que participarán en el desarrollo del proyecto confluyen en todas las etapas de este proceso, siendo un solo equipo. Se centra en la inspección y adaptación de productos, la transparencia y la eficiencia.

Auto-organización

La auto-organización es justamente lo opuesto al mando y control.

Las premisas básicas e imprescindibles para que un equipo se autoorganice es tener:

Objetivo compartido Definir el objetivo en el que todos los miembros del equipo participarán en el desarrollo del proyecto de forma compartida
Timebox Tiempo necesario para que la autoorganización funcione
Restricciones Lo que no se debe hacer en el desarrollo del proyecto

Por ejemplo: se le asignó la tarea de organizar la fiesta de vacaciones de su empresa para 150 personas.

¿Qué objetivos se necesitaban alcanzar, en cuánto tiempo (timebox) y qué restricciones implican?

En este caso, tendríamos los 3 elementos:

  • El objetivo: organizar la fiesta de la empresa.
  • Timebox: debe suceder en Noviembre.
  • Restricciones:
    • El presupuesto es de $30.00 por persona.
    • Cada colaborador solo puede llevar a un invitado.
    • La fiesta tiene que ser durante la tarde. Tiene que suceder en la ciudad de la empresa, para facilitar los desplazamientos.

Con esta información, el propio equipo se organizará para lograr el objetivo determinado.

Tipos de equipos ágiles

Existen tres tipos de equipos que están presentes en los ambientes ágiles:

Equipos de funcionalidad que se enfoca en maximizar el valor en la entrega de un feature. Componente, Equipo que tiene como foco optimizar un solo elemento. Y jornada del cliente, grupos con comportamientos similares.

  • Funcionalidades: Ese equipo se organiza en torno de una funcionalidad y se preocupa en maximizar el valor en la entrega al usuario para una mejor experiencia posible. El equipo necesita ser multidisciplinario, ya que necesita trabajar en diversos puntos en el código.
  • Componente: este equipo funciona muy bien para hacer optimizaciones locales; sin embargo, puede ser crítico alterar un componente, ya que puede ser usado en diversas funcionalidades, además de garantizar la sincronización de los componentes que fueron alterados.
  • Jornada del cliente: este equipo se enfoca en grupos de clientes que poseen comportamiento o necesidades semejantes.

Esquipo Scrum

El equipo de Scrum es un grupo de personas que tienen como objetivo hacer productos excepcionales, y para que eso suceda, son necesarias 3 responsabilidades:

  • Eficaz (Product Owner): responsable de asegurar que el producto a desarrollar tenga sentido para el mercado. De nada sirve producir el mejor producto si no tienes un cliente para él.

  • Calidad (Dev. Team): responsable de asegurar que el producto elaborado sea el correcto para ese mercado específico y público objetivo.

  • Eficiencia (Scrum Master): responsable de asegurar que el equipo opere de la mejor manera posible.

Es decir, que un equipo ágil se organiza de manera que cuenta con personas que se encargan de asegurar que el producto a desarrollar esté alineado con lo que espera el mercado, que la calidad y tecnologías empleadas estén siendo adecuadas y además por personas responsables de asegurar que el equipo funcione de manera eficiente, sin cuellos de botella.

El product owner

¿Qué es Product Owner?

Es el responsable del rol de Product Owner tiene el desafío de maximizar el valor que ese producto generará para el negocio.

Para ello, el PO, además de tener un alto enfoque y sentido de pertenencia, deberá dialogar frecuentemente con el resto de áreas que forman parte de la empresa, para entender cuáles son los puntos clave frente a los dolores de los clientes y conocer a profundidad el producto y mercado en el que opera la empresa.

¿Cómo es la vida diaria de un PO?

En su vida diaria, el PO tendrá que describir lo que se debe hacer y para eso es necesario hablar con otras áreas para comprender las necesidades y también lo que se puede o no se puede hacer. Además de priorizar lo que se necesita construir, el PO a menudo tendrá que decir no a las características que agregan menos valor al negocio o proyecto en ese momento.

Ser Product Owner implica mantener interacciones de influencia continua con distintos actores clave dentro y fuera de la organización, situándolo en una posición panóptica del sistema y que por lo tanto facilita entender cómo las decisiones impactan en los resultados deseados.

Extracto de lectura

Development team

Un equipo de desarrollo está compuesto por personas que pueden ser:

  • Especialista: alguien con profundos conocimientos sobre cualquier tema.
  • Generalista: una persona que sabe un poco de todo, pero no tiene un contenido profundo.
  • En forma de T: alguien con experiencia en algo, pero con conocimientos generales en otras cosas.

Es común en el mercado de áreas no tecnológicas que utilizan métodos ágiles. Más aún, en estos momentos cuando las empresas están pasando por un proceso de transformación ágil, introduciendo agilidad empresarial en el entorno corporativo.

Un equipo de desarrollo es responsable de construir, validar e integrar un incremento de producto. Además, este equipo está compuesto por personas que no tienen títulos, todos son "miembros" de ese equipo.

Y una de las características más interesantes para que una persona sea parte de un Equipo de Desarrollo o incluso de un equipo ágil es que tiene forma de T, es decir, además de tener al menos una experiencia en la que es especialista, también logra ser generalistas, pudiendo actuar con soltura en diferentes roles y temas.

Scrum master

El rol de coach es una de las tareas del Scrum Master. Hacer preguntas al equipo que genere reflexión y asegurarse de que las personas puedan dar sus propias respuestas.

La persona en el rol de Scrum Master es responsable de maximizar la eficiencia del Scrum Team, promover y apoyar Scrum y ayudar a mejorar las interacciones existentes.

Esta persona tiene algunas características principales:

  • Líder Servidor: su principal objetivo es hacer que otras personas tengan éxito.
  • Coach: persona que puede hacer preguntas que generen reflexión.
  • Facilitador: puede organizar el trabajo.
  • Maestro: puede enseñar para el equipo.
  • Elimina impedimentos.
  • Experto en Scrum.
  • Tiene Habilidades Sociales: capacidad para hablar e interactuar con otras personas.
  • Agente de cambio: tiene como objetivo mejorar la organización, no solo el equipo scrum.

Equipos Kanban

Kanban es una evolución de cómo organizar el trabajo de un Scrum Team, sin tener algunos de los roles obligatorios de Scrum y con un fuerte enfoque en garantizar la capacidad de trabajo.

El método Kanban consta de tareas y se divide en 5 etapas: documentación, creación de prototipos, codificación, pruebas y entrega.

img

Se usan post-its en cada uno de los pasos, que generalmente contienen una breve explicación de la tarea. Un determinado grupo de personas trabaja en cada etapa, que puede ser una, dos o incluso más.

Tenemos los roles opcionales dentro de la herramienta Kanban que son:

  • Service Delivery Manager: es la persona que vela por que los artículos no se detengan, tiene el rol de facilitador en el flujo de cambios y mejoras.
  • Service Request Manager: su función principal es ordenar y colocar los artículos, qué artículo tendrá el mayor impacto y retorno de la inversión.

Kanban es un tema extremadamente rico dentro de agile, y una forma poderosa de visualizar y limitar el trabajo que está siendo hecho por un equipo.

Lectura: Para conocer y profundizar más sobre Kanban.

Scrum además de tener roles definidos y características marcadas para los equipos, nos define también algunos artefactos para ayudarnos en nuestro dia a dia con scrum. Lectura: Profunzando en Scrum


Alura blog