DDS AlexNery

  • View
    231

  • Download
    0

Embed Size (px)

DESCRIPTION

DDS

Text of DDS AlexNery

  • *Processos para Desenvolvimento Distribudo de Software

    Alex Nery Borges Jnior

    anbj@cin.ufpe.brCentro de Informtica CIn/UFPESetembro / 2010

  • * Introduo; Conceitos de DDS; Motivaes para o DDS; Nveis de Disperso; Modelos de Negcios; Desafios do DDS; Processos para o DDS; Oportunidades de Pesquisas; Consideraes Finais;Estrutura da Apresentao

  • Introduo

  • *DDS - Introduo Globalizao de negcios; Avanos das tecnologias de informao e comunicao; Aumento da importncia dos softwares para as empresas; Processos de terceirizao de servios; Distribuio dos processos de software e surgimento do DDS;

  • Conceitos

  • *DDS - ConceitosDesenvolvimento Distribudo de Software: um modelo de desenvolvimento de software onde os envolvidos em um determinado projeto esto dispersos (Carmel, 1999).

    Caractersticas:Distncia Fsica;Diferena de fuso-horrio;Diferenas culturais;

  • *DDS - ConceitosEquipe global: um conjunto de desenvolvedores localizados em cidades ou pases diferentes que trabalham em conjunto em um projeto comum.

    Organizaes virtuais: so empresas caracterizadas por realizar partes de um projeto em departamentos localizados em cidades ou pases diferentes, comportando-se como se estivesse em um mesmo local.

    Desenvolvimento Global de Software (GSD): uma forma de desenvolvimento distribudo de software que ocorre quando a distncia fsica entre os envolvidos no projeto envolve mais de uma pas (Karolak, 1998).

  • *GSD Global Software Development

    DSD Distributed Software Development

    GDD Geographically Distributed Development

    DDS Desenvolvimento Distribudo de Software

    DDS - Terminologias

  • Motivaes

  • *DDS - MotivaesDisponibilidade de recursos globais equivalentes com custo mais baixo e a qualquer hora;

    Possibilidade de rpida formao de equipes virtuais para explorar as oportunidades de mercado;

    Disponibilidade de recursos especializados em determinadas reas;

  • *DDS - MotivaesPossibilidade de desenvolvimento follow-the-sun (24 horas contnuas de trabalho), que permite o aumento de produtividade e a reduo dos prazos de entrega dos produtos;

    Escalabilidade, que permite o crescimento de empresas para outras regies;

    Vantagem de presena no mercado local, que permite o conhecimento dos clientes, das condies locais e o desenvolvimento do produto perto do cliente;

  • Nveis de Disperso

  • DDS - Nveis de DispersoDistncia Fsica Inter-Atores;

  • * Mesma localizao fsica: todos os atores esto em um mesmo lugar. No existem dificuldades de reunies e h comunicao constantes entre os membros.

    Distncia Nacional: as equipes distribudas esto localizadas em um mesmo pas. As reunies acontecem com menos freqncia.

    Distncia Continental: as equipes distribudas esto localizadas em pases diferentes, mas nomes continente. As reunies face a face ficam mais difceis de acontecer e o fuso-horrio pode dificultar a interao entre as equipes.

    Distncia Global: as equipes esto em pases e continentes diferentes. As reunies face a face geralmente acontecem no incio do projeto e as dificuldades de comunicao e diferenas culturais podem ser barreiras para o projeto.DDS - Nveis de Disperso

  • Modelos de Negcio

  • *DDS Modelos de Negcio (Prikladiniki)Onshore Insourcing: departamento dentro da empresa ou uma subsidiria da empresa no mesmo pas.

    Offshore Insourcing: subsidiria da empresa para prover servios de desenvolvimento de software em um pas diferente da empresa contratante.

    Onshore Outsourcing: contratao de um empresa terceirizada localizada no mesmo pas da empresa contratante.

    Offshore Outsourcing: contratao de uma empresa terceirizada localizada em um pas diferente da contratante

  • Desafios

  • *DDS - DesafiosO DDS envolve fatores como a distncia fsica, diferenas de fuso-horrio e diferenas culturais;

    Antigos desafios so agravados e novos desafios so acrescentados na rea de desenvolvimento de software;

  • *DDS - Desafios

  • DDS - DesafiosArquitetura do Software: A definio de uma arquitetura apropriada reduz a complexidade do projeto;A arquitetura apropriada para um projeto com equipes distribudas deve se basear no princpio da modularidade (Karolak, 1998);Reduz a complexidade;Permite alocar tarefas de forma distribuda;Permite um desenvolvimento em paralelo simplificado;

  • DDS - DesafiosEngenharia de Requisitos: A Engenharia de Requisitos contm diversas tarefas que necessitam de boa comunicao e coordenao;Com isso, essas tarefas se tornam mais complexas em um ambiente de DDS; importante uma boa infra-estrutura de comunicao para as equipes;

  • DDS - DesafiosGerncia de Configuraes: O controle de modificaes simultneas nos artefatos a partir de locais diferentes pode ser uma tarefa bastante complexa e gerar riscos para o projeto;O gerenciamento de configurao uma atividade fundamental para controlar as varias partes desenvolvidas em um projeto distribudo; importante utilizar ferramentas de gerncia de configurao no controle da documentao e do software;

  • DDS - DesafiosProcesso de Desenvolvimento: O uso de metodologias de desenvolvimento para auxiliar o processo de desenvolvimento distribudo importante, pois permite o alinhamento e a padronizao das atividades realizadas pelas equipes distribudas;O processo de desenvolvimento deve padro em um ambiente distribudo;

  • Processos

  • *DDS - ProcessosO DDS causa impacto no s no mercado em si, mas tambm nas etapas do processo de desenvolvimento de software;

    necessrio a utilizao de processos de desenvolvimento especficos para o ambiente distribudo;

    A seguir sero apresentados 2 processos especficos para o DDS, criados a partir da adaptao de processos voltados para o desenvolvimento co-localizado:

    Modelo de Karolak;DXP (Distributed Extreme Programming);

  • *DDS - Processos (Modelo de Karolak)Modelo de Karolak

    O autor aborda o DDS seguindo o ciclo de vida tradicional de um projeto de desenvolvimento de software (viso e escopo, requisitos, modelagem, implementao, teste, entrega e manuteno);

    Modelo para desenvolver projetos de DDS que define um conjunto de atividades que devem ocorrer ao longo do ciclo de vida do projeto e as caractersticas de cada atividade;

  • *DDS - Processos (Modelo de Karolak)Modelo de Karolak

  • O DXP um processo para o DDS que aplica princpios do XP em equipes distribudas;O DXP aborda:Conectividade entre os membros (uso da internet);Uso de ferramentas de gerenciamento de configurao;Compartilhamento de aplicao;Uso de videoconferncia; Familiaridade entre os membros;

    DDS - Processos (DXP)

  • *DDS - Processos (DXP)A tabela abaixo mostra alguns aspectos de XP que so relevantes para o DXP e se esses aspectos so ou no impactados devido a distribuio das equipes:

    Prticas do XP necessrio a equipe ser co-localizada?Jogo do PlanejamentoProgramao em ParIntegrao ContnuaCliente local Sim. Estes fatores dependem de uma aproximao entre o negcio, cliente e pessoal tcnico.Releases PequenosMetforasDesign SimplesTestesRefatoramentoPropriedade Coletiva40 horas semanaisPadro de codificaoNo. Independem de a equipe ser co-localizada ou no.

  • Desafios e Prticas:Comunicao: em algumas situaes deve ser analisada qual forma de comunicao deve ser adotada;Coordenao: necessrio planejamento das atividades e uma comunicao eficaz;Infra-estrutura: importante a escolha correta do Hardware e Software;Disponibilidade: deve ser divulgado um calendrio dirio ou semanal com a disponibilidade de cada membro da equipe;Gesto: relatrios dirios ou semanais com o andamento das atividades;DDS - Processos (DXP)

  • Oportunidades de Pesquisa

  • DDS - Oportunidades de PesquisaFerramentas de Colaborao e Suporte ao desenvolvimentoEscassez de ferramentas de Awareness de atividades (quem est fazendo o que);Escassez de ferramentas de disponibilidade (quem est disponvel quando);Escassez de ferramentas de Processo (quem deve fazer o que).

    Processo de Desenvolvimento em um Ambiente DistribudoAnlise e definio de quais prticas so efetivas em quais circunstncias /cenrios;

  • DDS - Oportunidades de PesquisaTestes de Software em Ambientes DistribudosCriao de Tcnicas para lidar com a privacidade dos dados;Processos especficos para minimizar a falta de preciso dos documentos de testes que so trocados entre Equipes Distribudas.

    Arquitetura de SoftwareComo projetar a arquitetura do software de forma a minimizar problemas de coordenao entre as equipes.

  • DDS - Oportunidades de PesquisaEspecificao e Gerncia de RequisitosPrever de forma proativa e atravs de mtodos especficos, quais requisitos, em um determinado cenrio distribudo pode riam ser considerado instveis.

    Desenvolvimento de Modelos de Maturidade para Ambientes DistribudosModelos de qualidade de software (CMMI, ISO 9001, MR MPS) no suportam DDS;Necessidade de abordagens de maturidade e capacidade.

  • Consideraes Finais

  • DDS - Consideraes finaisNo contexto da globalizao, a distribuio dos processos de desenvolvimento de software em locais estrategicamente distribudos tem se tornado uma prtica cada vez mais comum;

    Com o desenvolvimento distribudo de software, os problemas tradicionais da ES aumentaram e foram gerados novos desafios para a rea;

    A existncia de um processo de desenvolvimento de software nico e bem definido responde por grande parte dos resultados obtidos em um projeto de desenvolvimento distribudo;

  • DDS - Consideraes finaisOs requisitos so vistos como um grande desafio, envolvendo atividades desde a realizao de reunies at a formalizao (documentao) dos requisitos definidos, a rastrea