Oracle_One-Alura_Latam/007_business_agility/README.md

496 lines
22 KiB
Markdown

# Business Agility
[Formación](https://app.aluracursos.com/formacion-business-agility-grupo5-one)
## Fundamentos de Agilidad
[Curso](https://app.aluracursos.com/course/fundamentos-agilidad-primeros-pasos-transformacion-agil)
- **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.
<br>
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.
<br>
- **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](https://agilemanifesto.org/) 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.
<br>
- **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](https://www.aluracursos.com/blog/que-es-la-metodologia-agil)
## El ambiente ágil
### [Gestíon ágil](https://app.aluracursos.com/course/gestion-agil-liderando-cambio)
#### 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](https://hbr.org/2017/02/how-spotify-balances-employee-autonomy-and-accountability)
#### 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](https://management30.com/blog/personal-maps-connecting-teams-improving-team-collaboration/)
### [La empresa ágil](https://app.aluracursos.com/course/empresa-agil-introduciendo-business-agility-organizaciones)
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](https://www.aluracursos.com/blog/que-es-management-3-0-y-por-que-aplicarlo-en-tu-empresa)
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](https://www.aluracursos.com/blog/quiero-trabajar-en-una-startup-que-necesito-hacer)
### [Organización de equipos ágiles](https://app.aluracursos.com/course/organizacion-equipos-agiles-funciones-existentes-equipo)
#### 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](https://medium.com/@kleer.la/qu%C3%A9-es-el-product-owner-en-el-marco-de-scrum-y-cu%C3%A1les-son-sus-%C3%A1reas-de-atenci%C3%B3n-2bddbb232775)
#### 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](./kanban_.png)
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](https://marvin-soto.medium.com/la-metodolog%C3%ADa-kanban-6ab002502831).
> 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](https://medium.com/@andrewdjandrw/qu%C3%A9-es-scrum-674c6b791af4)
----
### Alura blog
- Principales modelos de [metodología ágil](https://www.aluracursos.com/blog/los-principales-modelos-de-metodologia-agil)
- Implementar [cultura de aprendizaje](https://www.aluracursos.com/blog/como-implementar-una-cultura-de-aprendizaje-en-tu-empresa)