Buscar

EBOOK_PIR_LEAN

Prévia do material em texto

Muitas or
ganizaçõ
es e
 equipes 
encontra
m 
dificulda
des para
 
ter suces
so com o
 desenvo
lvimento
 ágil.
Um grande número delas 
consegue se beneficiar das 
facilidades oferecidas pelo 
framework Scrum na hora de 
começar uma estratégia de 
adoção ágil. Mesmo sendo um 
bom caminho, o Scrum não 
endereça aspectos técnicos e de 
negócios e é apenas uma das 
engrenagens necessárias para 
uma adoção ágil eficaz.
Infelizmente, as 
empresas ainda 
falham na adoção 
do ágil porque 
deixam as práticas 
de engenharia ágil 
em segundo plano.
Até mesmo aqueles que 
reconhecem a necessidade de 
serem ágeis na engenharia estão 
falhando devido a uma falta de 
sinergia entre desenvolvimento 
de software, gestão de projetos 
e estratégia do negócio.
A importância 
do equilíbrio 
das forças ágeis 
Que tal refletir um pouco 
sobre estas questões:
Eu entendo claramente o que significa 
valor para o cliente?
Todos os colaboradores conhecem 
claramente a visão da empresa?
Meu código fonte está preparado para que 
eu possa reagir com segurança e rapidez às 
mudanças de mercado?
Tenho total controle e visibilidade sobre o 
valor sendo entregue?
Tenho confiança plena e total na equipe?
Sei que minha equipe irá me entregar o 
melhor produto possível e eu não preciso
ficar me preocupando em controlá-los ou 
em como eles irão fazer?
O que me impede de entregar software hoje?
Para ter sucesso na adoção ágil é fundamental compreender o equilíbrio 
necessário de esforços nas ações estratégicas, gerenciais e de engenharia de 
software, de modo que se possa responder positivamente às questões anteriores.
Equílibrio das
Forças Ágeis
Como as empresas 
podem criar uma 
cultura ágil e qual a 
melhor estratégia 
para essa 
mudança?
A Pirâmide Lean é um modelo para engenharia de software que visa 
auxiliar as empresas a equilibrar corretamente o uso de práticas, 
princípios e valores em todos os níveis de uma organização, com o 
objetivo de promover uma evolução segura e sustentável na cultura 
interna e nos métodos de desenvolvimento.
A Pirâmide Lean apresenta uma estrutura que irá ajudar as empresas a iniciarem de 
forma eficaz a adoção de uma estratégia ágil.
Através de um maior aprofundamento dos princípios fundamentais do Lean, 
você vai aprender como eles se traduzem em desenvolvimento ágil de 
software com o objetivo de criar uma cultura forte e de sucesso 
em sua organização.
O modelo da Pirâmide Lean foi criado 
para ajudar a explicar os conceitos 
que estão envolvidos em uma 
adoção ágil eficaz.
Visão
Produtos
Projetos Gestão de portfólios
Engenharia
Arquitetura Tecnologia
Processos
Planejamento
Controle da produção
Cultura
Princípios
valores
A 
Pir
âm
ide Le
an
A Pirâmide Lean possui no topo os aspectos culturais e os prin-
cípios necessários para criar uma organização centrada no 
ser humano, possibilitando um ambiente de aprendizado 
contínuo. 
 Esses aspectos alinham a estratégia de negócios com 
pessoas, processos e ferramentas para fomentar 
uma organização de alta performance. 
Estratégia de ação:
• Princípios do Lean
• Formação da cultura
• Estratégia de negócios e visão
• People Empowerement
No centro da Pirâmide os princípios do Lean são implementados de forma eficaz para gerar 
maior valor na gestão do portfólio de produtos e no planejamento e controle da produção, de modo 
que a empresa possa atingir suas metas com menor custo e menor time-to-market.
Estratégia de ação: • Transformar a visão em objetivos específicos e 
 mensuráveis
• Planejar e controlar o fluxo de valor com Scrum 
 e Kanban
• Rastrear e tornar visível
• Melhorar o todo continuamente
A base a Pirâmide Lean fornecerá os fundamentos essenciais das práticas ágeis 
de engenharia de software que permitirão que você responda com segurança às 
mudanças do negócio, enquanto mantém uma estratégia de desenvolvimento de 
produtos de alta qualidade, produtividade e com baixos custos.
• Construir com integridade
• Tornar simples e emergir sem desperdícios
• Compartilhar conhecimento
• Automação inteligente de testes e 
 deployment
Estratégia de ação:
Jo
y
 
 
 
In
n
ov
at
io
n
 
 
 
Cr
ea
ti
vi
ty
 
 
 
 
St
ro
ng
 
rel
ati
ons
hips
 TRUST Cohesion
 
Agility
 
Respect
 
Sel f-m
an
agem
ent
Responsibility Discipline Owners
hip
 
 
Tea
mw
or
k
 
 
O conceito por trás 
da Pirâmide Lean 
ajuda a criar uma 
organização 
produtiva, mantendo 
as pessoas motivadas 
e inovadoras.
Conheça alguns conceitos que fazem 
parte da Pirâmide Lean e suas principais 
contribuições nesse framework.
Lean
Identificar e separar 
desperdícios de valor. 
O Lean nos ajuda a 
entender desperdícios 
categorizando-os em 3 
tipos de desperdício:
No Lean a atividade mais fundamental é buscar em todo o ciclo de 
desenvolvimento e em toda a cadeia de valor esses desperdícios 
e eliminá-los completamente. 
Mura (Defeitos): 
são as irregularidades, bugs e outros problemas que consomem 
recursos, danificam a credibilidade e impedem um serviço ou 
produto de qualidade plena.
Muri (Sobrecarga): 
o mais danoso dos desperdícios pois, geralmente é muito difícil 
de ser identificado e seus efeitos colaterais desencadeiam uma 
série de problemas devastadores na organização.
Muda (Valor não agregado): 
é tudo aquilo que consome recursos sem adicionar valor ao 
cliente. Em software, funcionalidades extras, documentações 
burocráticas, processos extras, espera, filas, são desperdício.
Jidoka
JIDOKA
Jidoka é a automação inteligente, utilizada no Lean com o objetivo de aumentar a 
produtividade para tarefas repetitivas e também para eliminar a variabilidade de 
resultados quando tal variabilidade é indesejada. O Jidoka é atividade essencial no 
desenvolvimento ágil de software e pode ser utilizada para, dentre outras coisas, 
compilar, empacotar, efetuar o deployment, testar software e coletar métricas de 
forma automatizada.
Processos totalmente 
manuais
Jidoka + poka-yoke
Processos automatizados com 
detecção automática de erros.
Não requerem monitoramento 
humano.
Processos automatizados que 
requerem monitoramento 
humano
time
Just in
JUST IN TIME
Just in Time significa eliminar 
desperdícios fazendo somente o 
necessário, na quantidade neces-
sária, no momento necessário, 
no local necessário e nada mais. 
Em desenvolvimento ágil de 
software, utilizamos o Just in 
Time largamente em todas as 
fases do desenvolvimento, 
eliminando complexidades com 
o detalhamento do escopo só 
previamente ao seu 
desenvolvimento e também no 
desenho da arquitetura, que é 
criada de forma emergente para 
suportar as novas 
funcionalidades incrementadas 
ao longo do tempo.
O que é Just In Time? O que o Just in Time faz?
Principais mantras do Just in Time
Eliminação total de desperdícios
Sistema puxado de produção
Redução de trabalho em progresso
Zero defeitos
O que é necessário no JIT?
Participação ativa dos colaboradores
Pequenos lotes de trabalho
Controle total de qualidade
Engenharia 
O que se assume com o Just in Time
Ambiente estável
 Compromisso com a qualidade e 
eliminação de deseperdícios
 Envolvimento de todos os níveis 
da organização
Poka-Yoke
POKA-YOKE
Poka-yoke é a criação de mecanismos 
a prova de erros. Em outras palavras é 
criar sistemas ou processos que não per-
mitam que erros ocorram. Poka-yokeé largamente utilizado juntamente 
com o Jidoka para criação de mecanis-
mos de detecção automática de erros. 
Como exemplos de Poka-Yoke temos a 
utilização de TDD (Test Driven 
Development), a criação de 
suítes de testes automatizados 
ou, em sua forma mais simples, 
porém extremamente efetivos, 
check-lists que podem ser utilizados 
facilmente em qualquer parte do 
processo.
Pré-processo
Um erro está
prestes a ocorrer
Poka-Yoke do tipo 
controlar ou remover
Impede que 
um erro ocorra
Um erro
ocorreu
Poka-Yoke do tipo 
aviso ou atenção
Alerta quando 
um erro ocorre
Pós-processo
Cultura
Stop line
the 
CULTURA STOP THE LINE
Utilizada sozinha ou em conjunto com Jidoka e Poka-Yoke, a cultura stop the 
line é a abordagem comportamental das pessoas que compartilham do Lean 
mind-set e param absolutamente todas as suas atividades quando erros 
ocorrem. Esta parada tem por objetivo 
executar uma análise aprofundada 
para identificação da causa raiz dos
problemas, de modo que, uma vez 
solucionados pela causa raiz, tais 
problemas nunca mais voltem a 
ocorrer.
Kaizen
KAIZEN
Kaizen é o processo de melhoria 
contínua que é a parte mais essencial 
do Lean. A melhoria contínua é aplicada 
sistematicamente em todas as áreas da 
organização, seja para a evolução da 
arquitetura e da base de código, dos 
métodos de gestão da produção ou 
também da estratégia de negócios. Sua base 
é experimentação, inspeção e adaptação 
contínua e é fundamental para criação do 
pensamento sistêmico e para melhoria do 
todo.
Plan
Display
ClearAcknowlege
Problem Finding
Act
Check
Do
Os princípios fundamentais do 
Lean dispostos no topo da 
pirâmide são implementados nas 
camadas inferiores através das 
demais práticas ágeis.
Agile
Business
Analysi
s
Agilie Business Analysis é peça fundamental na 
Pirâmide Lean para que haja um claro 
entendimento do que é valor de negócio e 
de qual a visão se está buscando. Proporciona 
ferramentas simples e poderosas para 
identificação de valor e comunicação efetiva para 
toda a comunidade do produto. É também a base 
da gestão ágil de portfólios e do planejamento de 
entregas. Dentre suas ferramentas mais importantes 
temos MVP (Mininum Viable Product) e MMF (Minimum 
Marketable Features) muito utilizadas em Lean Start-up.
AGILE BUSINESS ANALYSIS
Business
Model
Validation
Customer
Development
SolutionCustomer
Feedback
Product
Product
Development
Kanban
KANBAN
Kanban é uma poderosa ferramenta 
para a gestão do fluxo de produção. 
Possibilita a redução de desperdícios 
ao passo em que expõe os gargalos 
através da gestão visual e da 
participação ativa dos colaboradores 
na melhoria contínua. Kanban é um 
dos elementos que habilita o Just-in-Time e produção puxada para criação de ambientes de alta 
performance. 
Entre suas práticas fundamentais estão:
• Visualização do e gestão do fluxo de trabalho: torna 
 visível o que normalmente fica escondido nas 
 organizações, permitindo a visão do todo e a 
 responsabilidade compartilhada;
• Limite para o trabalho em progresso (Limited WIP): 
 reduz estoques e aumenta o fluxo de prouduto acabado, 
 mantendo o foco no valor e na redução de desperdícios;
• Criação de políticas explícitas: as politicas que definim 
a gestão do fluxo de valor e os diferentes estados pe-
los quais este passa, bem como as regras para entrada e 
saída de cada estado são explícitas. Todos comprometem-
se a respeitá-las e adotá-las.
• Feedback Loops: implementação de ciclos de melho-
ria onde avaliam-se o fluxo de trabalho, demanda vs 
capacidade produtiva e métricas e indicadores vitais para 
mudança evolucionária.
• Colaboração ativa: kanban encoraja a colaboração ativa de 
todos os envolvidos na busca por pequenos incrementos 
de melhoria, criando um ambiente evolucionário para as 
pessoas e o sistema como um todo. 
Analysis Dev Test Deploy
Scrum
SCRUM
Scrum é um poderoso porém simples 
framework para gestão de projetos que 
implementa os princípios do Lean. Scrum 
é uma das principais ferramentas para ges-
tão ágil de projetos e na Pirâmide Lean ele 
desempenha um papel fundamental na 
criação de um ambiente de entrega e melhoria 
contínua. É um dos elementos essenciais para iniciar 
uma adoção ágil e permite conectar com eficácia 
estratégia e execução, para a criação de 
produtos inovadores que entreguem real valor 
aos seus usuários.
Baixe nosso Whitepaper com 
“7 passos para saber se você está utilizando o Scrum corretamente”.
Quer saber mais sobre Scum? 
AUTOMAÇÃO
Na engenharia de software a automação inteligente (Jidoka) 
deve ser usada largamente para automatizar atividades como: 
compilação, empacotamento, gestão de dependências, coleta 
de métricas, testes e instalação. A automação auxilia na 
redução de deseperdícios eliminando variabilidades 
indesejadas e aumentando extraordinariamente a 
produtividade na execução de tarefas repetitivas.
TDD
Test Driven Development refere-se ao conjunto de técnicas utilizadas para condificação onde 
o desenvolvedor trabalha em pequenos ciclos de melhoria de código, primeiro codificando um 
teste que falha, depois o criando código de produção mímino para que esse teste passe, depois 
a refatorando o código para levá-lo aos padrões de qualidade estabelecidos. TDD implementa 
o conceito de Test-First (teste primeiro) 
que pode ser usado não só no código 
mas em diversas áreas da organização. 
O TDD fomenta o desenvolvimento de 
arquiteturas mais simples, com 
menor acoplamento e encoraja 
um maior nível de pensamento no 
problema e na solução antes de 
ser implementada, eliminando 
desperdícios e criando maior 
confiança para o desenvolvedor. 
RED
GREENREFACTOR
TDD
1. Write a test
 that fails
2. Make the
 code work
3. Eliminate
 redundancy
REFACTORING
Refactoring ou refatoração 
“em português” é uma prática 
imprescindível para fomentar a 
melhoria contínua da base de 
código existente. Refactoring 
consiste em uma série de padrões 
de refatoração que tem por 
objetivo melhorar a estrutura do 
código sem contudo alterar sua 
funcionalidade. Visa tornar o 
código mais legível e mais fácil 
de ser mantido, testado e 
evoluido. Utililzado em conjunto 
com testes automatizados, 
simplicidade e arquitetura 
emergente torna-se uma 
ferramenta insanamente 
poderosa para criação de 
produtos de alta qualidade.
ARQUITETURA EMERGENTE
Arquitetura emergente é uma prática de engenharia de software que visa 
criar arquiteturas com design simples, somente com o mínimo necessário 
para suportar as capacidades de negócios que estão sendo construídas no 
momento, buscando rapidez e agilidade no desenvolvimento. 
É a implementação do Just-in-Time na criação de arquiteturas capazes de 
evoluir na medida em que o negócio evolui, evitando a criação de 
estruturas desnecessárias que aumentam o custo do desenvolvimento 
e manutenção do produto. 
TESTE
S 
AUTOM
AT IZAD
OS
De todas as práticas de engenharia que estão na base da Pirâmide, a utilização de testes automatizados é a 
mais importante. Os testes automatizados são blocos de código, chamados códigos de testes, que exercitam 
o código de produção e podem ser organizados em builds, podendo executar milhares de testes na aplicação 
em poucos minutos.
Testes automatizados adicionam 
qualidade severamente ao produto 
e possibilitam segurança para o 
desenvolvedor e para a organização 
em responder às mudanças de 
mercado com agilidade, 
produtividade e baixo custo. 
• Testes unitários: testam cada menor trecho de código do sistema;
• Testes integrados: testamclasses ou módulos do sistema de forma integrada;
• Testes funcionais: testam funções específicas do sistema de ponta a ponta, abrangendo todo o fluxo da 
informação e das regras de negócio;
• Testes de aceitação: testes inspirados na condição de aceitação do cliente ou usuário. Geralemente são 
aplicados diretamente na interface do sistema.
Acceptance
Functional Tests
Unit Tests Integration Tests
View Layer Business layerD atabase layer
Stress
Load
Tests
Os testes podem ser categorizados como:
INTEG
RAÇÃO
 
CONTÍN
UA
Integração contínua é uma prática que aprimora a gestão de configuração e o controle de versões 
do código do produto. Em essência, consiste em o desenvolvedor efetuar o commit de código com 
frequência de várias vezes ao dia no 
sistema de controle de versoes. Em 
processos maduros, a integração 
contínua é assistida por 
mecanismos automatizados que 
executam automaticamente 
todos os testes da aplicação, 
provendo feedback instantâneo 
e também o deploy automático 
do produto em caso de sucesso 
na execução dos testes.
A Integração Contínua extrai valor de 
todos os processos automatizados 
citados anteriormente para 
agregar vantagem competi-
tiva ao cliente e proporcio-
nar um elevado nível de per-
formance da organização.
A Pirâmide Lean foi criada 
para auxiliar organizações 
na difícil tarefa de promover 
uma adoção ágil efetiva e a 
conduzir a transformação 
organizacional necessária 
de forma harmoniosa. Esta 
é nossa contribuição para 
ajudar a tornar a indústria 
de software mais produtiva, 
humana e sustentável.
“Samuel Crescêncio”
Através da Pirâmide Lean, sua estratégia de adoção ágil terá mais sucesso e será 
mais eficaz.
Você irá perceber importantes transformações que trarão muito mais valor para 
suas relações com clientes e colaboradores.
 Entregar rapidamente um fluxo contínuo de valor para os clientes;
 Criar uma organização que aprende;
 Criar um ambiente de melhoramento contínuo.
 Construir com integridade;
 Valorização das pessoas e do time;
 Mais agilidade, criatividade e inovação.
 Confiança no grupo e dos clientes.
Sobre a OnCast
A OnCast é uma empresa de desenvolvimento de 
software e também de serviços de conhecimento 
que pratica o que há de mais moderno na indústria 
de software global, um conceito que visa auxiliar as 
empresas a equilibrar corretamente o uso de 
práticas, princípios e valores em todas os níveis de 
uma organização, com o objetivo de promover uma 
mudança segura e sustentável na cultura interna e 
nos métodos de desenvolvimento.
Mais sobre a OnCast em:
www.oncast.com.br

Continue navegando