Your SlideShare is downloading. ×
Lean software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Lean software

191
views

Published on

A metodologia Lean, desenvolvida no Japão, gerou o sistema Toyota de produção (TPS) que também pode é conhecido como Lean Manufacturing. Surgiu logo após a Segunda Guerra mundial. O objetivo de …

A metodologia Lean, desenvolvida no Japão, gerou o sistema Toyota de produção (TPS) que também pode é conhecido como Lean Manufacturing. Surgiu logo após a Segunda Guerra mundial. O objetivo de detecção e eliminação de desperdícios pode ser considerado como a grande contribuição do Lean em termos de processos.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
191
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Por Sergio Crespocrespo@dcc.ufmg.br
  • 2.  A filosofia "Lean Thinking" (ou"Pensamento Enxuto") nasceu emmeados dos anos 90 com olançamento do best seller "TheMachine That Changed the World :The Story of Lean Production". Osprincípios de demanda puxada (pullsystems), just-in-time, qualidadetotal, teoria das restrições, melhoriacontínua e flexibilidade aplicadosna indústria japonesa, maisprecisamente na Toyota econhecidos como Toyota Wayinspiraram também a indústria desoftware e fez surgir a abordagemdo Lean Software Development.
  • 3.  Mary e Tom Poppendieck (gurus de Leanvoltado a TI, defensores do agile e autores dolivro: "Lean Software Development - An AgileToolkit" que mostra como os princípios Leanpodem ser aplicados em abordagens dedesenvolvimento de software ágil), definiramassim o Lean:
  • 4.  “Entregar, aumentando continuamente valor parao cliente; Continuamente diminuir o esforço gasto; No prazo mais curto possível; Com a melhor qualidade possível a jornada, nãoum destino. “ De forma mais concisa, o Lean Manufacturing é“uma filosofia que quando implementada reduz otempo desde o pedido até à entrega ao clienteeliminando fontes de desperdício no fluxo deprodução” (Liker, 1996).Liker, J. (1996). Becoming Lean. New York:Free Press
  • 5.  Podemos ainda definir desperdício (Guedes,2011) como “alguma interrupçãodesnecessária, falta de coordenação, trabalhodesnecessário, ou redundâncias que nãoadicionam qualquer valor ao cliente” (Kleiner,2005).Jorge F. Guedes, Introdução de conceitos Lean às Tecnologias deInformação: um caso de estudo em Banca, dissertação de mestrado,Faculdade de Engenharia da Universidade do Porto , 2011Kleiner, A. (2005). Leaning toward utopia.
  • 6.  Segundo o estudo CHAOS, conduzido pelo“Standish Group” em 1995, apenas 29% dosprojectos de IT conseguem ser bemsucedidos, sendo que 53% conseguem sercompletados com atrasos ou aumentos deorçamento e 18% simplesmente falham. Estesvalores são já muito superiores aos 16% desucesso em 1994, com 53% de deslizes e 31%de falhas.
  • 7.  O fraco planejamento das aplicações devetambém ser considerado visto que, segundo omesmo estudo (Standish Group, 2004), 64% dasaplicações desenvolvidas não são usadas ou sãousadas raramente. Um outro estudo publicado em 2001 indica queapenas 5% do código era útil ou até mesmousado (Cohen, Larson and Ware, 2001). Pensandoque cada linha de código desenvolvida tem umcusto, somado ao custo do desenho,implementação e manutenção do mesmo,tornando estes dados realmente preocupantes.Cohen, D., Larson, G. & Ware, B. (2001). Improving Software Investmentsthrough Requirements Validation
  • 8. Tentando resumir em uma frase, Lean é um princípioágil cujo foco é cortar a "gordura" do processo desoftware, focando na eliminação de desperdícios.Princípios Lean aplicados aosoftware:1. Elimine Desperdícios2. Inclua a Qualidade no Processo3. Crie Conhecimento4. Adie Decisões e Comprometimentos5. Entregue o quanto antes6. Respeite as Pessoas e "Empower" a equipe7. Otimize o Todohttp://goo.gl/od1q
  • 9.  Princípio #1 – Eliminar desperdícios Desperdícios: tudo aquilo que não agrega valorpara cliente final e que não são percebidos pelocliente. Exemplo: passos extras, processo pesado erígido, burocracia, documentação que nunca vaiser lida, que está na prateleira juntando poeira -não necessária, etc. Outro tipo de desperdíciosão trabalhos parcialmente prontos, tudo quecomeça e não termina, funcionalidades extrasque não serão utilizadas, etc.http://goo.gl/od1q
  • 10. http://goo.gl/od1q
  • 11.  Requisitos, especificados muito cedo queperdem sua credibilidade, eficácia ecompromete a usabilidade do sistema. Trabalho incompleto (“em-progresso”) -Parcialmente feitos Trabalhos parcialmenteiniciados / terminados tendem a se tornarobsoletos.http://goo.gl/od1q
  • 12.  Burocracia, atividades, métricas, etc que nãogeram valor e que diminui o tempo deresposta. Você alguma vez já se perguntou, todaaquela documentação e papelada é realmentenecessária?http://goo.gl/od1q
  • 13.  80% das funcionalidades implementadas nãosão utilizadas. 20% das funcionalidades é que são realmenteúteis. Código não-utilizado introduz complexidadee a complexidade é um inimigo damanutenção. Mais código para ser mantido.Mais testes para serem realizados. Maisdocumentos de especificação para seremcriados. Se o código não é necessário agoracolocá-lo no sistema é desperdício.http://goo.gl/od1q
  • 14.  Corrida de revezamento deve ser substituídapela equipe multi-funcional. Quanto maior os handoff’s maior é a perdade conhecimento. Organizar pessoas emmúltiplos projetos é outra forma dedesperdício. Quanto tempo se perde para parar umadeterminada atividade e iniciar outra,relembrar onde parou, concentrar-se efinalmente produzir algo?http://goo.gl/od1q
  • 15.  Atrasos na entrega, atrasos em geral são purodesperdício e irão gerar aumento do custo doprojeto. Em muitos casos, atrasos são apenas a ponta doiceberg para problemas muito maiores. Espera: Um dos maiores desperdícios nodesenvolvimento de Software é a espera para queas coisas aconteçam. Espera para o início doprojeto, pela montagem da equipe, espera pelaprodução de documentação extensa, espera porprocesso de revisão ou aprovação, espera paratestar, etc. Veja, analise o que deve ser mantido,o que agrega valor e o que é puro desperdício.http://goo.gl/od1q
  • 16.  Equipes ágeis se esforçam ao máximo paraevitar defeitos. “Inspecionar para prevenir defeitos é bom; Inspecionar para encontrar defeitos édesperdício” -- Shigeo Shingo Defeitos (Bugs) não agregam valor, nãosatisfazem o cliente, e custam muito muitocaro.http://goo.gl/od1q
  • 17.  Tempo e esforço gasto para encontrarinformações. Equipes ágeis valorizam a conversa e por issotrazem o cliente para perto, não devemosperder tempo lendo páginas e páginas de umdocumento para encontrar uma informaçãoque ao mesmo tempo por estar na formaescrita muitas vezes são imprecisas e podetrazer mais dúvidas do que resolver oproblema.http://goo.gl/od1q
  • 18.  Qualidade é inegociável. Entregue qualidadeintrínseca e explícita aos seus clientes, seeles perceberem isso, significa que foi umaentrega de qualidade. Um produto possui integridade percebidaquando o cliente o experimenta e diz: Isso!Era exatamente isso que eu queria! Software com integridade percebida possuiboas arquiteturas, possuem um alto nível deusabilidade e facilidade de uso, são fáceis dedar manutenção, de adaptar e de estender.http://goo.gl/od1q
  • 19.  Criar conhecimento e partilhá-lo sempre que há alguma “liçãoaprendida”. Desta forma, não só a mesma pessoa não comete omesmo erro duas vezes, como há partilha dessa experiência paraoutros não cometerem o mesmo erro. Desta forma é possívelevitar erros e defeitos, bem como contribuir para uma maiorformação dos colaboradores.Práticas sugeridas para promover o conhecimento: Ciclos de feedback e inspeções e adaptações; Desenvolvimento iterativo; Equipes pequenas; Treinamentos e Mentoring; Criação e utilização de standards, guidelines e qualquer outroartefato; Code Reviews; Meios de compartilhamento de informações como um Blog ou Wiki;http://goo.gl/od1qJorge F. Guedes, Introdução de conceitos Lean às Tecnologias de Informação:um caso de estudo em Banca, dissertação de mestrado, Faculdade deEngenharia da Universidade do Porto , 2011
  • 20.  O principal conceito deste princípio édiminuir as incertezas retardando as decisõesaté que possam serem feitas com base emacontecimentos mais firmes, previsíveis econhecidos. Decisões tardias tendem a sermais acertadas porque as melhores decisõessão feitas baseadas em fatos, e não emsuposições ou especulações.http://goo.gl/od1q
  • 21. Sem entregas rápidas não é possível colherfeedback.Sem entregas rápidas não é possível aprendercom erros.Velocidade na entrega garante que o clientereceberá o que ele precisa hoje e não o que eleprecisava ontem.http://goo.gl/od1q
  • 22.  Envolver os desenvolvedores nos detalhes dasdecisões técnicas é fundamental para oatingimento da excelência. Práticas sugeridas para promover ocapacitação/agregação do time:◦ Auto-gestão◦ Trabalho em equipe◦ feedbackhttp://goo.gl/od1q
  • 23. Otimizar desde o começo até o final: Utilize Métricas Diminua o número de métricas dedesempenho individual mas valorize odesempenho da equipe.Meça : Tempo de ciclo +Mapa de Fluxo de Valor ROI + Modelo de Lucros e Perdas Satisfação do Cliente + Entendimento dassuas necessidadeshttp://goo.gl/od1q
  • 24.  Segundo Fadel e Silveira (2010), a metodologiaLean utiliza técnicas de produção puxada (pull)para agendar o trabalho e são dotadas demecanismos com sinalizações locais, os quaisajudam os outros desenvolvedores a identificaremo trabalho que precisa ser realizado. A sinalizaçãolocal é feita através de gráficos visuais, reuniõesdiárias, integrações frequentes e testesautomatizados. No desenvolvimento de software Lean, esta técnicade produção puxada é correspondente à entregade versões refinadas e incrementais do softwareem intervalos de tempo regulares.FADEL, Aline Cristine. SILVEIRA, Henrique da Mota. Metodologias ágeis no contexto dedesenvolvimento de software: XP, Scrum e Lean. Limeira, 2010. Disponívelem:<http://www.ceset.unicamp.br/liag/Gerenciamento/monografias/Lean%20Agil_v8.pdf >Acesso em: 18 jun 2012.
  • 25.  Kanban é um termo de origem japonesa e significaliteralmente “cartão” ou “sinalização”. É umconceito relacionado com a utilização de cartões(post-it e outros) para indicar o andamento dosfluxos de produção em empresas de fabricação emsérie. Nesses cartões são colocadas indicaçõessobre uma determinada tarefa, por exemplo, “paraexecutar”, “em andamento” ou “finalizado”.
  • 26.  O Kanban é definido como um processo adaptativode produção, extremamente simples e altamenteeficiente. Essa definição é ótima pois sintetiza bemo que ele é. Primeiro ele é um processo, podemosentender processo como um conjunto de passosque cooperam para um objetivo definido, segundo,ele é adaptativo, quer dizer que ele foi feito para seadaptar a qualquer realidade, qualquer tipo deprodução.
  • 27.  A utilização de um sistema Kanban permite um controledetalhado de produção com informações sobre quando,quanto e o que produzir. O método Kanban foiinicialmente aplicado em empresas japonesas defabricação em série e está estreitamente ligado aoconceito de “just in time”. Just in time (JIT) significa “no momento certo”. É ummodelo japonês que procura eliminar estoques eagilizar a produção. Armazena-se o mínimo de matériaprima em estoque, apenas em quantidade que permitamanter o processo produtivo no momento. O númerode fornecedores também é reduzido para o modelofuncionar de forma eficiente.
  • 28. http://goo.gl/t8UMb
  • 29. TargetProcessFree License: Free for Teams of 5 Users or lessCommercial: http://www.targetprocess.com/Buy_TargetProcess.aspxView VideoLeanKit KanbanFree License: Free for 5 Users/1BoardCommercial : http://leankitkanban.com/Home/PricingAndSignupHansoftFree License: Free for 2 Users and unlimited projectsCommercial : http://www.hansoft.se/download/license-fees.htmlView VideoKanbaneryFree License: 1 Board, 2 Users, 1GB spaceCommercial : http://kanbanery.com/pricingView VideoAgileZen Free License: Free for 1 ProjectCommercial : http://agilezen.com/pricingView VideoJAM Circle Free License: Free Commercial : Free Download(http://sourceforge.net/projects/jamcircle/)Kanban tools