Flujo de trabajo y principio Shift Left

2/18
Recursos

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 鈥淪hift 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: 鈥淗ey, 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: 鈥淭odo 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 鈥渇lujo鈥.

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: 鈥淒e 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铆: 鈥淐onsiste 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 鈥渓o 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 鈥渁tenci贸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 鈥渇low鈥 me son贸 como a lo que los atletas definen como 鈥渢he 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鈥檚 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鈥檚 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鈥檚 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 鈥淭est 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.