Muda, Muri e Mura (3Ms) são conceitos japoneses que representam um dos 12 pilares do Toyota Production System (TPS) cujo propósito é identificar e eliminar desperdícios tornando um determinado sistema de produção mais eficiente. No TPS, desperdício significa aquilo que não agrega valor para o cliente, ou seja, atividades que são realizadas e que o cliente não está disposto a pagar. Apesar desses conceitos terem surgido na indústria de manufatura, aplicá-los em times ágeis resulta na melhoria de performance e na entrega de valor.
Muda
Muda significa desperdício. São considerados desperdícios os custos financeiros desnecessários, os custos de armazenamento e o estoque inútil de itens antigos. Além disso, existem sete categorias de desperdícios que serão abordadas em um post específico sobre isso. Contudo, segue alguns exemplos de desperdícios que podem ser encontrados no desenvolvimento de software:
Cenários | Consequências |
---|---|
Utilizar tecnologia e recursos muito avançados e complexos para resolver problemas simples | Tempo e dinheiro investidos desnecessariamente. O famoso “usar uma bazuca para matar uma formiga” |
Manter um product backlog gigante (que levaria mais de meses para ser entregue) | Ter mais itens para refinar e priorizar sendo que muitos deles podem até mesmo serem cancelados no futuro. Perda do foco |
Manter defeitos ou incidentes no product backlog que nunca serão corrigidos | Manter o cliente esperando por algo que ele nunca terá. Desalinhamento de expectativas |
Adicionar funcionalidades não solicitadas pelo cliente | Gastos com aquilo que o cliente não vai pagar. Além de correr o risco de gerar insatisfação e possível retrabalho |
Muri
Muri significa sobrecarga. Para eliminar ou evitar sobrecarga de equipamentos e pessoas, a produção deve ser distribuída uniformemente em todos os processos da linha de montagem. É necessário balancear o ritmo de fabricação para permitir que as pessoas tenham tempo para executar o seu trabalho de maneira adequada. Reduzir muito ou aumentar muito os prazos e tempos podem causar pressão ou desperdícios tanto em equipamentos quanto nas pessoas. Um sistema sobrecarregado resulta em menor qualidade do produto, maior incidência de retrabalho, mais gastos com manutenção e equipe cansada e estressada (pessoas insatisfeitas, desmotivadas).
Exemplos de como gerar Muri nos times |
---|
O sprint backlog contém quantidade de trabalho superior à capacidade do time |
O time de vendas (às vezes até mesmo o PO) passou prazos infactíveis para o cliente |
Ausência de planejamento estratégico e as demandas chegam “pra ontem” |
Trabalhar sempre com 100% da capacidade do time, não deixando espaço para “respiros” |
Muitos desenvolvedores, apenas um QA que não tem apoio do time nas validações |
Itens adicionados no sprint backlog após o início da sprint sem acordo com o time |
Ausência de WIP Limits, multitarefas: o time está busy, mas não entrega a sprint |
Reuniões excessivas ou no horário de almoço |
Tudo é urgente (essa é clássica!) |
De maneira geral, as consequências de um time sobrecarregado são praticamente as mesmas: Aumento da pressão pela entrega, hora extra, intolerância à falhas, estresse, cansaço, desmotivação, constante mudança de foco e perda da qualidade.
Mura
Mura significa desigualdade ou irregularidade. Mura pode acontecer em situações como flutuação na demanda do cliente, tempos de processo por produto ou variação de tempos de ciclo para diferentes operadores. Basicamente, fatores internos ou externos são capazes de introduzir irregularidades na linha de produção ocasionando oscilações tanto na quantidade quanto na qualidade do produto final. Irregularidades podem acontecer por conta de um sistema sem padrões e sem controles ou até mesmo por mudanças introduzidas sem que houvesse previsibilidade dos resultados.
Como evitar Mura no desenvolvimento de software |
---|
Treine o time em relação ao processo e ao produto no qual trabalham |
Documente os principais passos do processo e das funcionalidades do produto |
Estabeleça padrões que possam ser replicados por qualquer membro do time |
Estimule o pareamento de uma pessoa sênior com uma júnior |
Gerencie os WIP Limits buscando o melhor flow no processo |
Identifique obstáculos e remova. Identifique gargalos e proteja |
Estabeleça pontos de medições (métricas) para avaliar possíveis desvios |
Os 3Ms do TPS devem ser avaliados regularmente de forma conjunta, pois um processo sem padrão e sem controles gera irregularidades (Mura) e sobrecarrega pessoas (Muri), resultando em retrabalho e desperdícios (Muda). Isso significa que um processo irregular e sobrecarregado introduz diversas atividades que não agregam valor para o cliente, tornando-o um processo ineficiente e ineficaz. Reduzir desperdícios gera mais tempo para focar no essencial e permite viver os valores ágeis: mais tempo para interagir, colaborar, responder a mudanças e entregar o software com qualidade. Além disso, os 3Ms ajudam aperfeiçoar o flow de trabalho melhorando a previsibilidade, o ritmo e a cadência das entregas.
Por onde começar?
Experimente apresentar esses conceitos para o time em uma retrospectiva e em seguida questione as pessoas sobre desperdícios, irregularidades e sobrecarga identificados na última sprint. Atrasos, bugs, débitos técnicos, hora extra e retrabalho são situações que indicam possíveis anomalias no processo. Após a reflexão discuta sobre como o time pode melhorar e defina ações.
Referências