Órdenes y Magnitud

Rate this content
Bookmark

Las órdenes de magnitud importan. Las cosas no aumentan en un orden de uno cada vez. Organizar a las personas en un grupo requiere la difusión de información y su interpretación y, lo más importante, su distribución. El trabajo remoto y la colaboración asincrónica se han convertido en la norma, lo que significa que los equipos distribuidos han llevado consigo sus silos de conocimiento. El impacto de esto ha agravado cualquier problema de habilidades que experimenten las organizaciones, convirtiéndolo en un problema de distribución de habilidades, aumentando la importancia de una buena documentación y procesos de interacción transparentes. En esta sesión, repasaremos los fundamentos de la ingeniería de requisitos, analizando cómo las órdenes de magnitud aumentan junto con la expansión del alcance y los requisitos adicionales. Por último, discutiremos cómo puedes aplicar elementos del pensamiento de plataforma a tus proyectos diarios.

FAQ

Es una plataforma que ayuda a controlar el software separando el proceso de implementación de la liberación, facilitando la gestión y optimización de las funciones y tareas relacionadas.

La escala de órdenes de magnitud influye en cómo se maneja la complejidad en la gestión de software, indicando que las tareas altamente complejas no siempre se benefician de la adición de más recursos o personas, debido a la necesidad de comunicación y coordinación entre sub-tareas.

La inteligencia colectiva se refiere a la capacidad de un grupo para desempeñarse bien en diversas tareas. Un alto nivel de inteligencia colectiva implica que el grupo puede realizar varias tareas con eficacia, pero no necesariamente se correlaciona directamente con la cantidad de comunicación verbal entre sus miembros.

Los videojuegos como League of Legends, que requieren toma de decisiones rápida y trabajo en equipo, sirven como analogías para entender cómo los equipos virtuales pueden funcionar eficazmente en ambientes empresariales intensos y competitivos, destacando la importancia de la coordinación y la estrategia colectiva.

Los estudios sugieren que equipos con alta inteligencia colectiva tienden a comunicarse de manera más eficiente, usando menos palabras y enfocándose en señales no verbales, lo que facilita un rendimiento superior en las tareas asignadas.

Optimizar el rendimiento del equipo de desarrollo de software se puede lograr mediante el seguimiento de métricas clave, comprendiendo profundamente el software en uso, y asegurando que todos los miembros del equipo entiendan estas métricas y la función del software.

Jessica Cregg
Jessica Cregg
7 min
18 Feb, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla analiza la relación entre la complejidad y la colaboración en el desarrollo de software. Destaca que la colaboración no siempre es la respuesta para resolver problemas y que la comunicación es crucial en el desarrollo de software. Se introduce el concepto de inteligencia colectiva, que describe la capacidad de un grupo para desempeñarse bien juntos en tareas. El estudio mencionado en la charla muestra que la inteligencia colectiva es transferible entre tareas, y los jugadores habilidosos se basan en señales no verbales y en la comprensión del software. La falta de comprensión puede llevar a dificultades en el rendimiento y la implementación del equipo.

Available in English: Orders & Magnitude

1. Introducción a la Complejidad y Colaboración

Short description:

Hola, mi nombre es Jessica y soy una defensora del desarrollo con LaunchDarkly. Somos una plataforma de gestión de funciones que te ayuda a controlar tu software al separar el proceso de implementación de la liberación. Hoy vamos a hablar sobre cómo las órdenes de magnitud se escalan con la complejidad. La colaboración no siempre es la respuesta para resolver problemas. El desarrollo de software se encuentra entre tareas que se pueden dividir y aquellas que no se pueden. La comunicación es un aspecto crucial del desarrollo de software, y agregar más personas a una tarea puede hacerla más tardía. La inteligencia colectiva es un concepto que describe la capacidad de un grupo para desempeñarse bien juntos en una variedad de tareas. Un estudio basado en League of Legends mostró que los equipos virtuales con habilidades emparejadas pueden superar a aquellos con un conocimiento profundo entre ellos.

Somos una plataforma de gestión de funciones que te ayuda a controlar tu software al separar el proceso de implementación de la liberación.

Hoy vamos a hablar sobre cómo las órdenes de magnitud se escalan con la complejidad. Entonces, cuando algo sale mal, ¿cuál es tu primer instinto? ¿Pides ayuda? Se te perdonaría si piensas que la colaboración es la respuesta a tus problemas aquí. Porque entre los dos dichos de que un problema compartido es un problema dividido a la mitad y dos cabezas son mejores que una. Es comprensible que pienses que agregar otra persona a la mezcla puede mejorar tus posibilidades de llegar a una solución más rápido. Pero esto no siempre es el caso.

Si has jugado videojuegos, es posible que recuerdes que en Age of Empires 2, la mejor manera de construir una estructura rápidamente es asignar tantos aldeanos como sea posible a la tarea. Cuando se trata de infraestructura digital que existe fuera de los juegos de video o los propios juegos de video, tenemos que tener en cuenta algunas diferencias clave. Ahora, en el mes mítico, una colección de ensayos sobre la artesanía del desarrollo de software. Discutimos la idea de que el número de personas y la cantidad de tiempo requeridos para hacer algo no son realmente intercambiables como productos básicos. Esto solo es cierto cuando una tarea se puede dividir entre muchos trabajadores sin comunicación entre ellos. Pero cuando una tarea no se puede dividir debido a su estructura o complejidad, el esfuerzo adicional no tiene impacto en el cronograma real.

Ahora, el desarrollo de software se encuentra entre estas dos categorías. Se puede dividir, pero se requiere comunicación entre cada sub-tarea. Y en estas situaciones, el mejor resultado posible no se acerca a un intercambio equitativo entre personas y horas. Ahora hay algunas corrientes de pensamiento sobre cómo se distribuye la carga cognitiva en torno a la comunicación al menos. Pero se acepta ampliamente que la intercomunicación, hablar entre sí, es donde se encuentra la mayoría del trabajo. Ahora, si cada parte de la tarea en la que estás trabajando necesita ser coordinada por separado, la sección de trabajo, aumenta a un nivel casi exponencial. Ahora, tres personas requerirán tres veces más interacción que dos personas haciendo la misma pieza de trabajo exacta. Las cosas solo se complican cuando se juntan las reuniones de grupo. Este cronograma proyectado realmente muestra que agregar personas tarde al software solo hace que sea más tarde.

Ahora, para abordar esto, hablemos del concepto de inteligencia colectiva. Los investigadores describen la inteligencia colectiva como la capacidad de un grupo para poder desempeñarse bien en una amplia variedad de tareas, y hacerlo juntos. A pesar de la evidencia y utilidad de la inteligencia colectiva como un índice de competencia a nivel de grupo, la inteligencia colectiva como tema es bastante nuevo como concepto. Pero un estudio que buscó descubrir dónde ocurre la magia con la inteligencia colectiva se basó en League of Legends. Utilizaron el juego de arena de batalla en línea masivo como un método de testing para determinar si los equipos virtuales emparejados en función de sus habilidades podrían superar a aquellos que tenían un conocimiento profundo entre sí. Y ¿qué tiene que ver League con el trabajo? Bueno, los equipos virtuales son muy comunes en estos días. Sabes, los juegos de arena de batalla en línea masivos se caracterizan por su intensidad, su necesidad de tomar decisiones rápidas y su competitividad, lo cual suena bastante familiar para muchas operaciones comerciales. Creo que reconocería algunas de esas características sin duda.

2. Inteligencia Colectiva y Comprender el Software

Short description:

El estudio encontró que la inteligencia colectiva es en gran medida transferible entre tareas. La comunicación verbal no equivale a una alta inteligencia colectiva. Los jugadores habilidosos tienden a pasar menos tiempo comunicándose y confían en señales no verbales. Comprender el software y utilizar métricas que todos entiendan son cruciales para el rendimiento del equipo y la implementación. La falta de comprensión puede generar desconfianza en las pruebas y dificultades para restablecer los servicios.

Entonces, ¿qué encontró el estudio? Descubrieron que al investigar la medida de la inteligencia colectiva, los investigadores encontraron que la capacidad del grupo para desempeñarse bien en una tarea era en gran medida transferible, lo que significa que si podían hacer una cosa bien, probablemente podrían hacer varias cosas bien. Pero notaron que la comunicación verbal no equivale a un alto nivel de inteligencia colectiva. De hecho, los investigadores encontraron que las personas hablaban menos y usaban menos palabras al comunicarse entre sí cuando lograban ese sentido de inteligencia colectiva y, por lo tanto, un alto rendimiento.

Una de las primeras observaciones de los estudios fue que los jugadores más habilidosos tendían a pasar menos tiempo comunicándose por preferencia. Sabes, son buenos en el juego y ahí es donde quieren pasar su tiempo y minimizan el cambio de contexto e involuntariamente se involucran en señales no verbales. Nuestra habilidad en la comunicación mencionada mucho en este estudio es el reconocimiento no expresado de la posición de los demás. Y lo más importante, conduce a acciones para la actividad común.

En el contexto de una empresa, esto es evidencia para abogar por medidas de observabilidad, optar por la automatización, pero lo más importante, utilizar métricas que todos entiendan genuinamente. Si no entendemos el software que estamos probando, es probable que restrinjamos la cantidad de veces que implementamos. Y como cualquiera que haya leído Accelerate o siga un informe de estado de DevOps sabe, optimizar el rendimiento del equipo se puede lograr mediante el seguimiento de estas cuatro métricas clave. Si el software con el que estamos trabajando no encaja perfectamente en nuestras mentes, estas métricas tendrán un valor casi finito. No podremos superar esa capa intermedia y acceder a esa capa de equipos de élite de la que hablan muchos informes de estado de DevOps. Si no entendemos lo que estamos construyendo, es probable que desconfiemos de nuestras pruebas. ¿Por qué pasó eso? Esa es una pregunta muy comprensible y común que nos hacemos a nosotros mismos cuando estamos atrapados en un editor de código. Nuestra confianza en la implementación disminuirá si no sabemos lo que estamos haciendo. Si no entendemos los servicios que estamos construyendo o con los que estamos trabajando, no podremos restablecerlos rápidamente y se caerán. Entonces, en esencia, si minimizas un alcance, puedes maximizar el impacto de en lo que estás trabajando. Muchas gracias y nos vemos en la sesión de preguntas y respuestas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Impacto: Creciendo como Ingeniero
React Summit 2022React Summit 2022
27 min
Impacto: Creciendo como Ingeniero
Top Content
Convertirse en un ingeniero web no es fácil, pero hay toneladas de recursos disponibles para ayudarte en tu viaje. ¿Pero a dónde vas desde allí? ¿Qué haces para seguir creciendo y para seguir expandiendo el valor que aportas a tu empresa? En esta charla, examinaremos los diferentes tipos de impacto que puedes tener como ingeniero web. Analizaremos lo que significa asumir proyectos más grandes y complejos, y cómo escalar a ti mismo y hacer crecer la comunidad a tu alrededor. Al impulsar nuestro propio desarrollo, todos podemos aumentar nuestro impacto, y en esta charla, discutiremos cómo hacerlo.
Sobre convertirse en un Tech Lead
TechLead Conference 2023TechLead Conference 2023
25 min
Sobre convertirse en un Tech Lead
Top Content
Ser un Tech Lead suena como mucho trabajo. Y no del tipo de codificación divertida tampoco. ¿Por qué querrías eso? ¿Cómo se siente cuando lo consigues?En esta charla, Swizec explica por qué dio el paso hacia el liderazgo técnico, cómo cambiaron sus prioridades y por qué significa que está haciendo más ingeniería que nunca. Un mundo completamente nuevo donde escribir código es la parte fácil.
Un Marco para Gestionar la Deuda Técnica
TechLead Conference 2023TechLead Conference 2023
35 min
Un Marco para Gestionar la Deuda Técnica
Top Content
Seamos realistas: la deuda técnica es inevitable y reescribir tu código cada 6 meses no es una opción. La refactorización es un tema complejo que no tiene una solución única para todos. Las aplicaciones de frontend son particularmente sensibles debido a los frecuentes cambios de requisitos y flujos de usuario. Nuevas abstracciones, patrones actualizados y limpieza de esas viejas funciones - todo suena genial en papel, pero a menudo falla en la práctica: los todos se acumulan, los tickets terminan pudriéndose en el backlog y el código legado aparece en cada rincón de tu base de código. Por lo tanto, un proceso de refactorización continua es la única arma que tienes contra la deuda técnica.En los últimos tres años, he estado explorando diferentes estrategias y procesos para refactorizar el código. En esta charla describiré los componentes clave de un marco para abordar la refactorización y compartiré algunos de los aprendizajes acumulados en el camino. Espero que esto te ayude en tu búsqueda de mejorar la calidad del código de tus bases de código.

Principios para Escalar el Desarrollo de Aplicaciones Frontend
React Summit 2023React Summit 2023
26 min
Principios para Escalar el Desarrollo de Aplicaciones Frontend
Top Content
Después de pasar más de una década en Google, y ahora como el CTO de Vercel, Malte Ubl no es ajeno a ser responsable de la infraestructura de software de un equipo. Sin embargo, estar a cargo de definir cómo las personas escriben software, y a su vez, construir la infraestructura que están utilizando para escribir dicho software, presenta desafíos significativos. Esta presentación de Malte Ubl revelará los principios guía para liderar una gran infraestructura de software.
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
¿Sabes qué está pasando realmente en tu carpeta node_modules? Los ataques a la cadena de suministro de software han explotado en los últimos 12 meses y solo están acelerándose en 2022 y más allá. Profundizaremos en ejemplos de recientes ataques a la cadena de suministro y qué pasos concretos puedes tomar para proteger a tu equipo de esta amenaza emergente.
Puedes consultar las diapositivas de la charla de Feross aquí.
Luchando contra la Deuda Técnica con la Refactorización Continua
React Day Berlin 2022React Day Berlin 2022
29 min
Luchando contra la Deuda Técnica con la Refactorización Continua
Top Content
Afrontémoslo: la deuda técnica es inevitable y reescribir tu código cada 6 meses no es una opción. La refactorización es un tema complejo que no tiene una solución única para todos. Las aplicaciones de Frontend son particularmente sensibles debido a los frecuentes cambios de requisitos y flujos de usuario. Nuevas abstracciones, patrones actualizados y limpieza de esas viejas funciones - todo suena genial en papel, pero a menudo falla en la práctica: los todos se acumulan, los tickets terminan pudriéndose en el backlog y el código legado aparece en cada rincón de tu base de código. Por lo tanto, un proceso de refactorización continua es la única arma que tienes contra la deuda técnica. En los últimos tres años, he estado explorando diferentes estrategias y procesos para refactorizar el código. En esta charla describiré los componentes clave de un marco para abordar la refactorización y compartiré algunos de los aprendizajes acumulados en el camino. Espero que esto te ayude en tu búsqueda de mejorar la calidad del código de tus bases de código.

Workshops on related topic

Masterclass de Node.js
Node Congress 2023Node Congress 2023
109 min
Masterclass de Node.js
Top Content
Workshop
Matteo Collina
Matteo Collina
¿Alguna vez has tenido dificultades para diseñar y estructurar tus aplicaciones Node.js? Construir aplicaciones que estén bien organizadas, sean probables y extensibles no siempre es fácil. A menudo puede resultar ser mucho más complicado de lo que esperas. En este evento en vivo, Matteo te mostrará cómo construye aplicaciones Node.js desde cero. Aprenderás cómo aborda el diseño de aplicaciones y las filosofías que aplica para crear aplicaciones modulares, mantenibles y efectivas.

Nivel: intermedio
Construye y Despliega un Backend con Fastify y Platformatic
JSNation 2023JSNation 2023
104 min
Construye y Despliega un Backend con Fastify y Platformatic
WorkshopFree
Matteo Collina
Matteo Collina
Platformatic te permite desarrollar rápidamente APIs GraphQL y REST con un esfuerzo mínimo. La mejor parte es que también te permite aprovechar todo el potencial de Node.js y Fastify cuando lo necesites. Puedes personalizar completamente una aplicación de Platformatic escribiendo tus propias características y complementos adicionales. En el masterclass, cubriremos tanto nuestros módulos de código abierto como nuestra oferta en la nube:- Platformatic OSS (open-source software) — Herramientas y bibliotecas para construir rápidamente aplicaciones robustas con Node.js (https://oss.platformatic.dev/).- Platformatic Cloud (actualmente en beta) — Nuestra plataforma de alojamiento que incluye características como aplicaciones de vista previa, métricas integradas e integración con tu flujo de Git (https://platformatic.dev/).
En este masterclass aprenderás cómo desarrollar APIs con Fastify y desplegarlas en la nube de Platformatic.
0 a Auth en una Hora Usando NodeJS SDK
Node Congress 2023Node Congress 2023
63 min
0 a Auth en una Hora Usando NodeJS SDK
WorkshopFree
Asaf Shen
Asaf Shen
La autenticación sin contraseña puede parecer compleja, pero es fácil de agregar a cualquier aplicación utilizando la herramienta adecuada.
Mejoraremos una aplicación JS de pila completa (backend de Node.JS + frontend de React) para autenticar usuarios con OAuth (inicio de sesión social) y contraseñas de un solo uso (correo electrónico), incluyendo:- Autenticación de usuario - Administrar interacciones de usuario, devolver JWT de sesión / actualización- Gestión y validación de sesiones - Almacenar la sesión para solicitudes de cliente posteriores, validar / actualizar sesiones
Al final del masterclass, también tocaremos otro enfoque para la autenticación de código utilizando Flujos Descope en el frontend (flujos de arrastrar y soltar), manteniendo solo la validación de sesión en el backend. Con esto, también mostraremos lo fácil que es habilitar la biometría y otros métodos de autenticación sin contraseña.
Tabla de contenidos- Una breve introducción a los conceptos básicos de autenticación- Codificación- Por qué importa la autenticación sin contraseña
Requisitos previos- IDE de tu elección- Node 18 o superior
Construyendo un Servidor Web Hiper Rápido con Deno
JSNation Live 2021JSNation Live 2021
156 min
Construyendo un Servidor Web Hiper Rápido con Deno
WorkshopFree
Matt Landers
Will Johnston
2 authors
Deno 1.9 introdujo una nueva API de servidor web que aprovecha Hyper, una implementación rápida y correcta de HTTP para Rust. El uso de esta API en lugar de la implementación std/http aumenta el rendimiento y proporciona soporte para HTTP2. En este masterclass, aprende cómo crear un servidor web utilizando Hyper en el fondo y mejorar el rendimiento de tus aplicaciones web.
GraphQL: De Cero a Héroe en 3 horas
React Summit 2022React Summit 2022
164 min
GraphQL: De Cero a Héroe en 3 horas
Workshop
Pawel Sawicki
Pawel Sawicki
Cómo construir una aplicación GraphQL fullstack (Postgres + NestJs + React) en el menor tiempo posible.
Todos los comienzos son difíciles. Incluso más difícil que elegir la tecnología es desarrollar una arquitectura adecuada. Especialmente cuando se trata de GraphQL.
En este masterclass, obtendrás una variedad de mejores prácticas que normalmente tendrías que trabajar en varios proyectos, todo en solo tres horas.
Siempre has querido participar en un hackathon para poner algo en funcionamiento en el menor tiempo posible, entonces participa activamente en este masterclass y únete a los procesos de pensamiento del instructor.
Dominando Node.js Test Runner
TestJS Summit 2023TestJS Summit 2023
78 min
Dominando Node.js Test Runner
Workshop
Marco Ippolito
Marco Ippolito
Node.js test runner es moderno, rápido y no requiere bibliotecas adicionales, pero entenderlo y usarlo bien puede ser complicado. Aprenderás a utilizar Node.js test runner a su máximo potencial. Te mostraremos cómo se compara con otras herramientas, cómo configurarlo y cómo ejecutar tus pruebas de manera efectiva. Durante la masterclass, haremos ejercicios para ayudarte a sentirte cómodo con el filtrado, el uso de afirmaciones nativas, la ejecución de pruebas en paralelo, el uso de CLI y más. También hablaremos sobre trabajar con TypeScript, hacer informes personalizados y la cobertura de código.