Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Kanban no desenvolvimento de projetos de software - Revista Engenharia de Software Magazine 45
Neste artigo será apresentado o método Kanban, uma interessante e simples abordagem para monitoramento e melhoria de processos de software que tem uma forte inspiração no Sistema Toyota de Produção.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Engenharia de Software Magazine 45
Não há mais dúvidas de que a indústria de software é uma das mais importantes atualmente. O mercado brasileiro de software e serviços de TI, segundo o último relatório da ABES [9], é de US$ 19 bilhões e cresce de 25% a 30% ao ano desde 2004. Porém, grande parte do software produzido ainda é defeituoso, inadequado aos desejos do cliente, entregue fora do prazo e acima dos custos esperados.
Observando esses e muitos outros problemas, há mais de 10 anos, 17 profissionais da área escreveram e assinaram um manifesto: o manifesto para desenvolvimento ágil de software. Neste, todos concordaram com alguns valores comuns, dentre eles:
· As metodologias ágeis concentram-se nas pessoas envolvidas na produção;
· Os planejamentos em longo prazo são falhos;
· É mais importante aceitar e adaptar-se a mudanças do que seguir planos rígidos;
· Software funcionando é o melhor indicador de progresso nos projetos de software.
Tendo como base grande parte dos
princípios desse manifesto, bem como a filosofia Lean do Sistema Toyota de
Produção (TPS – Toyota Production System), surgiu o Kanban para Desenvolvimento
de Software.
A filosofia Lean tem como objetivo a constante identificação e a eliminação de qualquer espécie de desperdício no sistema de produção.
A história do Kanban para desenvolvimento de software, assim como a história da grande maioria das metodologias, modelos de maturidade, processos de desenvolvimento e processos em geral, começa com um grande desejo, muitas ideias, testes (na prática) e diversos ajustes (o método “científico”) até atingir os primeiros casos de sucesso.
A principal diferença do Kanban para as demais metodologias de desenvolvimento de software atuais é que ele foi um modelo adaptado de outra indústria, a de manufatura, mais especificamente da Toyota. David Anderson [1] foi o grande responsável por essa adaptação.
A história começa em 2002, quando Anderson, cansado de ver
equipes de desenvolvimento e departamentos inteiros de TI à mercê de outros departamentos, decide
voltar seus esforços
para responder a duas perguntas [1]:
1.
Como proteger a
minha equipe da demanda incessante de negócio e alcançar o que a comunidade ágil chama de ritmo
sustentável?
2.
Como
adotar uma abordagem ágil em toda a empresa e superar inevitáveis resistências
à mudança?
Como cita em seu último livro, Kanban:
Successful Evolutionary Change for Your Technology Business [1], publicado em
2010, Anderson tinha um grande desejo: encontrar no setor de TI uma relação “ganha-ganha”
entre o departamento de negócio e as equipes de desenvolvimento de software e
TI.
Na tentativa de atingir esses objetivos,
David idealizou, testou e falhou muitas vezes nas diversas organizações em que
trabalhou. Ele
notou que implantar um processo de desenvolvimento de software totalmente
prescritivo, na maioria das vezes, não funcionava. Assim, chegou à conclusão
que um processo precisava ser adaptado para cada situação, e que para fazer
isso, era necessária uma liderança ativa em cada equipe. Porém, esta era muitas
vezes inexistente. E, mesmo com uma liderança certa, ele duvidava que mudanças
significativas acontecessem sem uma metodologia ou, no mínimo, sem orientações
de como adaptar o processo para atender a diferentes situações.
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Thiago Ghisi
Twitter: @thiagoghisi Pós-graduando em Gestão de Negócios (UNISUL). Bacharel em Ciência da Computação (UNISUL, 2011). Técnico em Redes de Computadores (SENAI, 2005). É consultor certificado para implementação do MPS.BR e Sun Certified Programmer for the Java Platform, SE 6. Há 6 anos no ramo de t...



