Sat. Nov 26th, 2022

Foto de Jason Goodman en Unsplash

Las prácticas Lean Six Sigma son estándares de la industria en la fabricación, pero los mismos principios son fácilmente transferibles y transformadores cuando se aplican a sus equipos digitales en el desarrollo y la producción de software.

Lean Six Sigma y los sistemas de gestión de calidad total relacionados han existido durante décadas, y han tenido múltiples predecesores que se remontan a W. Edwards Deming y han tenido éxito en sistemas de calidad específicos en sectores individuales como Agile Project Management en tecnología. Mientras que el claro énfasis en la mensurabilidad y las tecnologías de trabajo funcionales son fácilmente evidentes en Agile, algunos de los desperdicios reconocidos en LSS pueden no ser tan evidentes, pero aún merecen una atención significativa en nuestros equipos de desarrollo y entornos de producción. En este artículo, desglosaremos cada uno de los ocho desechos de LSS, también conocidos como Muda y recordados fácilmente con el acrónimo “TIMWOODS”, y cómo se pueden aplicar fácilmente a nuestro trabajo digitalmente.

T — Transporte

Este desperdicio describió originalmente el movimiento de personas, maquinaria y otros recursos a través de fábricas y otros entornos de fabricación. ¿Por qué sus cintas transportadoras envían widgets por toda la fábrica entre operaciones unitarias si es posible tener las operaciones una al lado de la otra? Después de todo, reduce el riesgo, usa menos energía y ahorra tiempo. Este concepto también se puede transferir fácilmente al movimiento de datos. Por ejemplo, si tiene una base de datos de terabytes de datos de clientes y está buscando un conjunto de datos para modelar los hábitos de una ciudad, las consultas SQL que seleccionan todo consumirán mucho más tiempo, esfuerzo y recursos informáticos que las consultas específicas, manejables y simplificadas. con llaves.– No hacer (puede tardar horas en ejecutarse):
Seleccione *
Desde CustomerData– En lugar de hacerlo (se ejecutará mucho más rápido):
Seleccione CustomerID, CustomerAddress, CustomerTown, LastOrderDate
De CustomerData
Donde CustomerTown = ‘Nashville’
Y LastOrderDate >= fecha(‘2022-01-01’)

Yo — Inventario

Los problemas de gestión de inventario tradicionalmente pueden bordear el acaparamiento, y tener una reserva “por si acaso”, si bien es necesario en algunas industrias, puede conducir a una crisis en otras cuando la gestión de inventario justo a tiempo es ideal en la mayoría de los casos. La mayoría de la gente recordará los estantes vacíos de los supermercados, específicamente los estantes con papel higiénico, al comienzo de la pandemia, cuando el COVID ni siquiera justificaba un aumento tan drástico en la necesidad de papel higiénico. Problemas similares en la gestión de inventario durante la pandemia causaron escasez de chips de silicio, equipos farmacéuticos y otros materiales y piezas que hoy en día damos por sentado. Los bienes raíces y el espacio de almacenamiento son finitos, al igual que las estanterías de los supermercados. El espacio digital también es finito, aunque a veces los costos de mantenimiento de datos pueden parecer tan pequeños en el microincidente. Sin embargo, a escala, los límites de datos y almacenamiento pueden tener un impacto significativo. El error Y2K causó un gran temor en la banca y la tecnología en general (a pesar de no tener un impacto notorio), y problemas similares de dimensión de datos pueden ocurrir todo el tiempo. Los problemas de desbordamiento de enteros, como con el cohete Ariane 5, pueden causar daños por cientos de millones de dólares debido a un error aritmético aparentemente simple. En la escala inversa, desperdiciar inventario, como permitir que existan cuentas de redes sociales falsas en plataformas propiedad de Meta y Twitter, puede costar millones a las empresas individuales en tarifas de mantenimiento y almacenamiento de fotos y publicaciones falsas. La gestión adecuada del inventario digital debe abordarse a nivel micro en nuestros equipos para que los incidentes no tengan un impacto macro.

M — Movimiento

Los desechos en movimiento son un lugar común en la vida cotidiana, y mucho menos en el espacio de fabricación o en nuestros equipos digitales. Tener una herramienta en el estante superior, que requiere un taburete para alcanzarla, es un desperdicio en movimiento porque se necesitan pasos adicionales de los que deberían ser. En la fabricación, quizás el equipo necesario para agregar más valor se encuentre al otro lado de la sala en lugar de estar junto a su estación. En tecnología, desechos similares en movimiento son aplicables con datos. Las interfaces de usuario o las entradas de datos demasiado complicadas pueden provocar una pérdida de tiempo. Incluso las minucias, como las “confirmaciones” o las comprobaciones manuales, pueden ser redundantes. En un entorno de programa ideal, solo se pueden ingresar los datos correctos. Un ejemplo es permitir pulsaciones de teclado alfabético en un programa que busca un número de teléfono. Este desperdicio provoca una mala experiencia para todos los involucrados.

W-Esperando

Podría decirse que el desperdicio más agravante de la lista es esperar: recuerde cuántas veces esta semana nos hemos sentado en una fila, en el tráfico, esperando a que alguien nos consiga algo que necesitábamos, etc. Esperar en la fabricación es un gasto innecesario para el valor del producto, y la espera en el sector tecnológico puede causar un flujo de desarrollo deficiente, un tiempo de back-end deficiente y una experiencia de usuario deficiente. En última instancia, muchos casos de espera digital pueden evitarse cambiando la capacidad. Tal vez haya un problema con el servidor donde: A) no hay suficientes servidores o B) los servidores no son lo suficientemente rápidos. Mantener nuestras bases de código limpias y eficientes puede ayudar a reducir este problema, así como crear un código funcional que utilice técnicas modernas de paralelización y vectorización siempre que sea posible. Queremos que nuestro software funcione sin problemas y que no exceda la capacidad de nuestro hardware.

O — Sobreproducción

La sobreproducción a nivel físico es exactamente lo que esperaríamos: fabricar demasiados artículos de los que necesitamos. Digitalmente, la sobreproducción puede estar relacionada con tener demasiado servicio. Sí, demasiado servicio. Demasiado servicio es un gasto innecesario porque el servicio disponible no se está utilizando adecuadamente. Tal vez esto sea usar una computadora de escritorio para realizar la tarea de un microcontrolador barato, o tener múltiples servidores dedicados que realicen el mismo trabajo que podría realizar una arquitectura sin servidor. En última instancia, esta es una conversación sobre costos y la cantidad de trabajo que debe realizarse. Nuestro código también se puede producir en exceso con el uso de variables de tamaño inadecuado de lo necesario y siendo ineficiente en nuestras estructuras de datos, lo que genera costos similares en un inventario digital demasiado grande.

O — Sobreprocesamiento

Los productos manufacturados sobreprocesados ​​proporcionan más valor del necesario para un cliente. Algunos buenos ejemplos de esto son el uso de metales raros y costosos para piezas cuando los más baratos serían suficientes, agregar más capas de pintura a un automóvil de lo que las personas notan y diseñar televisores u otras pantallas con velocidades de cuadro más altas de lo que son detectables por nuestros ojos. Si nadie notará el “valor agregado”, ¿cómo es que agrega más valor? De manera similar, en tecnología, nuestro código puede sobreprocesarse y Agile hace un gran trabajo al combatir el avance del alcance, a través de una cadencia estructurada y medida con sprints. Gestionar proyectos de software centrados en “productos mínimos viables” y características esenciales bien definidas en función de los requisitos y los comentarios de los usuarios es la mejor manera de combatir la sobreproducción digital. ¿Por qué agregar una característica al producto, gastar tiempo y esfuerzo del desarrollador e incluso pagar por algo que no se pidió o no se desea? Si bien es cierto que algunas características pueden ser sorpresas agradables que mejoran la experiencia de un usuario, es posible que algunos usuarios nunca lo noten. La sobreproducción digital es una pérdida de tiempo y energía de un equipo, y ese tiempo y energía deberían utilizarse mejor en otros lugares.

D- Defectos

Los defectos se miden de manera diferente en diferentes industrias e incluso para diferentes productos en la misma industria. Un defecto en el papel de la impresora puede no ser percibido por la mayoría de los consumidores a menos que esté casi destruido físicamente. Es posible que no se detecten ligeros cambios en la apariencia. Sin embargo, un defecto en el papel de tornasol utilizado en el laboratorio puede arruinar por completo un experimento, lo que a su vez puede afectar su reputación. Por lo general, la parte de Six Sigma de Lean Six Sigma obtiene objetivos para la reducción de defectos, siendo sigma la varianza de una recopilación estadística. “Tres Sigmas” cubre el 93,32% de una población, cuatro cubre el 99,35%, cinco cubre el 99,98% y seis alcanza el 99,9997%. Dentro de la clasificación binaria de defectos, con un proceso seis sigma el 99,9997% de las unidades producidas deberían estar libres de defectos, o alrededor de tres defectos por cada millón de unidades producidas. Este es un objetivo difícil de alcanzar, pero un proceso Six Sigma es extremadamente confiable y consistente, y definitivamente podría tener la confianza de un cliente. El software también puede tener defectos. Piense en cuántas veces una aplicación se bloqueó en un teléfono inteligente, o cuántas veces un “error” en un juego o programa le impidió avanzar en una tarea. En su forma más insignificante, estos errores pueden tener consecuencias secundarias o incluso humorísticas. Sin embargo, en su forma más grave, los defectos de software pueden poner en peligro la vida. Hay muchos incidentes en los que incluso un pequeño error descontrolado e imprevisto costó millones de daños y amenazó el sustento de las personas. En última instancia, habrá una compensación en cada equipo de software de anticipar errores y terminar un proyecto a tiempo; sin embargo, los objetivos son claros. El mejor código solo puede fallar 3.4/1,000,000 ejecuciones.

S — Habilidades (El octavo desperdicio)

El desperdicio identificado más reciente se basa en las habilidades del empleado. A primera vista, puede parecer que el desperdicio es un riesgo por no tener las habilidades adecuadas, sin embargo, el mayor riesgo es no reconocer a la fuerza laboral como el mayor activo de una empresa. Este despilfarro, o no habilitar, reconocer y apoyar a los empleados es el mayor despilfarro. Especialmente en el sector tecnológico. Con cada nuevo año de graduación, una clase y generación de nuevos empleados entusiasmados ingresan a la fuerza laboral con nuevas habilidades y antecedentes, hambrientos de experiencia. La microgestión y la falta de creatividad y confianza en los empleados pueden destruir una empresa. Fomentar el crecimiento y la propiedad en los empleados más nuevos generará lealtad, y reconocer y recompensar las habilidades y experiencias recientemente desarrolladas tendrá un efecto dominó en el éxito de un equipo.