No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
20 Hrs
29 Min
17 Seg

Flujo de trabajo y principio Shift Left

2/18
Recursos
Transcripción

Aportes 82

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Definición de flujo: Es cuando estas trabajando y no sientes el paso del tiempo. Es estar tan concentrado que todo lo demás no importa.
Workflow o flujo de trabajo: Es una secuencia de tareas organizadas de tal manera que tengas mejor eficiencia.
Los ciclos de vida en software: Cascada y Moderno

El ciclo en cascada el software es tratado en cada departamento de forma separada y va pasando de uno en uno.
El ciclo moderno se habla que todos los departamentos están conectados de tal manera que trabajan uno con otro haciendo un flujo de trabajo.

El principio shift left es conocido en DevOps que moviendo el enfoque de la calidad a la izquierda para comprimir el ciclo se logra mejor calidad y mejor rendimiento.
Esto se hace porque al corregir errores en producción en 100 veces más caro que hacerlo al principio del diseño.

Puedes comenzar con el flujo moderno implementandolo en ti mismo, conforme vas avanzando, podrás aplicarlo en tu equipo añadiendo feedback request y asi todos se beneficiarán.
Cuando varios equipos usen el flujo moderno, podrás llevarlo a la organización beneficiándolo incorporando el área administrativa, la documentación y la parte de analítica.

En la colaboración tradicional se hace una revisión al código al terminar el desarrollo y en la colaboración moderna se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el proyecto.
Google atomiza la revisión de códigos para que dichas revisiones se tome un tiempo menos de 24 horas, teniendo un tiempo promedio de revisión de todo el ciclo en menos de 4 horas.

Vale, tratando de explicar un poco mejor estos conceptos:


Una vez entendiendo qué es el flow y el workflow, tenemos que “Shift Left” es básicamente no posponer la revisión del proyecto, esto porque siendo sinceros (Y hablando desde el punto de vista personal) es más difícil hacer revisiones y correcciones al final (Y esto implica tener que pasar por toda una fase de correciones que toma tiempo)
.
Básicamente Shift Left te dice: “Hey, tienes que estar revisando constantemente el proyecto buscando qué mejorar, no lo dejes para el final”
.
Y otras de sus ventajas es que tendrás todas las herramientas unificadas: “Todo en uno”, para no tener que saltar entre sí ir al editor, luego ir a GitHub, luego a escribir documentación… que esto es lo que rompe el “flujo”.

El **flujo **es el estado en el cual estas concentrado y no notas que pasa el tiempo.
Workflow o flujo de trabajo: Es una secuencia de tareas organizadas de tal manera que tengas mejor eficiencia.

Ciclo de vida en software

  • Cascada
    • El software es tratado en cada departamento de forma separada y va pasando de uno en uno.
  • Moderno
    • Todos los departamentos están conectados de tal manera que trabajan uno con otro haciendo un flujo de trabajo.

      El principio shift left (desplazarse a la izquierda) es conocido en DevOps que moviendo el enfoque de la calidad a la izquierda para comprimir el ciclo se logra mejor calidad y mejor rendimiento. Esto se hace porque al corregir errores en producción en 100 veces más caro que hacerlo al principio del diseño.

      Puedes comenzar con el flujo moderno implementandolo en ti mismo, conforme vas avanzando, podrás aplicarlo en tu equipo añadiendo feedback request y así todos se beneficiarán. Cuando varios equipos usen el flujo moderno, podrás llevarlo a la organización beneficiándolo incorporando el área administrativa, la documentación y la parte de analítica.

      En la colaboración tradicional se hace una revisión al código al terminar el desarrollo y en la colaboración moderna se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el proyecto.

      Google atomiza la revisión de códigos para que dichas revisiones se tome un tiempo menos de 24 horas, teniendo un tiempo promedio de revisión de todo el ciclo en menos de 4 horas.

Me gustó esta definición:

Flow: “De qué manera enlazar las tareas para obtener la mejor productividad”

Nunca crei que seria de los primeros comentario en un video de platzi 😄

Workflow: Cómo enlazar las tareas para tener mayor productividad.
Shift Left: incorporar la calidad lo antes posible al flujo de trabajo.
Hay 3 espacios de implementación del flujo moderno:

  1. Personal - Puedes iniciar tú en tu trabajo
  2. Equipo - Luego invitas a los demás
  3. Organización - Resultado final al incorporar a todos los equipos de la organización.

La frecuencia de colaboración se sugiere hiper-frecuente revisiones pequeñas conforme se desarrolla (aquí la implementación de herramientas para lograrlo).

Al principio no entendí lo de Shift Left pero esta esto es lo que entendí: “Consiste en trabajar o garantizar la calidad lo antes posible (Hacía la izquierda del proceso como vemos en la gráfica)”

Y lo primero que se vino a la mente de cómo agregar calidad desde el principio es con TDD (Test-driven development) no programar y luego probar sino programar en base a pruebas para garantizar el éxito y calidad desde el inicio del desarrollo.

Aca un link para quien quiera saber un poco mas acerca de Shift Left
https://devopedia.org/shift-left

** Flujo de trabajo y principio ShiftLeft**

Definición de flujo: Es cuando estas trabajando y no sientes el paso del tiempo. Es estar tan concentrado que todo lo demás no importa.

Workflow o flujo de trabajo: Es una secuencia de tareas organizadas de tal manera que tengas mejor eficiencia.

Los ciclos de vida en software: Cascada y Moderno

El ciclo en cascada el software es tratado en cada departamento de forma separada y va pasando de uno en uno. El ciclo moderno se habla que todos los departamentos están conectados de tal manera que trabajan uno con otro haciendo un flujo de trabajo.

El principio shift left es conocido en DevOps como moviendo el enfoque de la calidad hacía la izquierda para comprimir el ciclo que logrará mejor calidad y mejor rendimiento. Esto se hace porque al corregir errores en producción al final es 100 veces más caro que hacerlo al principio del diseño.

Puedes comenzar con el flujo moderno implementándolo en ti mismo, conforme vas avanzando, podrás aplicarlo en tu equipo añadiendo feedback request y así todos se beneficiarán. Cuando varios equipos usen el flujo moderno, podrás llevarlo a la organización beneficiándolo incorporando en el área administrativa, la documentación y la parte de analítica.

En la colaboración tradicional se hace una revisión al código al terminar el desarrollo y en la colaboración moderna se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el proyecto. Google atomiza la revisión de códigos para que dichas revisiones se tomen un tiempo de menos de 24 horas, teniendo un tiempo promedio de revisión de todo el ciclo en menos de 4 horas.

Aqui les dejo mis apuntess, espero les sirva 😃


**Workflow o flujo de trabajo: ** Es una secuencia de tareas organizadas de tal manera que tengas mejor eficiencia.

Ciclo de vida en software

**El principio shift left **mueve el enfoque de la calidad a la izquierda para comprimir el ciclo se logra mejor calidad y mejor rendimiento.

Puedes empezar a implementarlo empezando por ti

Como?

Resumen del capitulo en Notion
https://n9.cl/my5oi

mis notas amigos!!!
![](
![](

Esto me recuerda a la gestión de la calidad en los procesos, en este caso aplicada al desarrollo de software. De manera genérica se tiende al cambio de estructura vertical a horizontal:

En este curso veo conceptos tan importantes que debemos tener en cuenta primero, porque cuando estamos iniciando en el mundo del desarrollo pensamos “lo mas importante es programar”

Años antes las empresas manejaban el ciclo de vida del software como una cascada, pasando por cada uno de los departamentos necesarios a medida que fuese requerido. Actualmente se habla de un flujo continuo en el que todos los departamentos están en constante colaboración trabajando en el software.

El principio Shift Left consiste en no posponer la revisión del proyecto para el final, sino ir realizando revisiones a medida que se van realizando avances en el proyecto. Poner mayor atención a la calidad en la fase de planeación, diseño y desarrollo en vez de dejar esa “atención a los detalles” para después del desarrollo cuando ya se ha pasado a test y lanzamiento. La idea es mejorar la calidad moviendo las tareas a la izquierda tan pronto como sea posible en el ciclo de vida.

Flujo de trabajo y principio Shift Left

Definición flow (flujo)

Es estar de forma concentrada dentro de la tarea que estamos realizando.

Definición Workflow

Es una secuencia de tareas organizadas de cierta manera para mejorar la eficiencia y así lograr la mayor productividad.

Principio Shift Left (desplazarse de izquierda a derecha).

Movemos el enfoque de la calidad para poder comprimir el ciclo.

Beneficios del flujo moderno.

Corregir errores en producción es más caro que hacerlo en el proceso de desarrollo y con esto mejoramos la calidad del producto y reduciendo los gastos.

Implementación del flujo moderno

El flujo moderno puede ser usado de forma personal, en equipo y a nivel organizacional.

De forma individual puedes implementarlo en tu entorno de forma parcial. Puedes invitar a tu equipo y si hay varios equipos utilizándolo puedes entonces presentarlo a la organización.

Frecuencia de colaboración

Forma tradicional: revisas el código, piensas y resuelves.

Forma moderna: se hacen muchas revisiones de trozos de código pequeño a medida que avanzas en el desarrollo.

Prácticas de ingeniería de Google

La revisión de código por partes reduce el tiempo y cantidad de líneas en el desarrollo.

Revisión con menos código: Change List (CL) dirigibles rápidamente, menos de 100 líneas. Promedio de Google: 24 líneas.

¿Como aplicar Shift Left en el desarrollo?

  • Colaboración hiperfrecuente

Más preguntas antes, más comentarios antes.

  • Integración de las herramientas para evitar cambios de contexto

No saltar de una herramienta a otra.

  • La calidad se incorpora en el proceso

Tener consenso y aplicar revisiones lo antes posible.

Los que sean nuevos les recomiendo seguir avanzando las clases y despues vuelvan aca a hacer el repaso. Van a tener otra perspectiva y entender mucho mejor Codestream.

El termino “flow” me sonó como a lo que los atletas definen como “the zone”.

Hola! tambien les dejo por aca mis apuntes espero que les sirvan un saludo!!

DEFINICIÓN:FLOW
es un estado de trabajo en el que no te das cuenta que no pasa el tiempo, estar tan concentrado que nada mas importa

DEFINICIÓN:FLUJO DE TRABAJO
secuencia de tareas organzada de tal forma que logren la mayor eficiencia

CICLO DE VIDA EN SOFTWARE
ANTES: Cascada
cada departamento trabajaba de forma separada y se pasaban el paquete uno al otro
AHORA: Moderno
es un flujo continuo donde todos los departamentos trabajan en conjunto, las tareas se superponen y hay comunicacion permanente (esto ultimo es lo mas importamte)

PRINCIPIO: SHIFT LEFT(desplazarse a la izquierda
consiste en mover el enfoque de la caidad del momento anterior para comprimir el ciclo se logra mejor calidad y mejor rendimiento, esto se traduce en menos sobrecostos y mayor calidad de nuevo

IMPLEMENTACION FLUJO MOERNO
paso 1:
integrar en tu editor y entorno de trabajo el pull requeste, issue tracker y los comentarios
Paso 2:
cuando llegue el momento de integrar: Feedback request o code chat, invitaras a los miembros de tu equipo a colaborar y estos se beneficiaran ya que habra mayor transparencia y eficiencia en el proceso
Paso 3:
cuando ya hayan varios equipos operando en este modelo, podrás invitar a la organizacion y proponerle la parte administrativa, la documentacion y el analisis

FRECUENCIA DE COLABORACION
* Tradicional: se hace una revisión de codigo al finalizar desarrollo
* Moderno: se hacen muchas revisionnes mientras se hace el desarrollo y son sobre porciones pequeñas de codigo a medida que se va avanzando en el desarrollo

un ejemplo de esto es google, que atomiza las revisiones en revisiones de no mas 	de 4 horas y de esta forma se optimizan alrededor de 24 lineas de codigo en cada 	revisión

CÓMO APLICAR SHIFT LEFT EN DESARROLLO?
* Colaboración hiper-frecuente mas preguntas antes, mas comentarios antes
* integrar las herramientas en el editor
* la calidad es la prioridad desde el inicio, siempre desde que inicies un desarrollo tener un feedback de tus superiores para siempre cumplir con los estándares de calidad

Frecuencia de colaboracion
tradicional: se hace una revision de codigo al terminar el desarrollo.

Moderno: se hacen muchas revisiones de codigo pequeñas a medida que se va desarrollando el codigo.

Practicas de ingenieria de google

-documentado y disponible en https://google.github.io/eng-practices/.

-Revisiones de codigo en menos de 24h (promedio google: en menos de 4h)

-revisiones con menos codigo: change lists (CL) digeribles rapidamente. menos de 100 lineas (promedio google:24 lineas)

Como aplicar shift left en desarrollo

-colaboracion hiper-frecuente: Mas preguntas antes, mas comentarios antes.
-integracion de las herramientas para evitar cambio de contexto: No saltar de una herramienta a otra.
-la calidad se incorpora en el proceso: Tener consenso y aplicar revisiones lo antes posible

FLUJO : es cuando estamos trabajando y simplemente perdemos la noción del tiempo, no les ah pasado que cundo están codeando, para ustedes paso solo un rato y cuando se dan cuenta en realidad pasaron como 4 o horas, esto seria lo mas parecido
Workflow: es un secuencia de tareas enlazadas de tal manera que esta nos pueda ayudar a tener una mejor eficiencia
Ciclo de Vida: están los ciclos en cascada y los continuos:
cascada: es cuando el trabajo va pasando de departamento en departamento y se va realizando de forma separada
moderno: es cuando los departamentos trabajan sobre el mimo proyecto al mismo tiempo
shift left: es cuando se preocupan por la calidad desde el inicio del proyecto y no lo dejan para el final, ya que si lo dejan para el final toma mucho mas tiempo y a un costo mas elevado, entonces con shift left lo hacemos desde el principio eso luego nos garantiza que cuando tengamos una revisión de código las deficiencias o problemas serán mucho menores

Flujo de trabajo y principio Shift Left
Flujo - Es cuando estas trabajando y no sientes el paso del tiempo. Es estar tan concentrado que todo lo demás no importa.
Flujo de trabajo - Es una secuencia de tareas organizadas de tal manera que tengas mejor eficiencia.
Ciclos de vida en software Cascada y Moderno.

  1. Ciclo en cascada - El software es tratado en cada departamento de forma separada y va pasando de uno en uno.
  2. Ciclo moderno - Todos los departamentos están conectados de tal manera que trabajan uno con otro haciendo un flujo de trabajo.

Principio shift left - Es conocido en DevOps que moviendo el enfoque de la calidad a la izquierda para comprimir el ciclo se logra mejor calidad y mejor rendimiento.
Beneficios del flujo moderno - Al corregir errores en producción es 100 veces más caro que hacerlo al principio del diseño.
Implementación del flujo moderno

  1. Personal.
  2. Equipo.
  3. Organización.

Frecuencia de colaboración - Tradicional y moderna.

  1. Tradicional - Se hace una revisión al código al terminar el desarrollo.
  2. Moderna - Se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el proyecto.
<h3>Work Flow (Flujo de Trabajo):</h3>
  • Sequencia de tareas que se entrelazan para tener una mayor efectividad.

<h3>Beneficios del Flujo Moderno:</h3>
  • Reduce costos.
  • Encuentra a tiempo los diferentes errores de desarrollo.
  • Reduce el trabajo y costo de mantenimiento por errores.

<h3>Frecuencia de Colaboración</h3>
  • Muchas revisiones de código pequeñas.
  • Uso de herramientas adicionales para lograrlo.

<h3>¿Cómo aplicar Shift Left en desarrollo?</h3>
  • Colaboración hiperfrecuente.
  • Integración de herramientas para evitar el cambio de contexto.
  • La calidad incorporada en el proceso de desarrollo.

MI PUNTO DE VISTA

Fllujo : es un estado en el que te encuentras tan concentrado que pierdes la noción del tiempo a tu alrededor
Workflow : es una conjunto de tareas y el curso trata de como enlazar estas tareas para llegar a una mejor eficiencia
Ciclo de Vida en Software
-_ cascada :_ es cuando el proyecto va trabajando de forma separada y va pasando de un departamento a otro

  • Moderno : es cuando los distintos departamentos trabajan sobre el mismo proyecto, para eso funcione es esencial la colaboracion

comentario : nos les a pasado que cuando trabjan en algo decían, hey hagámoslo feito ya despues nos enfocamos al ultimo en darle calidad en mejorar los detalles

El principio de Shift Left
Es mover el enfoque de la calidad desde el inicio, es preocuparse por la calidad desde el diseño, ya que corregir errores en producción es mucho mas caro y es muy tedioso, entonces de esa manera estamos mejorando la calidad y reduciendo costos

Implementacion de Flujo moderno

  • Personal:

🥋 Flujo de trabajo y principio Shift Left

<h4>Ideas/conceptos claves</h4>

Flujo (Flow) ⇒ Estado en que estás concentrado al punto de que se pierde la noción del tiempo

Flujo de trabajo (workflow) ⇒ Secuencia de tareas, organizada de cierta forma para lograr un objetivo

<h4>Apuntes</h4>
  • Podemos ayudar al flujo eliminando las distracciones
<h3>Ciclo de vida en Software</h3>
  • En el pasado existía la cascada como flujo
    • Cada departamento trabajaba independientemente
  • Actualmente se habla del flujo continuo
    • Todos los departamentos van a trabajando uno del otro
    • La colaboración es vital en esta manera de trabajar
<h3>Shift Left</h3>
  • Es un principio conocido en Devops
  • Al mover el enfoque de la calidad, al momento de la izquierda (anterior) para poder comprimir el ciclo
    • Se logra mejor calidad y rendimiento
<h4>Beneficios del flujo moderno</h4>
  • Corregir errores en producción es mucho más caro que en el principio
  • Estaremos mejorando la calidad del producto y el costo que tendrá el mismo
<h4>Implementación del flujo moderno</h4>
  • No es necesario incluir al equipo para realizarlo
  • Tu mismo puedes implementar el flujo moderno parcialmente integrando herramientas a tu editor de código
<h4>Frecuencia de colaboración</h4>
  • Tradicional: se hace una revisión de código al terminar el desarrollo.
  • Moderno: se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el código.
<h4>Prácticas de Ingeniería de Google</h4>
  • Documentado y disponible en https://google.github.io/eng-practices/.
  • Revisiones de código en menos de 24 horas (Promedio Google: en menos de 4 horas).
  • Revisiones con menos código: Change Lists (CL) digeribles rápidamente, menos de 100 líneas (Promedio Google: 24 líneas).
<h4>Cómo aplicar Shift Left en desarrollo</h4>
  • Colaboración hiper-frecuente. Más preguntas antes, más comentarios antes.
  • Integración de las herramientas para evitar cambio de contexto
    No saltar de una herramienta a otra.
  • La calidad se incorpora en el proceso Tener consenso y aplicar revisiones lo antes posible.

RESUMEN: El flujo moderno consta de revisar el producto constantemente que el flujo común, beneficiando al producto final con una mejor calidad y menor costo. Como desarrollador tú puedes implementar parte del flujo moderno con las herramientas necesarias.

Considero que la clave principal de todo éxito de cada proyecto, empieza con los eslabones primarios, que es cada individuo.
Siempre nos han enseñado a trabajar individualmente y hasta utilizar herramientas como Git. Sin embargo, muy pocas veces a colaborar, eficientemente, en equipo.

Acá les dejo mis apuntes de la clase, espero les sirva, cualquier comentario o edición lo sumamos, gracias

Flujo de trabajo y principio Shift Left

Que es el flujo? es un estado en el que estas trabajando y no te das cuenta ni que pasa el tiempo, es estar tan concentrado que nada mas importa.

Workflow o secuencia de tareas organizada de ciertas maneras para lograr la mayor eficiencia.

Shift Left es un principio conocido en DevOps, se trata de mover el enfoque de la calidad desde el anterior o de desplazándose a la izquierda para mejorar la calidad y mejor rendimiento.

Beneficios del flujo moderno, corregir errores en la producción en mas caro que hacerlo en el principio del diseño, o en el proceso del desarrollo haciéndolo mas eficiente.

Frecuencia de Colaboracion

  • Tradicional: se hace una revisión del código al terminar el desarrollo,
  • Moderno: se hacen muchas de revisiones de código pequeñas a medida que se va desarrollando el código.

Como se aplica el principio Shift Left en el desarrollo

  • Colaboración hiper-frecuente, mas preguntas antes mas comentarios antes
  • Integración de las herramientas esenciales en el editor para evitar cambio de contexto, no saltar de una herramienta a otra
  • La calidad se incorpora en el proceso, tener consenso y aplicar revisiones lo antes posible

Lo más importante para mi de la clase:

  • Flow(flujo): Estado o condición que nos permite
    concentrarnos sin percibir el paso del tiempo.
  • La calidad es el enfoque desde el principio.

WorkFlow es el flujo de trabajo, una secuencia de tareas organizada para mejorar la eficiencia y alcanzar mayor productividad.

En el pasado existía la cascada donde cada departamento trabajaba de forma separada
Actualmente se habla de un flujo continuo donde las tareas se superponen y todos colaboran.

El Principio Shift Left

Este principio es conocido en DevOps que parte de la idea de mover el enfoque de la calidad a la izquierda para poder comprimir el ciclo y lograr mayor calidad y rendimiento. Se pregunta ¿Cómo hacer que la calidad este incorporada lo antes posible?

¿Por qué hacer esto?
Porque el corregir errores en la producción es más caro que en la etapa del diseño.

Implementación de Flujo Moderno

La frecuencia de Colaboración
- Tradicional.- Se hace una revisión de código al terminar el desarrollo (github)
- Moderno.- Se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el código.
Como se aplica Shift Left en desarrollo
- Colaboración hiper-frecuente - Más preguntas y comentarios.
- Integración de las herramientas para evitar cambio de contexto - No saltar de herramientas a otras.
- La calidad se incorpora en el proceso - Consenso y aplicación.

1.-Flujo de Trabajo y principio Shift Left

  • Flujo: Es un estado en el que trabajas y no te das cuenta que pasa el tiempo (estar muy concentrado).
  • Flujo de trabajo: Secuencia de tareas organizadas de cierta manera. ¿De qué manera se tienen que enlazar las tareas para lograr mayor productividad?.

Ciclo de vida en software

  • Cascada: Existía antes de los flujos modernos, en esta cada departamento trabajaba de forma separada y va pasando el paquete de un departamento a otro.
  • Continuo: Es la manera actual donde todos los departamentos van trabajando uno con otro y se superponen las tareas.

Beneficios e implementación del flujo moderno

  • Corregir errores en la producción es 100 veces más caro que hacerlo al principio (en el diseño) o desarrollo.
  • Se implementa a través de 3 pasos (para poder empezarlo lo puedes hacer integrando parcialmente herramientas como pull request, issue tracker, comentarios), después de eso al momento de trabajar en el siguiente paso se invitan a miembros del equipo a trabajar contigo y finalmente cuando varios equipos funcionen con este flujo moderno se lleva a la organización incorporando más cosas.

El principio de Shift Left y cómo se aplica en el desarrollo

  • Mueve el enfoque de la calidad al momento anterior para comprimir el ciclo se logra mejor calidad y mejor rendimiento. "Tienes que estar revisando constantemente el proyecto buscando qué mejorar, no lo dejes para el final”. Es básicamente no posponer la revisión del proyecto
  • Colaboración hiper-frecuente: Cuando tienes una pregunta lo consultas con tu equipo y recibir una respuesta.
  • Integración de las herramientas para evitar cambio de contexto: No saltar de una herramienta a otra.
  • La calidad se incorpora en el proceso: Tener consenso y aplicar revisiones lo antes posible.

Frecuencia de colaboración

  • Tradicional: se hace una revisión de código al terminar el desarrollo.
  • Moderno: se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el código.

¿Cómo aplicar Shft Left en desarrollo?
Colaboración hiper-frecuente.
-Más preguntas antes, más comentarios antes.
Integración de las herramientas para evitar cambio de contexto.
-No saltar de una herramienta a otra.
La calidad se incorpora en el proceso.
-Tener consenso y aplicar revisiones lo antes posible.

Flow (psychology)

In positive psychology, a flow state, also known colloquially as being in the zone, is the mental state in which a person performing some activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. In essence, flow is characterized by the complete absorption in what one does, and a resulting transformation in one’s sense of time.

https://en.wikipedia.org/wiki/Flow_(psychology)

Workflow

A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of operations, the work of a person or group, the work of an organization of staff, or one or more simple or complex mechanisms.

https://en.wikipedia.org/wiki/Workflow

Software Lifecycle

Software Development Life Cycle is the application of standard business practices to building software applications. It’s typically divided into six to eight steps: Planning, Requirements, Design, Build, Document, Test, Deploy, Maintain. Some project managers will combine, split, or omit steps, depending on the project’s scope. These are the core components recommended for all software development projects.
.

Shift-left testing

Shift-left testing is an approach to software testing and system testing in which testing is performed earlier in the lifecycle (i.e. moved left on the project timeline). It is the first half of the maxim “Test early and often.”

https://en.wikipedia.org/wiki/Shift-left_testing
.

Benefits

When we fix the bugs at an earlier stage, the cost will be dramatically lower. This way we will improve the quality of the product and at the same time, lowering the costs of production.
.

How to implement it

There are three ways. Depending on if you are working alone, with a team, or in an organization, these are the ways you can carry it out:

Frequency of collaboration

  • Traditional: the revision of the code is done at the end of the development
  • Modern: as the development advances there are small but several revisions to the code

Google Engineering Practices

The objective of these practices is: fewer interruptions when you are in a constant flow and keeping the quality of the product all the time in the development stage which means fewer costs

How to apply Shift left

  • hyper-frequent collaboration: more questions before, more comments before
  • Integrating tools in our IDE for avoiding loss of context: Not jumping from tool to tool
  • Quality is integrated into the process: make reviews beforehand and as soon as possible

1
Como debemos entender el flujo es que lo que estamos por hacer debe contribuir a un estado en donde nada mas importa y eliminamos las distracciones.

Flujo de trabajo: secuencia de tareas organizada de cierta manera para tener una mayor eficiencia. En donde debo pensar de qué manera deben enlazarse las tareas para lograr una mayor productividad.

El ciclo de vida en software: En la actualidad se habla de un flujo continuo en la que todos los departamentos están conectados de tal manera que trabajan uno con otro y se van acercando para poder tener información y colaboración para que el flujo funcione.

Flujo de trabajo y principio Shift Left


Flujo

Flujo es una condición de conciencia profunda, cercana a la meditación. Es este estado hay un ligero sentimiento de euforia, además, en este estado uno deja de sentir el pasar del tiempo.

Flujo de trabajo

Un flujo de trabajo es una secuencia de tareas que procesan bloques de datos. El flujo de trabajo ocurre en cada tipo de negocio o industria. Cada vez que datos son compartidos entre humanos o sistemas, un flujo de trabajo es creado. Flujos de trabajo son descripciones de como algo va de estar incompleto a completo, o de materia prima a un producto terminado.


Principio Shift Left (desplazarse a la izquierda)

Al mover la verificación de calidad al proceso inmediato anterior mejorará enormemente la calidad del proceso final.

Cómo aplicar Shift Left en desarrollo

  • Colaboración hiperfrecuente: Más preguntas antes, más comentarios antes.
  • Integración de las herramientas para evitar cambio de contexto: No saltar de una herramienta a otra
  • La calidad se incorpora en el proceso: Tener consenso y aplicar revisiones lo antes posible

Flujo moderno

Se puede implementar en 3 niveles

  1. Personal: Se puede implementar de manera individual o en equipos pequeños
  2. Equipo: Es cuando todo el equipo se involucra
  3. Organización: Cuando varios equipos ya se encuentran trabajando en el flujo moderno, se puede llevar a la organización.

Frecuencia de colaboración

  • Tradicional: se hace una revisión de código al terminar el desarrollo
  • Moderno: se hacen muchas revisiones de código a medida que se va desarrollando el código

Prácticas de Ingeniería de Google en el flujo moderno

  • Revisiones de código en menos de 24 horas (menos de 4 horas)
  • Revisiones con menos código: Change Lists (CL) dirigibles rápidamente, menos de 100 líneas (promedió 24 líneas)

Pongo musica y duro como media hora, a los 5 minutos de quitarla se siente silencioso y entro en un flujo bacan

- Clase 2 – Flujo de trabajo y equipo Shift Left


¿Qué es el flujo y flow a nivel general?

  • Es un estado en que cuando estamos trabajando no sentimos el peso del tiempo, es decir, que estamos tan concentrados elaborando una tarea que no nos damos cuenta de cuánto tiempo ha pasado.

¿CodeStream contribuye al estado de flujo o flow?

  • Sí.

¿Cómo CodeStream contribuye al estado de flujo o flow?

  • Eliminando las distracciones.

¿Qué es el fujo de trabajo?

  • Es el estado en el que realizamos en serie de trabajos que están organizadas de una manera que nos ayuda a trabajar con mayor eficiencia.

¿Cómo era el ciclo de vida del software hace algunos años?

  • En forma de cascada.

¿Cómo funciona el ciclo de vida de software en cascada?

  • Es una forma de trabajo en la que cada equipo de la organización trabaja de manera separada y se van pasando entre ellos los paquetes de tareas que se vayan realizando.

¿Cómo se llama el ciclo de vida del software que se está implementando hoy en día?

  • Moderno.

¿Cómo funciona el ciclo de vida del software moderno?

  • Es un flujo de trabajo continuo en el que cada equipo de trabajo de la organización se va acercando entre ellos y las tarea se superponen.

¿Qué aspectos son importantes para que el ciclo de vida del software moderno funcione?

  • Obtención de información.
  • Colaboración de los equipos.

¿De dónde viene el termino Shift Left?

  • Del área de DevOps.

¿Qué es Shift Left?

  • Es un principio de DevOps que consiste en mover el enfoque de la calidad hacia la izquierda, es decir, a las áreas de planeación y diseño, desarrollo y construcción.

¿Cuáles son las consecuencias de usar Shift Left?

  • Comprimir el ciclo de vida del software
  • Mejorar la calidad y el rendimiento.

¿Cuáles son los beneficios de usar Shift Left en el ciclo de vida del software?

  • Reducir los costos que surgen de la corrección de errores en la producción
  • Realizar la corrección de errores en las etapas tempranas del ciclo de vida del software (planeación y diseño, desarrollo y construcción).

¿Cuáles son los pasos que debemos de seguir para implementar el flujo moderno?

  • Personal.
  • Equipo.
  • Organización.

¿Necesitamos de un equipo para implementar el flujo moderno?

  • No.

¿Qué características de CodeStream implementamos de manera personal?

  • Pull Requests.
  • Issue tracker.
  • Comentarios.

¿Qué características de CodeStream implementamos en un equipo?

  • Pull Requests.
  • Issue tracker.
  • Comentarios.
  • Feedback Requests.
  • Code Chat.
  • Transparencia.

¿Qué características de CodeStream implementamos en una organización?

  • Pull Requests.
  • Issue tracker.
  • Comentarios.
  • Feedback Requests.
  • Code Chat.
  • Transparencia.
  • Documentación.
  • Administración.
  • Análisis.

¿La frecuencia de colaboración es esencial en el flujo moderno?

  • Sí.

¿Cómo es la frecuencia de colaboración en un flujo tradicional?

  • Se hacen las revisiones de código al terminar el desarrollo.

¿Cómo es la frecuencia de colaboración en un flujo moderno?

  • Se hacen muchas revisiones de código pequeñas a medida que se va desarrollando el código.

¿Por qué atomizar la revisión de código es positivo?

  • Porque el tiempo de las revisiones de código se reduce de 24 horas a 4 horas.
  • El número de líneas de código a revisar se disminuye de 100 líneas a 24 líneas.

¿Cómo aplicamos el concepto Shift Left en desarrollo?

  • Teniendo colaboración hiper frecuente.
  • Realizar una integración de las herramientas para evitar el cambio de contexto.
  • Incorporando calidad en el proceso.

¿Qué debemos hacer para tener una colaboración hiper frecuente?

  • Realizar más preguntas y comentarios antes.

¿Por qué es importante la integración de herramientas?

  • Porque con esto no tenemos que estar saltando de herramienta en herramienta.

¿Qué debemos de hacer para incorporar la calidad en el proceso?

  • Tener un conceso y aplicar revisiones lo antes posible.

Flujo de trabajo y principio Shift Left
Flujo -> estado en que estas trabajando y no notas el tiempo
Flujo de trabajo -> secuencia de tareas para mejor eficiencia
Antiguamente el flujo de trabajo pasaba de departamentos, paso a paso, hoy en día es más continuo.
Shift left -> principio que consiste en mover la atención de la calidad a la izquierda (principio), esto ya que es mucho más caro corregir errores en producción.
Se implementa de manera individual, luego se comparte con el equipo creando feedback request.
Flujo tradicional -> revisar errores después de codear
Flujo moderno -> revisar errores durante el coding

Me gustaría agregar algo que aprendí en la universidad; en realidad el método de desarrollo en cascada funciona para freelancers (No siempre) o esa gente que tiene un proyecto grande y solo es 1 persona; otro ejemplo de un uso viable son proyectos personales

bueno

ok

yess

si

bien

principio Shift Left: Como ya varios compañeros lo han explicado, este principio nos permite enfocarnos en la calidad desde el inicio del proyecto, con el fin de no dejar para lo ultimo lo que se debe hacer desde un principio, evitar los errores.
Y si, para eso nos sirve Shift Left, para prevenir errores y no para detectarlos, nos ayuda a detectar posibles cuellos de botella en un futuro y a depurar codigo innecesario.
Adicional que integra y acerca de una mejor manera a los equipos de desarrollo, diseño, testing, etc
A mi modo de ver este principio, no se trata de simplemente correr un paso atras o a la izquierda el testing y/o revisión, se trata de hacer un mayor esfuerzo como grupo para sacar adelante el desarrollo del producto con los mas altos estandares de calidad, con el fin de disminuir los reprocesos en un despliegue o etapa final de proyecto.

Todos estamos detrás del mismo objetivo:
Estado de flow.

Entonces flujo moderno es la forma en la que trabajan los equipos a dia de hoy, una forma más optima.

Shift left es tener micro revisiones al proceso de desarrollo para corregir errores desde un principio cuando es más facil corregirlos

Work Flow: secuencia de tareas totalmente concentrado

Yo me imagine que ibamos a ver herramientas en el editor de codigo oprimiendo shift + left

Shift Left es una práctica orientada a detectar y prevenir defectos al principio del proceso de entrega del software.

Como aplicar Shift Left en el desarrollo

Shift Left = incorporar la calidad lo antes posible

Costo de corregir errores

Muy buena la clase y explicaciones del profesor.

Me recordó a mis clases de diseño de software, y este Shift Left es mucho mejor

Entendido

Recuerdo el flujo de trabajo tipo cascada, espiral y algunos otros de mis clases de ingeniería de software

Frecuencia de colaboración

Implementación del flujo moderno

El principio de Shift Left (desplazarse a la izquierda)

Definición de Flujo de trabajo

👌

Poco a poco debemos adaptarnos también a las nuevas metodologías ágiles, les dejo este post sobre Scrum, una metodología ágil.

Yo tampoco ser segundo jeje pero acá estamos aprendiendo de los nuevos conocimiento y no parando de aprender.

Interesantes conceptos.

buen comienzo!

Estaria muy bueno , algo de material para leer, repasar, asi no se pierde tiempo tomando apuntes y uno se concentra en escuchar lo que dice el profesor.

Wow! que conceptos más poderosos: Atomizar la revisión de código, eficiencia de desarrollo, colaboración hiper frecuente y por supuesto Shift Left.

Increíble contenido. Acabo de dejar marcadores para cada explicación que dio el profesor.

Cómo aplicar Shift Left en desarrollo

Prácticas de ingeniería de Google

Beneficios del flujo moderno

Ciclo de vida en software

Definición de Flujo

mi reflexion: Para una mayor calidad de codigo, la atomizacion de las tareas, codigo y procesos en una era temprana al proyecto es lo que te asegura una mayor estabilidad y flexibilidad a la hora dd trabajar.

Definición de workflow: Es un estado de concentración casi máxima en la que debido a que no hay distracciones la noción del tiempo es más rápida debido a que estas concentrado casi al 100% en la tarea.

En la implementación del flujo moderno básicamente se van adhiriendo herramientas para la integración del proyecto en su totalidad.

Y el shift left es: en ves de corregir el código que se haya escrito, se eficientiza el código, haciendo revisiones continuas a este y por revisiones continuas digo revisar el código casi de manera obsesiva y por consecuencia se optimiza el código y se evitan errores.