SlideShare a Scribd company logo
1 of 50
Pessoas ou processos? Entenda o que a Toyota, os processos e as pessoas tem haver com o desenvolvimento de software
Quem sou eu? Maurício Linhares BOT da lista de discussão do PBJUG Desenvolvedor da CodeVader Instrutor da LinuxFi Moderador do GUJ
Eu não posso ter pessoas E processos? Se você valoriza as pessoas, os processos tornam-se menos importantes, eles tornam-se mais maleáveis, eles não pertencem aos chefes, mas as pessoas;
Eu não posso ter pessoas E processos? Se você valoriza os processos, eles tornam-se mais importantes do que as pessoas que os executam (afinal, o processo já diz como as coisas devem ser), o trabalho das pessoas é apenas executar;
O que nós vemos no dia-a-dia? Processos normalmente são mais importantes do que as pessoas
Mas em alguns lugares, as pessoas são mais importantes do que os processos
Onde?
Como tudo começou? Japão, 1940; Povo pobre, mercado pequeno; Produção em massa era impossível, o mercado não seria capaz de absorver os produtos;
Como produzir carros em pequenas quantidades com o custo de carros produzidos em massa?
Elimine o desperdício! Essa foi a solução encontrada por TaiichiOhno, pai do Toyota Production System, simples, não?
Simples, até ele dizer pra você o que é desperdício Qualquer coisa que não gere valor para o cliente, é desperdício
Exemplos de desperdício segundo Ohno Estoque; Transporte; Movimento; Espera; Produzir algo antes da hora que ele é necessário; Serviços extras; Defeitos;
Como funciona uma indústria de carros da velha guarda? Vários departamentos diferentes produzem pilhas de produtos intermediários; Estes produtos ficam estocados nas fábricas até que a linha de produção precise deles;
Como funciona uma indústria de carros da velha guarda? Quando a linha de produção precisa de alguma coisa, vai ao estoque e pega os produtos que são necessários; Após reunir as partes, eles começam a produção, se houver alguma falha em alguma das partes e ela só for descoberta agora, tudo o que está no estoque vai pro lixo;
E como a Toyota faz? Só é produzido o que é necessário; Não existem diversas equipes para se produzir um carro, apenas uma “célula” cuida de fazer todo o trabalho; Se um defeito é encontrado, toda a linha de produção pára até que o defeito seja corrigido;
Onde entram as pessoas? Agora não é mais responsabilidade do processo garantir que as coisas funcionem, é das pessoas, pois agora todos controlam a linha de produção e tem o dever de mandar parar tudo se houver algum problema;
Mas o que é que isso tem haver com sofware? Você já teve que escrever “componentes” para uso futuro? Já escreveu documentos que ninguém leu? Já encontrou defeitos que impediam o uso de aplicações em produção?
Mas o que é que isso tem haver com software? Já adicionou uma funcionalidade que ninguém havia pedido? Já deixou o cliente esperando por uma ferramenta que nunca chega?
Toyota Production System – LeanDevelopment A prática do Lean Software development (e das metodologias ágeis no geral) tem como base os avanços da gestão industrial capitaneada pela Toyota e outras montadoras do Oriente;
Os 7 tipos de desperdício
Trabalho feito “pela metade” Sabe aquele seu framework “caseiro”, ele mesmo; Qualquer coisa que você faça que não vai ser utilizado imediatamente; No dia que você realmente precisar, será que ele atende as necessidades?
Processos extras Sabe aquele diagrama UML que ninguém olhou? Pois é, ficou obsoleto; Já pensou em quem está lendo esses documentos que você anda fazendo? Traças letradas essas viu. Cada folha de papel que você usa, é uma árvore a menos no mundo 
Funcionalidades extras “Olha, agora o menu aparece e desaparece!” Cada linha de código a mais é uma linha de código que precisa ser testada, compilada e documentada; Usuário + Opções = Problema
Troca de tarefas “Olha, você tem 8 horas hoje, então são 16 bugs para corrigir, um a cada 30 minutos, agora começa que os primeiros 30 minutos já tão contando”; Desenvolvimento de software é uma tarefa que se faz com o cérebro, quem trabalha com os dedos é digitador;
Uma pequena pausa para um clássico Peopleware, DeMarco e Lister; Desenvolvedores só produzem de verdade quando eles entram no estado de “flow”; Você só entra em “flow” após algum tempo de trabalho concentrado e initerrupto;
Espera “Seguinte, já tá quase pronto, mas eu só posso colocar em produção depois que o financeiro liberar a nota e o gerente terminar a planilha de horas”; Quanto o seu cliente perde de dinheiro a cada segundo sem utilizar a aplicação?
Movimento “Ei, você sabe se os testes passaram?” “Náo,  vai ali e pergunta pra equipe de testes” “O analista já tá com o documento de requisitos?” “Não, o arquiteto ainda tá validando ele”
Movimento “Como assim eu vou ter que ir pro Amazonas pra poder fazer uma visita ao cliente?” “Será que essa p&%%# só atende pelo callcenter?”
Defeitos “Errrrrr... Cê sabe aquela piada do gato que subiu no telhado?” “Sei.” “Sabe o banco de dados?” “Fala.” “Ele subiu no telhado.”
Mapeando o fluxo de valor Ou, como descobrir o quanto de dinheiro você está jogando no lixo antes de ir a falência.
A vida de uma latinha de refrigerante
Estatísticas Tempo total: 319 dias; Tempo executando alguma coisa de valor: 3 horas
Fluxo de valor em uma fábrica de software comum
Fluxo de valor no desenvolvimento ágil
Amplificando o aprendizado Porque desenvolver software ainda é explicar ao computador como o mundo funciona
Feedback é tudo Equipes ágeis trabalham em iterações curtas, recebendo feedback dos clientes o tempo todo e aprendendo com os especialistas do problema; Quanto menos tempo você perder fazendo a coisa do jeito errado, melhor;
Iterações e o aprendizado contínuo O desenvolvimento, assim como o aprendizado, funciona melhor em pequenas doses; É bem mais fácil aprender um pouco, aplicar e aprender mais um pouco do que “aprender tudo” e só depois aplicar; Se você dá passos curtos, a chance de cair é menor;
Decida o mais tarde possível Por que tomar a decisão agora se ela só precisa ser tomada amanhã?
Decidir ou não decidir, eis a questão Quanto mais cedo você decide, menos informações você tem; Maiores são os problemas causados por um erro nos seus cálculos; Mais engessada fica a estrutura da aplicação;
Minimizando ações irreversíveis As fontes de alimentação das impressoras da HP são específicas para cada país; As impressoras são todas iguais; Então impressoras não precisam ter uma fonte nelas;
Ao deixar a decisão para mais tarde... Você pode pensar e aplicar diversas opções; Pode aprender mais sobre o problema em questão; Você tem mais tempo para mudar o caminho a ser seguido;
Entregue o mais rápido possível Software com a metade das funcionalidades hoje é melhor do que software com metade das funcionalidades erradas amanhã
Pull systems Kanban e os estoques infinitos sem estoque
Pull systems e desenvolvimento de software O cliente define as funcionalidades e as prioridades para o ciclo atual; A equipe se reúne, diariamente, comenta o que já foi feito, o que está por fazer e os problemas encontrados; Ao fim da iteração, avalia-se se tudo foi realmente feito;
Gerencia pela visibilidade
O preço do atraso Quando o cliente receber o sistema, quanto ele vai deixar de gastar? Ele poderia ter recebido antes? Quanto seria a economia de ter começado a usar antes? Aprenda a fazer escolhas, ou lança, ou implementa todas as funcionalidades ou aumenta o preço, não dá pra ter tudo ao mesmo tempo;
O manifesto ágil Individuals and interactions over processes and tools Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan 
Qual a importância de tudo isso? Nós somos novos demais, temos que aprender com quem já administra a anos e já desenvolveu práticas melhores do que as nossas; Não somos tão diferentes ao ponto de não podermos nos aproveitar do que eles já descobriram;
Questões?
Referências DeMarco, Tom; Lister, Tim. Peopleware: ProductiveProjectsandTeams. DorsetHousePublishing. Poppendieck, Tom & Mary. Lean Software Development: AnAgile Toolkit.Addison-Wesley. DeMarco, Tom. Slack: GettingPastBurnout, BusyworkandtheMythof Total Efficiency. Broadway.

More Related Content

What's hot

Scrum - passos e desafios - agile tour
Scrum - passos e desafios - agile tourScrum - passos e desafios - agile tour
Scrum - passos e desafios - agile tourEduardo Bregaida
 
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...Thiago Compan
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoJerry Medeiros
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosPaulo César M Jeveaux
 
LKBR 2018 - WORKSHOP - CFC e LULA - Lean Kanban Brazil
LKBR 2018  - WORKSHOP - CFC e LULA - Lean Kanban BrazilLKBR 2018  - WORKSHOP - CFC e LULA - Lean Kanban Brazil
LKBR 2018 - WORKSHOP - CFC e LULA - Lean Kanban BrazilLuiz Rodrigues
 
Kanban: Aplicando TDD à melhoria contínua do seu processo
Kanban: Aplicando TDD à melhoria contínua do seu processoKanban: Aplicando TDD à melhoria contínua do seu processo
Kanban: Aplicando TDD à melhoria contínua do seu processoRodrigo Yoshima
 
Ger proj 4_sofismappd_v1.0_semnsi
Ger proj 4_sofismappd_v1.0_semnsiGer proj 4_sofismappd_v1.0_semnsi
Ger proj 4_sofismappd_v1.0_semnsiratem
 
Kanban: agilidade para ambientes conservadores
Kanban: agilidade para ambientes conservadoresKanban: agilidade para ambientes conservadores
Kanban: agilidade para ambientes conservadoresRodrigo Yoshima
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Annelise Gripp
 
Lean - Gestão e Princípios
Lean - Gestão e PrincípiosLean - Gestão e Princípios
Lean - Gestão e PrincípiosLourenco P Soares
 
Lean, Kanban e Kaizen para sua área de Tecnologia
Lean, Kanban e Kaizen para sua área de TecnologiaLean, Kanban e Kaizen para sua área de Tecnologia
Lean, Kanban e Kaizen para sua área de TecnologiaRodrigo Yoshima
 
Desenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPDesenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPlucianocoelho
 
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarTechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarLuiz Nörnberg
 
Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)Rodrigo Yoshima
 

What's hot (19)

Scrum - passos e desafios - agile tour
Scrum - passos e desafios - agile tourScrum - passos e desafios - agile tour
Scrum - passos e desafios - agile tour
 
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
 
Testador tipo t
Testador tipo tTestador tipo t
Testador tipo t
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
 
LKBR 2018 - WORKSHOP - CFC e LULA - Lean Kanban Brazil
LKBR 2018  - WORKSHOP - CFC e LULA - Lean Kanban BrazilLKBR 2018  - WORKSHOP - CFC e LULA - Lean Kanban Brazil
LKBR 2018 - WORKSHOP - CFC e LULA - Lean Kanban Brazil
 
Enter SCRUM
Enter SCRUMEnter SCRUM
Enter SCRUM
 
Kanban: Aplicando TDD à melhoria contínua do seu processo
Kanban: Aplicando TDD à melhoria contínua do seu processoKanban: Aplicando TDD à melhoria contínua do seu processo
Kanban: Aplicando TDD à melhoria contínua do seu processo
 
Ger proj 4_sofismappd_v1.0_semnsi
Ger proj 4_sofismappd_v1.0_semnsiGer proj 4_sofismappd_v1.0_semnsi
Ger proj 4_sofismappd_v1.0_semnsi
 
Kanban: agilidade para ambientes conservadores
Kanban: agilidade para ambientes conservadoresKanban: agilidade para ambientes conservadores
Kanban: agilidade para ambientes conservadores
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Lean - Gestão e Princípios
Lean - Gestão e PrincípiosLean - Gestão e Princípios
Lean - Gestão e Princípios
 
Lean, Kanban e Kaizen para sua área de Tecnologia
Lean, Kanban e Kaizen para sua área de TecnologiaLean, Kanban e Kaizen para sua área de Tecnologia
Lean, Kanban e Kaizen para sua área de Tecnologia
 
Desenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPDesenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XP
 
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarTechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
 
SETIC Scrum & XP
SETIC Scrum & XPSETIC Scrum & XP
SETIC Scrum & XP
 
Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)
 
Modelo ágil
Modelo ágilModelo ágil
Modelo ágil
 

Viewers also liked (13)

Cultura Lean, Cultura Toyota
Cultura Lean, Cultura ToyotaCultura Lean, Cultura Toyota
Cultura Lean, Cultura Toyota
 
Zappos
ZapposZappos
Zappos
 
How 3M Applies Lean Principles to Make Competitive Intelligence Impact Measur...
How 3M Applies Lean Principles to Make Competitive Intelligence Impact Measur...How 3M Applies Lean Principles to Make Competitive Intelligence Impact Measur...
How 3M Applies Lean Principles to Make Competitive Intelligence Impact Measur...
 
Toyota
ToyotaToyota
Toyota
 
Taiichi Ohno
Taiichi OhnoTaiichi Ohno
Taiichi Ohno
 
Tipos de tp's
Tipos de tp'sTipos de tp's
Tipos de tp's
 
Apresentação Lean Manufacturing
Apresentação Lean ManufacturingApresentação Lean Manufacturing
Apresentação Lean Manufacturing
 
1
11
1
 
Organogramas
OrganogramasOrganogramas
Organogramas
 
Lean Manufacturing Nova Visão
Lean Manufacturing Nova VisãoLean Manufacturing Nova Visão
Lean Manufacturing Nova Visão
 
Tcc sistema de produção toyota
Tcc sistema de produção toyotaTcc sistema de produção toyota
Tcc sistema de produção toyota
 
Estrutura organizacional
Estrutura organizacionalEstrutura organizacional
Estrutura organizacional
 
Innovation at 3M case analysis
Innovation at 3M case analysisInnovation at 3M case analysis
Innovation at 3M case analysis
 

Similar to Pessoas Ou Processos

5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de softwareMiguel Alho
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.Yan Magalhães
 
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe AlisonSoftwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe AlisonPotiLivre Sobrenome
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo RealLeandro Silva
 
ABPMP BPMS Show Case Leandro Jesus
ABPMP BPMS Show Case Leandro JesusABPMP BPMS Show Case Leandro Jesus
ABPMP BPMS Show Case Leandro JesusEloGroup
 
curso-228532-aula-10-20e2-completo 1..pdf
curso-228532-aula-10-20e2-completo  1..pdfcurso-228532-aula-10-20e2-completo  1..pdf
curso-228532-aula-10-20e2-completo 1..pdfkassiocarlos
 
Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Leonardo Kobus
 
Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...
Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...
Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...Fabio Miranda
 
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...Julio Cesar Nunes de Souza
 
NuGet - Gerenciando dependências em .NET
NuGet - Gerenciando dependências em .NETNuGet - Gerenciando dependências em .NET
NuGet - Gerenciando dependências em .NETVinicius Quaiato
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosGiovani Elísio Silva
 
Cap 25 - Erros, Alertas e Confirmação
Cap 25 - Erros, Alertas e ConfirmaçãoCap 25 - Erros, Alertas e Confirmação
Cap 25 - Erros, Alertas e ConfirmaçãoRobert Ranger
 

Similar to Pessoas Ou Processos (20)

Extreme programming explicada
Extreme programming explicadaExtreme programming explicada
Extreme programming explicada
 
Extreme Programming Explicada
Extreme Programming ExplicadaExtreme Programming Explicada
Extreme Programming Explicada
 
5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 
Excelência - PUC
Excelência - PUCExcelência - PUC
Excelência - PUC
 
O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.O mercado de trabalho para a T.I.
O mercado de trabalho para a T.I.
 
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe AlisonSoftwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
ABPMP BPMS Show Case Leandro Jesus
ABPMP BPMS Show Case Leandro JesusABPMP BPMS Show Case Leandro Jesus
ABPMP BPMS Show Case Leandro Jesus
 
curso-228532-aula-10-20e2-completo 1..pdf
curso-228532-aula-10-20e2-completo  1..pdfcurso-228532-aula-10-20e2-completo  1..pdf
curso-228532-aula-10-20e2-completo 1..pdf
 
Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.
 
Debugging node
Debugging nodeDebugging node
Debugging node
 
Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...
Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...
Gestão de produtos - Como aumentar as chances de sucesso do seu software - Ca...
 
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 
NuGet - Gerenciando dependências em .NET
NuGet - Gerenciando dependências em .NETNuGet - Gerenciando dependências em .NET
NuGet - Gerenciando dependências em .NET
 
Lean software
Lean software Lean software
Lean software
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
 
Cap 25 - Erros, Alertas e Confirmação
Cap 25 - Erros, Alertas e ConfirmaçãoCap 25 - Erros, Alertas e Confirmação
Cap 25 - Erros, Alertas e Confirmação
 

More from Maurício Linhares

Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropMaurício Linhares
 
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMaurício Linhares
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleçõesMaurício Linhares
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismoMaurício Linhares
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratosMaurício Linhares
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecasMaurício Linhares
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com javaMaurício Linhares
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Outsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemOutsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemMaurício Linhares
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Maurício Linhares
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 

More from Maurício Linhares (20)

Mercado de TI
Mercado de TIMercado de TI
Mercado de TI
 
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
 
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Curso java 07 - exceções
Curso java   07 - exceçõesCurso java   07 - exceções
Curso java 07 - exceções
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismo
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Curso java 02 - variáveis
Curso java   02 - variáveisCurso java   02 - variáveis
Curso java 02 - variáveis
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Migrando pra Scala
Migrando pra ScalaMigrando pra Scala
Migrando pra Scala
 
Outsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemOutsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvem
 
Mercado hoje
Mercado hojeMercado hoje
Mercado hoje
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Revisão html e java script
Revisão html e java scriptRevisão html e java script
Revisão html e java script
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 

Recently uploaded

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 

Recently uploaded (9)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Pessoas Ou Processos

  • 1. Pessoas ou processos? Entenda o que a Toyota, os processos e as pessoas tem haver com o desenvolvimento de software
  • 2. Quem sou eu? Maurício Linhares BOT da lista de discussão do PBJUG Desenvolvedor da CodeVader Instrutor da LinuxFi Moderador do GUJ
  • 3. Eu não posso ter pessoas E processos? Se você valoriza as pessoas, os processos tornam-se menos importantes, eles tornam-se mais maleáveis, eles não pertencem aos chefes, mas as pessoas;
  • 4. Eu não posso ter pessoas E processos? Se você valoriza os processos, eles tornam-se mais importantes do que as pessoas que os executam (afinal, o processo já diz como as coisas devem ser), o trabalho das pessoas é apenas executar;
  • 5. O que nós vemos no dia-a-dia? Processos normalmente são mais importantes do que as pessoas
  • 6. Mas em alguns lugares, as pessoas são mais importantes do que os processos
  • 8. Como tudo começou? Japão, 1940; Povo pobre, mercado pequeno; Produção em massa era impossível, o mercado não seria capaz de absorver os produtos;
  • 9. Como produzir carros em pequenas quantidades com o custo de carros produzidos em massa?
  • 10. Elimine o desperdício! Essa foi a solução encontrada por TaiichiOhno, pai do Toyota Production System, simples, não?
  • 11. Simples, até ele dizer pra você o que é desperdício Qualquer coisa que não gere valor para o cliente, é desperdício
  • 12. Exemplos de desperdício segundo Ohno Estoque; Transporte; Movimento; Espera; Produzir algo antes da hora que ele é necessário; Serviços extras; Defeitos;
  • 13. Como funciona uma indústria de carros da velha guarda? Vários departamentos diferentes produzem pilhas de produtos intermediários; Estes produtos ficam estocados nas fábricas até que a linha de produção precise deles;
  • 14. Como funciona uma indústria de carros da velha guarda? Quando a linha de produção precisa de alguma coisa, vai ao estoque e pega os produtos que são necessários; Após reunir as partes, eles começam a produção, se houver alguma falha em alguma das partes e ela só for descoberta agora, tudo o que está no estoque vai pro lixo;
  • 15. E como a Toyota faz? Só é produzido o que é necessário; Não existem diversas equipes para se produzir um carro, apenas uma “célula” cuida de fazer todo o trabalho; Se um defeito é encontrado, toda a linha de produção pára até que o defeito seja corrigido;
  • 16. Onde entram as pessoas? Agora não é mais responsabilidade do processo garantir que as coisas funcionem, é das pessoas, pois agora todos controlam a linha de produção e tem o dever de mandar parar tudo se houver algum problema;
  • 17. Mas o que é que isso tem haver com sofware? Você já teve que escrever “componentes” para uso futuro? Já escreveu documentos que ninguém leu? Já encontrou defeitos que impediam o uso de aplicações em produção?
  • 18. Mas o que é que isso tem haver com software? Já adicionou uma funcionalidade que ninguém havia pedido? Já deixou o cliente esperando por uma ferramenta que nunca chega?
  • 19. Toyota Production System – LeanDevelopment A prática do Lean Software development (e das metodologias ágeis no geral) tem como base os avanços da gestão industrial capitaneada pela Toyota e outras montadoras do Oriente;
  • 20. Os 7 tipos de desperdício
  • 21. Trabalho feito “pela metade” Sabe aquele seu framework “caseiro”, ele mesmo; Qualquer coisa que você faça que não vai ser utilizado imediatamente; No dia que você realmente precisar, será que ele atende as necessidades?
  • 22. Processos extras Sabe aquele diagrama UML que ninguém olhou? Pois é, ficou obsoleto; Já pensou em quem está lendo esses documentos que você anda fazendo? Traças letradas essas viu. Cada folha de papel que você usa, é uma árvore a menos no mundo 
  • 23. Funcionalidades extras “Olha, agora o menu aparece e desaparece!” Cada linha de código a mais é uma linha de código que precisa ser testada, compilada e documentada; Usuário + Opções = Problema
  • 24. Troca de tarefas “Olha, você tem 8 horas hoje, então são 16 bugs para corrigir, um a cada 30 minutos, agora começa que os primeiros 30 minutos já tão contando”; Desenvolvimento de software é uma tarefa que se faz com o cérebro, quem trabalha com os dedos é digitador;
  • 25. Uma pequena pausa para um clássico Peopleware, DeMarco e Lister; Desenvolvedores só produzem de verdade quando eles entram no estado de “flow”; Você só entra em “flow” após algum tempo de trabalho concentrado e initerrupto;
  • 26. Espera “Seguinte, já tá quase pronto, mas eu só posso colocar em produção depois que o financeiro liberar a nota e o gerente terminar a planilha de horas”; Quanto o seu cliente perde de dinheiro a cada segundo sem utilizar a aplicação?
  • 27. Movimento “Ei, você sabe se os testes passaram?” “Náo, vai ali e pergunta pra equipe de testes” “O analista já tá com o documento de requisitos?” “Não, o arquiteto ainda tá validando ele”
  • 28. Movimento “Como assim eu vou ter que ir pro Amazonas pra poder fazer uma visita ao cliente?” “Será que essa p&%%# só atende pelo callcenter?”
  • 29. Defeitos “Errrrrr... Cê sabe aquela piada do gato que subiu no telhado?” “Sei.” “Sabe o banco de dados?” “Fala.” “Ele subiu no telhado.”
  • 30. Mapeando o fluxo de valor Ou, como descobrir o quanto de dinheiro você está jogando no lixo antes de ir a falência.
  • 31. A vida de uma latinha de refrigerante
  • 32. Estatísticas Tempo total: 319 dias; Tempo executando alguma coisa de valor: 3 horas
  • 33. Fluxo de valor em uma fábrica de software comum
  • 34. Fluxo de valor no desenvolvimento ágil
  • 35. Amplificando o aprendizado Porque desenvolver software ainda é explicar ao computador como o mundo funciona
  • 36. Feedback é tudo Equipes ágeis trabalham em iterações curtas, recebendo feedback dos clientes o tempo todo e aprendendo com os especialistas do problema; Quanto menos tempo você perder fazendo a coisa do jeito errado, melhor;
  • 37. Iterações e o aprendizado contínuo O desenvolvimento, assim como o aprendizado, funciona melhor em pequenas doses; É bem mais fácil aprender um pouco, aplicar e aprender mais um pouco do que “aprender tudo” e só depois aplicar; Se você dá passos curtos, a chance de cair é menor;
  • 38. Decida o mais tarde possível Por que tomar a decisão agora se ela só precisa ser tomada amanhã?
  • 39. Decidir ou não decidir, eis a questão Quanto mais cedo você decide, menos informações você tem; Maiores são os problemas causados por um erro nos seus cálculos; Mais engessada fica a estrutura da aplicação;
  • 40. Minimizando ações irreversíveis As fontes de alimentação das impressoras da HP são específicas para cada país; As impressoras são todas iguais; Então impressoras não precisam ter uma fonte nelas;
  • 41. Ao deixar a decisão para mais tarde... Você pode pensar e aplicar diversas opções; Pode aprender mais sobre o problema em questão; Você tem mais tempo para mudar o caminho a ser seguido;
  • 42. Entregue o mais rápido possível Software com a metade das funcionalidades hoje é melhor do que software com metade das funcionalidades erradas amanhã
  • 43. Pull systems Kanban e os estoques infinitos sem estoque
  • 44. Pull systems e desenvolvimento de software O cliente define as funcionalidades e as prioridades para o ciclo atual; A equipe se reúne, diariamente, comenta o que já foi feito, o que está por fazer e os problemas encontrados; Ao fim da iteração, avalia-se se tudo foi realmente feito;
  • 46. O preço do atraso Quando o cliente receber o sistema, quanto ele vai deixar de gastar? Ele poderia ter recebido antes? Quanto seria a economia de ter começado a usar antes? Aprenda a fazer escolhas, ou lança, ou implementa todas as funcionalidades ou aumenta o preço, não dá pra ter tudo ao mesmo tempo;
  • 47. O manifesto ágil Individuals and interactions over processes and tools Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan 
  • 48. Qual a importância de tudo isso? Nós somos novos demais, temos que aprender com quem já administra a anos e já desenvolveu práticas melhores do que as nossas; Não somos tão diferentes ao ponto de não podermos nos aproveitar do que eles já descobriram;
  • 50. Referências DeMarco, Tom; Lister, Tim. Peopleware: ProductiveProjectsandTeams. DorsetHousePublishing. Poppendieck, Tom & Mary. Lean Software Development: AnAgile Toolkit.Addison-Wesley. DeMarco, Tom. Slack: GettingPastBurnout, BusyworkandtheMythof Total Efficiency. Broadway.