8

Resumen Módulo: Introduccion a CodeStream y al flujo moderno de desarrollo

Puedes revisar el resumen mas comodamente en Notion: https://www.notion.so/Introduccion-a-codestream-y-al-flujo-moderno-de-desarrollo-fb2134e0236b4775a1ec8a158f0aef4e

Flujo de trabajo y el principio Shift Left

¿Que quiere decir flujo?

El flujo es un estado, una condicion de profundidad. Por ejm, de acuerdo a nuestro interes, es cuando estas trabajando y no sientes el paso del tiempo. Es estar concentrado al punto que todo lo demas no importa.

Entonces, ¿como definimos Workflow o flujo de trabajo?

Es una secuencia de tareas organizada de cierta manera para llegar a la 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.

Shift Left: incorpora la calidad lo antes posible al flujo de trabajo.

Existen 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.

Podemos comenzar implementando el flujo moderno en nosotros mismos , conforme vas avanzando, podrás aplicarlo en tu equipo añadiendo feedback request y así todos se beneficiarán. Ahora, ya 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.

Mientras que 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.

<h3>Ahora bien, teniendo estos conceptos claros, hagamos un pequeño recap:</h3>

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, 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 editor de texto como tu centro de control

Nosotros los desarrolladores, trabajamos todo el dia en nuestro editor de texto, ya sea VS Code, IntelliJ IDEA, Android Studio, etc.

Sin embargo tambien usamos otras herramientas que no estan integradas en dicho editor (GitHub, Jira, Slack).

Estos cambios de contexto reducen la productividad.

Tu editor debe funcionar como el eje de estas funcionalidades, esto es, usar la integración de herramientas para reducir la cantidad de pasos que debes hacer.

Con integracion se reduce el tiempo de trabajo aumentando la productividad, haciendo mas facil llegar a un estado de flujo (flow state).

Shift Left:

Feedback request: Revision de codigo automizada, para mejorar la calidad de tu codigo antes de si quiere necesitar un pull request.

Discusion informal: Pueden discutir sobre cambios atomicos, o incluso crear documentacion de forma mas rapida.

<h3>Entonces, como se consigue integrar todas las herramientas que necesitamos, a nuestro editor?</h3>

Pues bien, esto se logra con CodeStream.
CodeStream es una extensión de código abierto para IDE’s y editores de codigo (VS Code, Visual Studio y JetBrains).
CodeStream sobrecarga los flujos de trabajo de desarrollo al colocar herramientas de colaboración en el IDE. Es compatible con las solicitudes de extracción de GitHub, BitBucket y GitLab, la gestión de problemas de Jira, Trello, Asana y otros 9, y proporciona una discusión de código que lo vincula todo, integrado con Slack, MS Teams, correo electrónico y notificaciones en el editor.

Escribe tu comentario
+ 2