desenvolvimento distribuído de software

50
Rafael Leonardo Vivian Rafael Leonardo Vivian (DIN-UEM) (DIN-UEM) rlvivian.uem [at] gmail [dot] com rlvivian.uem [at] gmail [dot] com Twitter: @rafaelvivian Twitter: @rafaelvivian Desenvolvimento Desenvolvimento Distribuído de Software Distribuído de Software

Upload: rafael-vivian

Post on 22-Apr-2015

716 views

Category:

Technology


2 download

DESCRIPTION

Palestra no SIFA 2011 - Faculdade Alvorada 25/08/2011 http://www.sifa2011.com.br/

TRANSCRIPT

Page 1: Desenvolvimento Distribuído de Software

Rafael Leonardo VivianRafael Leonardo Vivian (DIN-UEM) (DIN-UEM)rlvivian.uem [at] gmail [dot] comrlvivian.uem [at] gmail [dot] com

Twitter: @rafaelvivianTwitter: @rafaelvivian

Desenvolvimento Desenvolvimento Distribuído de SoftwareDistribuído de Software

Page 2: Desenvolvimento Distribuído de Software

Evolução doEvolução doDesenvolvimentoDesenvolvimento

de Softwarede Software

● Anos 50 e 60: não havia processo definido● Anos 80: modelagem de dados● Anos 90: orientação a objetos● Anos 2000: distribuição do processo de

desenvolvimento

– Desenvolvimento Distribuído de Software (DDS)– Global Software Development (GSD)

Page 3: Desenvolvimento Distribuído de Software

Fatores geradores de DDSFatores geradores de DDS

Desenvolvimento Desenvolvimento Distribuído de SoftwareDistribuído de Software

GlobalizaçãoGlobalizaçãoProcessos de terceirizaçãoProcessos de terceirização

Crescimento da importância dos SICrescimento da importância dos SI

Page 4: Desenvolvimento Distribuído de Software

GlobalizaçãoGlobalização

Desenvolvimento de softwareDesenvolvimento de software

● Mercado local para mercado global● Novas formas de cooperação e competição● Avanço da economia, sofisticação dos meios de

comunicação e pressão por custos● Redes de cooperação e internacionalização● Vantagens: custos, recursos humanos, benefícios

fiscais, qualidade, agilidade e customização

Page 5: Desenvolvimento Distribuído de Software

OutsourcingOutsourcing

Desenvolvimento de softwareDesenvolvimento de software

● Políticas de terceirização adotadas pelas empresas● Desenvolvimento de software é uma área-meio● Terceirização completa ou parcial das áreas de

sistemas e computação

Page 6: Desenvolvimento Distribuído de Software

OutsourcingOutsourcing

Fonte: Gartner/Brasscom

Page 7: Desenvolvimento Distribuído de Software

OutsourcingOutsourcing

Fonte: Gartner/Brasscom

Page 8: Desenvolvimento Distribuído de Software

Crescimento da Importância Crescimento da Importância dos Sistemas de Informaçãodos Sistemas de Informação

Desenvolvimento de softwareDesenvolvimento de software

● Papel estratégico nas empresas● Evolução do uso das tecnologias● Preocupação com novas abordagens● Apoio às novas demandas da área de negócios

Page 9: Desenvolvimento Distribuído de Software

Equipes DistribuídasEquipes Distribuídas

Desenvolvimento de softwareDesenvolvimento de software

● Melhorias nas ferramentas e métodos têm permitido que grupos distribuídos possam trabalhar em equipe em um mesmo projeto

Page 10: Desenvolvimento Distribuído de Software

Desenvolvimento Desenvolvimento Distribuído de SoftwareDistribuído de Software

Uma revoluçãoUma revoluçãoda maneira como seda maneira como se

desenvolve softwaredesenvolve software

Page 11: Desenvolvimento Distribuído de Software

Desenvolvimento Desenvolvimento Distribuído de SoftwareDistribuído de Software

Colaboração e cooperaçãoColaboração e cooperaçãoentre departamentos de organizaçõesentre departamentos de organizações

e grupos de desenvolvedores quee grupos de desenvolvedores quetrabalham em conjuntotrabalham em conjunto

Page 12: Desenvolvimento Distribuído de Software

Soluções GlobaisSoluções Globais

BenefíciosBenefícios

● Economia em termos de custo para grandes projetos● Profissionais habilitados em idioma diferente● Baixas taxas de rotatividade de pessoal● Incentivo de governos locais

Page 13: Desenvolvimento Distribuído de Software

Fatores Geradores de DDSFatores Geradores de DDS

Recursos globais a qualquer horaRecursos globais a qualquer hora

● Maiores vantagens competitivas com soluções globais, em outros países

Page 14: Desenvolvimento Distribuído de Software

Fatores Geradores de DDSFatores Geradores de DDS

Proximidade com o mercado localProximidade com o mercado local

● Conhecimento dos clientes e condições locais para oportunidades de mercado

Page 15: Desenvolvimento Distribuído de Software

Fatores Geradores de DDSFatores Geradores de DDS

Desenvolvimento Desenvolvimento time-to-markettime-to-market

● Vantagens do fuso horário:

– folow-the-sun (24 horas contínuas)

Page 16: Desenvolvimento Distribuído de Software

Desenvolvimento Desenvolvimento Distribuído de SoftwareDistribuído de Software

Obter vantagens competitivasObter vantagens competitivasassociadas a custo, qualidadeassociadas a custo, qualidade

e flexibilidade no desenvolvimento,e flexibilidade no desenvolvimento,aumentado a produtividadeaumentado a produtividade

e diminuindo os riscose diminuindo os riscos

Page 17: Desenvolvimento Distribuído de Software

Dificuldades em DDSDificuldades em DDS

Dispersão geográficaDispersão geográficaDispersão temporalDispersão temporal

Diferenças socioculturaisDiferenças socioculturais

Page 18: Desenvolvimento Distribuído de Software

Dispersão geográficaDispersão geográfica

Dificuldades em DDSDificuldades em DDS

● Distância física

Page 19: Desenvolvimento Distribuído de Software

Dispersão temporalDispersão temporal

Dificuldades em DDSDificuldades em DDS

● Diferenças de fuso horário

Page 20: Desenvolvimento Distribuído de Software

Diferenças socioculturaisDiferenças socioculturais

Dificuldades em DDSDificuldades em DDS

● Idioma● Tradições● Costumes● Normas● Comportamentos

Page 21: Desenvolvimento Distribuído de Software

Dificuldades em DDSDificuldades em DDS

A sensação de distânciaA sensação de distânciase multiplica em diversas dificuldadesse multiplica em diversas dificuldades

na coordenação do trabalhona coordenação do trabalhopara desenvolver softwarepara desenvolver software

Page 22: Desenvolvimento Distribuído de Software

Outros fatoresOutros fatores

Dificuldades em DDSDificuldades em DDS

● Questões estratégicas● Questões técnicas● Questões de gestão do conhecimento

Page 23: Desenvolvimento Distribuído de Software

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Demanda e custosDemanda e custosRapidez de resposta ao mercadoRapidez de resposta ao mercado

Mercado e presença globalMercado e presença globalRigor e experiênciaRigor e experiência

Sinergia culturalSinergia culturalEscalaEscala

Page 24: Desenvolvimento Distribuído de Software

Demanda e custosDemanda e custos

● Demanda por serviços de software supera disponibilidade de pessoas

● Alto custo dos profissionais● Disponibilidade de recursos equivalentes em outras

localidades a um custo mais baixo

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Page 25: Desenvolvimento Distribuído de Software

Rapidez de resposta ao mercadoRapidez de resposta ao mercado

● Redução do tempo para colocar um produto no mercado (time-to-market)

● Follow-the-sun: desenvolvimento 24 horas por dia

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Page 26: Desenvolvimento Distribuído de Software

Mercado e presença globalMercado e presença global

● Para satisfazer o mercado consumidor é necessária a presença das corporações

● Atingir o mercado global e ficar próxima de seus consumidores

● Empresa global é um atrativo de marketing

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Page 27: Desenvolvimento Distribuído de Software

Rigor e experiênciaRigor e experiência

● Para melhorar a comunicação as equipes tendem a melhorar a documentação e as ferramentas de colaboração

● Determinados locais desenvolvem experiência e habilidade em áreas pouco difundidas em outros pontos da organização

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Page 28: Desenvolvimento Distribuído de Software

Sinergia culturalSinergia cultural

● A diversidade amplia a criatividade e a inspiração● Encontrar novas formas de resolver problemas● Ampliar a capacidade de aprendizado

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Page 29: Desenvolvimento Distribuído de Software

EscalaEscala

● Centros de desenvolvimento de software aumentam e ficam difíceis de gerenciar

Fatores que motivamFatores que motivamo uso DDSo uso DDS

Page 30: Desenvolvimento Distribuído de Software

Níveis de Dispersão em DDSNíveis de Dispersão em DDS

Mesma localização físicaMesma localização físicaDistância nacionalDistância nacional

Distância continentalDistância continentalDistância globalDistância global

Page 31: Desenvolvimento Distribuído de Software

Níveis de Dispersão em DDSNíveis de Dispersão em DDS

Mesma localização físicaMesma localização física

Page 32: Desenvolvimento Distribuído de Software

Níveis de Dispersão em DDSNíveis de Dispersão em DDS

Distância nacionalDistância nacional

Page 33: Desenvolvimento Distribuído de Software

Níveis de Dispersão em DDSNíveis de Dispersão em DDS

Distância continentalDistância continental

Page 34: Desenvolvimento Distribuído de Software

Níveis de Dispersão em DDSNíveis de Dispersão em DDS

Distância globalDistância global

Page 35: Desenvolvimento Distribuído de Software

Modelos de Negócio em DDSModelos de Negócio em DDS

OutsourcingOutsourcingterceirizarterceirizar

InsourcingInsourcing departamento ou subsidiáriadepartamento ou subsidiária

Controle e relação entre as pessoasControle e relação entre as pessoas

Page 36: Desenvolvimento Distribuído de Software

Modelos de Negócio em DDSModelos de Negócio em DDS

OnshoreOnshoremesmo paísmesmo país

OffshoreOffshorepaís diferentepaís diferente

Localização geográficaLocalização geográfica

NearshoreNearshorepaís diferente próximopaís diferente próximo

Page 37: Desenvolvimento Distribuído de Software

Modelos de Negócio em DDSModelos de Negócio em DDS

Controle e relação entre as pessoas

Outsourcing“terceirizar”

OnshoreOutsourcing

OffshoreOutsourcing

Insourcing“departamento ou subsidiária”

OnshoreInsourcing

OffshoreInsourcing

Onshore“mesmo país”

Offshore“outro país”

Localização geográfica

Page 38: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

Impacto na forma comoImpacto na forma comoos produtos são concebidos,os produtos são concebidos,

testados e entregues aos clientestestados e entregues aos clientes

Page 39: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

PessoasPessoasProcessoProcesso

TecnologiaTecnologiaGestãoGestão

ComunicaçãoComunicação

Page 40: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

PessoasPessoas

ConfiançaConfiançaDiferenças culturaisDiferenças culturais

Espírito de equipeEspírito de equipe

Page 41: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

ProcessoProcesso

Arquitetura do softwareArquitetura do softwareEngenharia de requisitosEngenharia de requisitos

Gerência de configuraçãoGerência de configuraçãoProcesso de desenvolvimentoProcesso de desenvolvimento

Page 42: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

TecnologiaTecnologia

Tecnologia de colaboraçãoTecnologia de colaboraçãoTelecomunicaçõesTelecomunicações

Page 43: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

GestãoGestão

Coordenação e controleCoordenação e controleGerenciamento de projetosGerenciamento de projetos

LegislaçãoLegislação

Page 44: Desenvolvimento Distribuído de Software

Alguns Desafios do DDSAlguns Desafios do DDS

ComunicaçãoComunicação

AwarenessAwarenessFormas de comunicaçãoFormas de comunicação

Fusos horáriosFusos horários

Page 45: Desenvolvimento Distribuído de Software

ConclusõesConclusões

Desenvolvimento DistribuídoDesenvolvimento Distribuídode Software é uma realidadede Software é uma realidade

Page 46: Desenvolvimento Distribuído de Software

ConclusõesConclusões

Equipes distribuídasEquipes distribuídasapresentam diversasapresentam diversas

dificuldades e desafiosdificuldades e desafios

Page 47: Desenvolvimento Distribuído de Software

ConclusõesConclusões

Confiança e espírito de equipeConfiança e espírito de equipeControlar processoControlar processo

ColaboraçãoColaboraçãoCoordenaçãoCoordenação

Equipes distribuídas precisamEquipes distribuídas precisam

ComunicaçãoComunicação

Page 48: Desenvolvimento Distribuído de Software

Perguntas?Perguntas?

Apresentação disponível em:Apresentação disponível em:www.din.uem.br/~pg45189/sifa-dds.pdfwww.din.uem.br/~pg45189/sifa-dds.pdf

Rafael Leonardo VivianRafael Leonardo Vivian (DIN-UEM) (DIN-UEM)rlvivian.uem [at] gmail [dot] comrlvivian.uem [at] gmail [dot] com

Twitter: @rafaelvivianTwitter: @rafaelvivian

Page 49: Desenvolvimento Distribuído de Software

Obrigado!Obrigado!

Rafael Leonardo VivianRafael Leonardo Vivian (DIN-UEM) (DIN-UEM)rlvivian.uem [at] gmail [dot] comrlvivian.uem [at] gmail [dot] com

Twitter: @rafaelvivianTwitter: @rafaelvivian

Page 50: Desenvolvimento Distribuído de Software

Extraído do livro “Desenvolvimento Distribuído de Extraído do livro “Desenvolvimento Distribuído de Software: desenvolvimento de software com Software: desenvolvimento de software com

equipes distribuídas”, Audy, J. e Prikladnicki, R., Rio equipes distribuídas”, Audy, J. e Prikladnicki, R., Rio de Janeiro : Elsevier, 2008. de Janeiro : Elsevier, 2008.