lunes, 23 de noviembre de 2020

La Documentación Agile: La útil y necesaria (^.^)

 

                   DocOps – Keep Your Documentation Agile

·       Documentamos para Ayudar a otros y a nosotros mismos: Enseñar, a quienes no están familiarizados con un sistema, cómo éste se estructura, se instala y funciona. 

·       Para usar, operar, dar soporte y mantener el software en el tiempo. 

·       Para reflexionar sobre el producto, ayudar a solidificar y a descubrir aspectos que no se tenían contemplados.

·       Para dar soporte a la comunicación con grupos externos y auditorías, como complemento a las discusiones cara a cara, e-mails o herramientas colaborativas. 

·       Enlaza el diseño y la codificación para transmitir el mensaje o para ayudarnos a no olvidar algo. 

·       Reduce el costo de mantener código heredado difícil de entender y de evolucionar.

·       Debe estar actualizada, fácil de localizar, de leer e interpretar.

·       La documentación en Agile es algo vivo, se mantiene ligera y sencilla.

·       Se escribe justo a tiempo, cuando se necesita, antes aumenta el riesgo de desactualización y retrabajo.

·       La documentación está incluida en el proceso agile, es parte del esfuerzo y costo del producto.

·       Es parte de la entrega continua del software funcionando. 

·       Documentar es un proceso colaborativo donde todo miembro del equipo contribuye. 

·       Disponer una persona de referencia que gestione el proceso de documentación; alguien que entienda los aspectos que debe contemplar y que maneje el control de versiones. 

·       Documentar lo que ayude al equipo a realizar su trabajo y la que acompaña al producto para su uso y mantenimiento. Algunos ejemplos:

·       Equipo de Trabajo: Miembros del equipo, datos de comunicación, preferencias y particularidades

·       Acuerdos del Equipo: Definición de Listo (DoR), de Hecho (DoD), Estándares de Documentación, entre otros

·       Retrospectivas: Resultado de las dinámicas y Acciones de Mejora, seguimiento y análisis de resultados.

·       Doc. de Inicio: Ficha del producto o proyecto, Prototipos, User Story Maping, Requerimientos de alto nivel, ...

·       Doc. funcional del Producto: Mapa de procesos, Navegación del sistema, Guías de usuario, ...

·       Doc. técnica del Producto: Arquitectura del sistema, mapas de datos, servicios (APIs), guías de despliegue, guías de instalación y operación del software.

miércoles, 11 de noviembre de 2020

Las Historias de Usuario en agile

  • Una Historia de Usuario o User Story es una explicación general e informal de una función de software escrita desde la perspectiva del usuario final o cliente.
  • Su propósito es articular cómo un elemento de trabajo entregará un valor particular al cliente.
  • En Scrum, las historias de usuarios prioritarias y bien definidas se añaden a los Sprints y se "queman" a lo largo del Sprint.
  • En Kanban, se introducen en su backlog y se ejecutan siguiendo su flujo de trabajo.
  • Se estiman en puntos de historia, una medida que acuerda el equipo para dimensionar el esfuerzo de su desarrollo y pruebas.
  • Los puntos de historia ayudan a los equipos Scrum en la estimación y planificación del Sprint, lo que conduce a un pronóstico más preciso y a una mayor agilidad.
  • Los equipos de kanban aprenden a gestionar el trabajo en curso (WIP) y a perfeccionar aún más sus flujos de trabajo.
  • Las historias de usuario son componentes básicos de unidades más grandes como las épicas y las iniciativas.
  • Las épicas son grandes elementos de trabajo divididos en un conjunto de historias, y varias épicas constituyen una iniciativa.
  • Las historias cuentan el trabajo que se va completando, mientras que las épicas comparten una perspectiva de alto nivel del objetivo común y propósito que tiene la iniciativa.
  • Esta articulación iniciativa-épicas-historias garantiza que el trabajo diario del equipo contribuya al cumplimiento de objetivos del negocio incorporados en las épicas e iniciativas.
  • La escritura de historias de usuario sigue la forma: Como <rol/usuario> Quiero <requisito/objetivo> Para <motivo/propósito>.  Ej: Como pasajero, quiero chequear en línea el estado de mi viaje Para organizar mi tiempo.
  • Deben cumplir los criterios INVEST: Independiente, auto contenida, Negociable entre el PO y el Dev Team, Valiosa para usuarios o clientes, Estimable por el Dev Team, Small (pequeña) que facilite su priorización y desarrollo en un Sprint y Testeable con criterios de aceptación.
  • Los criterios de aceptación siguen la forma: Dado (un contexto) Cuando (sucede un evento) Entonces (detallar lo que debe cumplirse).
  • Ej: Dado que el pasajero solicitó consultar su viaje Cuando introduce su Apellido e Identificador del viaje Entonces se presenta la hora de salida y la hora estimada de llegada del viaje. Si el Apellido y/o Identificador no son correctos se despliega el mensaje “,,,,”.
  • Para seleccionar una historia para su desarrollo, en un Sprint Planning, debe cumplir la Definición de “Listo” (Definition-of-Ready o DoR): podrá ser estimada, desarrollada, probada y completada durante el Sprint.
Las Historias de Usuario potencian las conversaciones y la colaboración dentro del equipo, son peticiones valiosas, concretas y pequeñas que se crean y evolucionan a medida que el producto se desarrolla.


lunes, 9 de noviembre de 2020

Ordenando lo esencial: Las Relaciones

La felicidad y la productividad depende mucho de la calidad de nuestras relaciones.

Somos seres sociales e interdependientes, muchos proyectos, tareas y desafíos los superamos gracias al trabajo de otras personas o del trabajo de un equipo.

Relaciones con personas que no vibran en armonía con nosotros, personas que consumen nuestra energía, personas que lejos de sumar, restan, son relaciones que debemos cuestionar y decidir qué hacer con ellas.

Con otras personas fluimos, la pasamos bien, cumplimos objetivos, superamos desafíos, nos aportan satisfacción y alegrías a nuestra vida.

Como todo en "ordenando lo esencial", comenzamos identificando y tomando conciencia de la calidad de cada una de nuestras relaciones.

Relaciones laborales, con nuestro jefe, con nuestro equipo, con clientes y proveedores.

Relaciones familiares con nuestros abuelos, padres, hermanos, pareja, hijos, tíos y primos.

Relaciones sociales con nuestros amigos, vecinos, funcionarios, vendedores, prestadores de servicios, etc.

Y muy importante, la relación con nosotros mismos.

Podríamos preguntarnos porqué existe esa relación en mi vida, ¿puedo prescindir de ella?, ¿puedo reducir o aumentar su presencia en mi vida?, ¿cómo la puedo mejorar?, ¿qué me está mostrando?, ¿qué puedo aprender de ella? Estas son algunas de las preguntas poderosas que nos pueden llevar a decisiones y acciones que aumenten positivamente nuestra calidad de vida.  

Limpiar y simplificar nuestras relaciones implica estudiarlas, tener conversaciones, buscar acuerdos, poner límites, evitando las relaciones tóxicas y fortaleciendo las relaciones ganar-ganar. 

Es una búsqueda y mejora continua con la intención de mantener relaciones armoniosas que impacten positivamente en nuestra calidad de vida.

#ORDEN, #PRODUCTIVIDAD, #CALIDAD DE VIDA, #AGILE

sábado, 7 de noviembre de 2020

Flujo de Trabajo end-to-end: Negocio-Desarrollo-Operaciones

  • El flujo de Trabajo end-to-end se refiere a los pasos por los que pasa un requerimiento del negocio a Sistemas, desde que se solicita hasta que recibe el resultado.
  • Facilita separar y organizar los trabajos en etapas y responsables. 
  • En forma general, pasa por etapas como: Requerimientos, Análisis, Estimación, Planificación, UX, Desarrollo, Pruebas, Integración, Despliegue, entre otras.
  • En este flujo de trabajo intervienen diferentes unidades y departamentos, tanto del negocio como de sistemas, entre los que destacan: Unidades de negocio, Desarrollo de sistemas, Arquitectura, UX, Seguridad, Infraestructura, QA, Operaciones, entre otros.
  • Cada organización define su particular flujo de Trabajo end-to-end con sus etapas y responsables. 
  • Un tablero facilita alinear y dar visibilidad del trabajo pendiente entre las partes involucradas.
  • Las organizaciones que avanzan en la implementación de metodologías ágiles y DevOps centran sus esfuerzos en la comunicación, colaboración e integración entre los clientes y usuarios del negocio, los desarrolladores de software y los profesionales vinculados a las operaciones de las tecnologías de información de la organización.

Definir, visualizar, compartir y optimizar el flujo de Trabajo end-to-end permitirá derribar los “muros de la confusión” que alzan los problemas de comunicación entre los involucrados.




Ordenando lo esencial: Los pensamientos

Nuestra mente siempre está llena de pensamientos.

Algunos pensamientos son perturbadores y repetitivos, cambian nuestro estado de ánimo y distraen nuestra atención en lo que hacemos.

Ordenar nuestra mente es gestionar nuestras ideas y pensamientos.

Inicia con tomar conciencia de tu desorden mental y aprende a vaciar tu mente.

Cambia los pensamientos negativos y limitantes por pensamientos que te beneficien y empoderen.

Cuando nuestra mente divaga lo hace “lamentando” el pasado o “temiendo” el futuro.


Llevar la mente al aquí y el ahora, nos ayuda a centrarnos en el momento presente.

Algunas técnicas son: practicar la atención plena, meditar, contactar con la naturaleza y respirar conscientemente.

Ordena tu mente con pensamientos, creencias e ideas esenciales,  en línea con nuestro propósito y objetivos.