Buscar

estudo preliminar do estado da arte do desenvolvimento distribuído de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

DESENVOLVIMENTO DISTRIBUÍDO DE SOFTWARE: 
UM ESTUDO PRELIMINAR DO ESTADO DA ARTE 
Gabriel Torres da Rocha Pehls1 
Centro Universitário Ritter dos Reis – UniRitter1 
Bacharelado em Sistemas de Informação – Engenharia de Software 
90840-440 – Porto Alegre – RS – Brazil 
gabrielpehls@hotmail.com 
Abstract. With the advancement of technology and the resources available, the 
complexity of the development was becoming bigger. Such complexity requires that 
software development is done in teams, made in a common environment, location, 
which allows a greater flow of information between those involved, can follow 
various strategies for the organization of facilities. One of the major problems in 
software development is planning, which is the starting point of any activity related 
to software development. One of the actions taken to advance the planning and 
development itself is the distribution of teams and environments included in the 
process, both for cost reduction, and for rapid, inclusive and global development, the 
Distributed Software Development (DSD), or Global Software Development (DGS). 
This study aimed to collect data on such a model, such as the challenges associated 
to the use of DDS / DGS, some frameworks already ready to overcome obstacles, 
best practices that lead to a significant improvement in distributed project teams, 
among many other information gathered. 
Resumo. Com o avanço da tecnologia e dos meios disponíveis, a complexidade do 
desenvolvimento foi se tornando cada vez maior. Tal complexidade exige que o 
desenvolvimento de software seja realizado em equipes, feito em um ambiente 
comum, local, que permite um maior fluxo de informações entre os envolvidos, pode 
seguir várias estratégias para a organização das instalações. Um dos grandes 
problemas no desenvolvimento de software é o planejamento, que é o ponto de 
partida de qualquer atividade relacionada ao desenvolvimento de software. Uma das 
atitudes tomadas para o avanço do planejamento e do desenvolvimento em si, é a 
distribuição de equipes e ambientes incluídos no processo, tanto para diminuição de 
custos, quanto para um desenvolvimento rápido, inclusivo e global, com o 
Desenvolvimento Distribuído de Software (DDS), ou Desenvolvimento Global de 
Software (DGS). 
Este trabalho teve o intuito de levantar dados sobre tal modelo, como por exemplo, 
os desafios associados á utilização do DDS/DGS, alguns frameworks já prontos para 
superar obstáculos, boas práticas que levam a uma melhora sensível em times de 
projetos distribuídos, dentre várias outras informações levantadas. 
Palavras-chave: Desenvolvimento Distribuído de Software; Desenvolvimento Global 
de Software; Estado da Arte; Desafios; Riscos. 
 
1. Introdução 
Com o avanço da tecnologia e dos meios disponíveis, a complexidade do 
desenvolvimento foi se tornando cada vez maior. Como define Fábio Levy Siqueira 
(2005, p. 1): 
“A complexidade das aplicações de software exigidas pelo 
mercado torna praticamente inviável o desenvolvimento 
realizado por uma única pessoa. Mesmo quando o objetivo é 
criar sistemas de pequeno porte e com lógica de negócio 
simples, existem outros fatores como a qualidade e o prazo que 
podem exigir mais de uma pessoa para resolver o problema. 
Com isso, são necessárias equipes de desenvolvimento de 
software que, além do imprescindível conhecimento técnico, 
tenham habilidades gerenciais e de comunicação para dividir o 
esforço de forma colaborativa. [...]” 
Este desenvolvimento de trabalho em equipe, feito em um ambiente comum, local, que 
permite um maior fluxo de informações entre os envolvidos, pode seguir várias 
estratégias para a organização das instalações, como feito, por exemplo, pelo Extreme 
Programming, utilizando-se de vários Frameworks, como por exemplo, o SCRUM, que 
juntos podem representar um determinado modelo, tomado como referência, que se 
adequa de acordo com a realidade do projeto que o utiliza. De acordo com Rafael 
Prikladnicki (2002, p.8), tal modelo deve ser operacionalizado por meio de uma 
metodologia, estabelecendo a relação e uma sequencia de atividades existentes, 
incluindo determinados métodos e ferramentas que darão suporte ao modelo de 
desenvolvimento e de organização. 
Um dos grandes problemas no desenvolvimento de software é o planejamento, que é o 
ponto de partida de qualquer atividade relacionada ao desenvolvimento de software 
(Prikladinicki, 2002, p.8). Uma das atitudes tomadas para o avanço do planejamento e 
do desenvolvimento em si, é a distribuição de equipes e ambientes incluídos no 
processo, tanto para diminuição de custos, quanto para um desenvolvimento rápido, 
inclusivo e global, com o Desenvolvimento Distribuído de Software (DDS), ou 
Desenvolvimento Global de Software (DGS) (Moitra, 2001). 
 
 
.2. Conceitos 
O Desenvolvimento Distribuído de Software tem conquistado empresas ao redor do 
mundo principalmente em função de baratear custos, em razão de incentivos fiscais ou 
de concentração de massa crítica em determinadas áreas (Prikladinicki, 2002, p.11), 
tanto no caso da distribuição dentro de um mesmo país, quanto fora do país. Conforme 
Fábio Levy Siqueira (2005, p.3), a hora de um desenvolvedor de software nos Estados 
Unidos custa US$ 60 enquanto que na Índia ela custa cerca de US$ 6. (Institute, 2003). 
Em contraponto, de acordo com a necessidade da empresa, a dificuldade de encontrar 
 
uma mão de obra mais qualificada pode representar um fator importante para a escolha 
do DDS como modelo de desenvolvimento. 
Dentro do processo de desenvolvimento distribuído de software, de acordo com 
Laurinex da Silva Souza e Márcio Plaheta, no Congresso Brasileiro de Software (2013, 
p. 21), podemos identificar alguns atores principais: cliente, que se refere àquele que 
contratou o serviço; usuários, aqueles que de fato usarão o software desenvolvido; e os 
desenvolvedores, que se refere a toda a equipe envolvida no processo de 
desenvolvimento do software. 
Outro fator importante, neste processo, é o nível de dispersão entre os atores 
participantes do projeto, citados por Jorge Audy e Rafael Prikladnicki (2007, p.48-49), 
que pode ser classificado como: 
-Mesma localização física: todos os atores estão em um mesmo lugar. Não existem 
dificuldades de reuniões e há comunicação constante entre os membros. 
-Distância Nacional: as equipes distribuídas estão localizadas em um mesmo país. As 
reuniões acontecem com menos frequência. 
-Distância Continental: as equipes distribuídas estão localizadas em países diferentes, 
mas no mesmo continente. As reuniões face a face ficam mais difíceis de acontecer e o 
fuso-horário pode dificultar a interação entre as equipes. 
-Distância Global: as equipes estão em países e continentes diferentes. As reuniões face 
a face geralmente acontecem no início do projeto e as dificuldades de comunicação e 
diferenças culturais podem ser barreiras para o projeto. 
“Um ambiente de desenvolvimento de software distribuído é 
caracterizado quando pelo menos um dos atores envolvidos no 
processo estiver fisicamente distante dos demais. A equipe de 
desenvolvimento pode estar distribuída, seguindo os níveis de 
dispersão apresentados acima ou centralizadas, numa mesma 
localidade.” 
(Prikladnicki, 2002). 
 
Conforme a empresa a utilizar o DDS, existe um modelo de negócio definido para o 
projeto, visando obter vantagens em custo, qualidade, produtividade e diminuição de 
riscos. Para Jorge Audy e Rafael Prikladnicki (2007, p.60): 
-Onshore Insourcing (ou demanda doméstica interna): departamento dentro da empresa 
ou uma subsidiária da empresa no mesmo país (onshore) que provê serviços de 
desenvolvimentode softwares através de projetos internos (insourcing); 
-Offshore Insourcing (ou captive/internal offshoring): subsidiária da empresa para 
prover serviços de desenvolvimento de software (insourcing), em um país diferente da 
matriz da empresa ou empresa contratante (offshore). 
-Onshore Outsourcing (ou outsourcing): contratação de um empresa terceirizada 
(outsourcing), localizada no mesmo país da empresa contratante (onshore). 
 
-Offshore Outsourcing (ou offshoring): indica contratação de uma empresa terceirizada 
(outsourcing) localizada em um país diferente da contratante (offshore). 
-Nearshore Outsourcing (ou nearshoring): caracteriza a existência de atividades em 
outros países não tão distantes (por exemplo, transferir atividades dos EUA para o 
México ou Canadá). 
 
 
 
Figura 2.1 - Modelos de negócios de DDS, por Jorge Audy e Rafael Prikladnicki 
(2007, p. 60). 
 
3. Desafios 
 
Os desafios que compõem o desenvolvimento de software em geral também fazem parte 
do DDS, porém surgem outros desafios por apresentar em seu cenário características 
como a distância física entre os atores, diferenças culturais, fusos horários distintos, 
portanto a necessidade de um maior suporte tecnológico e uma melhor estrutura para 
tratar estas questões. (Audy, 2007) 
 Existem vários fatores que podem influenciar tanto negativamente, quanto 
positivamente, e também de forma neutra. Conforme Vanessa Marcos Gomes (2013, p. 
59), em uma pesquisa, os resultados indicaram que a maioria dos fatores de confiança 
impacta de forma neutra o desempenho de projetos distribuídos. Jalali, Gencel e Feri 
(2010) mostram em um estudo, com cinco empresas, que a construção de confiança é 
um processo estático, que evolui para uma situação dinâmica conforme o projeto se 
desenvolve. Dois dos fatores de confiança são citados, regularmente, como influentes 
negativos, a Traição e Alterações no Projeto, que causam impactos negativos em um 
relacionamento de trabalho ou, no caso do segundo ponto, as mudanças frequentes 
alteram os resultados do projeto. 
 
 
 
 
Em seu trabalho, Vanessa Marcos Gomes (2013, p. 62) apresenta o seguinte quadro: 
 
 
Fig.3.1 - Fatores que influenciam em um projeto distribuído, por Vanessa Marcos 
Gomes (2013) 
Este quadro demonstra fatores negativos (abaixo), positivos (acima) e neutros (ao lado), 
que influenciam o desempenho de projetos de DDS, conforme a pesquisa efetuada pela 
autora. 
Wallace Streitenberger Moreno (2014, p. 39) cita Jorge Audy (2003), ao destacar como 
principais grandes problemas no DDS as Dispersões Geográficas e Temporais, bem 
como as Diferenças culturais. Com tais problemas, Prikladnicki e Audy (2003) 
evidenciam algumas reações positivas e negativas, em questões estratégicas (medir 
custos e riscos), culturais (responsabilidades e valores entre as equipes), Técnicas 
(relacionada a infraestrutura da tecnologia envolvida (redes de comunicação de dados, 
plataformas de hardware, ambientes de software)), e questões de gestão do 
conhecimento (relativo às informações nos processos distribuídos). 
Tais problemas, segundo Moreno (2014, p.39-44), possibilitam a abertura para vários 
outros Desafios, organizados em categorias: 
 
 
 
 
-Desafios relacionados às Pessoas: 
 -Confiança: 
 Com a confiança, adquirimos uma maior interação entre as pessoas envolvidas 
no projeto. Gomes (2014) apresenta uma entrevista entre diversas equipes, relacionando 
aspectos positivos, negativos ou neutros, conforme já apresentado; 
 -Conflitos: 
 São considerados comuns no ambiente de DDS, mas se acabam por prolongar-se 
demais, podem implicar em perda de produtividade. Os conflitos podem ser 
classificados em técnicos, se a resolução pode ser feita com o próprio desenvolvimento 
do projeto, e não técnicos, se há discussão de decisões de vários tipos. 
 -Diferenças culturais: 
 Um dos maiores desafios em projetos globais é atingir o equilíbrio entre as 
culturas e suas diferenças. Ao atingir o equilíbrio, segundo Moreno (2014, p. 40), a 
equipe cria sua própria cultura (microcultura). Rocha (2013) aponta três tipos de 
culturas existentes em todos os centros, a local, a cultura agregada da organização 
matriz, e a cultura existente da unificação de ambas as culturas. Aponta ainda que pode 
gerar problemas, oriundos principalmente por conflitos culturais e falhas de 
comunicação, impactando na motivação da equipe, colaboração e na confiança entre as 
partes. Carmel (1999) ainda aponta que as diferenças culturais podem levar a criação de 
estereótipos, podendo ser associado a preconceitos. Hofstede (2005) mostra que existem 
cinco dimensões para identificar as diferenças culturais entre nações: 
 -Distância do poder, onde há maior distância de poder, a hierarquia é mais 
reverenciada, enquanto que onde encontramos uma menor distância, as pessoas tendem 
a se considerar iguais aos seus superiores hierárquicos. 
 -Individualismo, onde as pessoas pensam mais em si mesmas e seus interesses 
pessoais, e coletivismo, onde privilegiam o grupo acima do indivíduo. 
 -Masculinidade, com maiores diferenças entre os papéis, e feminilidade, onde 
os papéis se sobrepõem. 
 -Incerteza, onde algumas sociedades tendem a evitar riscos e buscar 
estabilidade, e outras aceitam mudanças mais facilmente e quebram regras. 
 -Orientação em longo prazo, preocupando-se mais com o futuro, ou em curto 
prazo, olhando apenas para o presente, resultados imediatos. 
 -Ensino de DDS 
 Muitas empresas têm investido nos profissionais para lidarem com este novo 
processo, trazendo o ensino do mesmo como forma de aproximar seus funcionários a 
este contexto. 
 
 
 
 
 
 -Espírito de Equipe 
 Manter o espírito de equipe, na situação de uma distribuição geográfica variável, 
é um dos grandes desafios do DDS. Se há distância elevada, diferenças culturais e de 
fuso horário, o espírito de equipe pode desaparecer. 
 
 -Tamanho da Equipe 
 A equipe deve ter um tamanho passível para ser gerenciada no cenário de DDS. 
-Desafios relacionados a Processo 
 -Arquitetura de Software 
 Neste ponto, são definidas as atividades do projeto, especificando quem deve 
ficar com qual parte do projeto, o que reduz complexidade e permite desenvolvimento 
paralelo simplificado. Devem ser considerados dois critérios, de acoplamento e de 
coesão. 
 -Engenharia de Requisitos 
 Dentro de DDS a engenharia se compara ao modelo co-localizado, e tem 
diferentes tarefas que necessitam de alto nível de comunicação e coordenação. 
 -Gerência de Configuração 
 É a chave para controlar as múltiplas peças de um projeto distribuído, pois são 
controladas modificações nos artefatos em cada uma das localidades. Moreno (2014) 
cita Pilatti (2006) ao mostrar que a mesma apresenta desafios, como a gerência de 
modificações simultâneas em um produto a partir de diferentes locais, a aplicação 
consistente de padrões e a coordenação das modificações de forma efetiva em tempo. 
 -Processo de Desenvolvimento 
 É comum utilizar um processo de desenvolvimento, principalmente pois são 
definidos seus principais objetivos relacionados a sincronização de atividades (Pilatti, 
2006). Ao distribuir o processo de desenvolvimento em diversas localidades, a falta de 
localização pode tornar-se crítica, sendo importante adotar uma metodologia de 
desenvolvimento, visando dar responsabilidade à equipe. 
-Desafios relacionados á Tecnologia 
 -Tecnologia de Colaboração 
 A distância física das equipes, no DDS, impõe vários desafios, obrigando a 
equipe a encontrar meios alternativos para serem utilizados, visando uma melhor 
comunicação e troca de informação. Podemos dividirem dois tipos principais: 
 -Tecnologias genéricas de colaboração, que engloba mecanismos de 
comunicação, e 
-Tecnologias de colaboração para suporte, que compreendem ferramentas de 
gerência de configuração de software, com o objetivo de servir como propósito 
de informações para a equipe, sobre projeto, redução de retrabalho, suporte a 
coordenação de atividades e oferecer mecanismos para controle de qualidade. 
 
 -Telecomunicações 
 As conexões no processo de DDS devem ser confiáveis, pois são trocadas 
informações importantes do projeto, sendo escolhidas as melhores opções de 
comunicação de acordo com cada caso, bem como sua rede de telecomunicações mais 
apropriada e segura. 
 
-Desafios relacionados à Gestão 
 -Coordenação, Controle e Interdependência 
 Tais características contribuem diretamente para o objetivo e sucesso do projeto. 
Conforme Moreno (2014, p. 42), “Para ter sucesso, a equipe deve ser coordenada 
(integração das atividades e unidades organizacionais), ter controle (processo de adesão 
a metas políticas e padrões) e ter interdependência (um indivíduo assume 
responsabilidades negativas e positivas)”. 
 -Gestão de Portfólio de Projetos 
 Esta gestão deve realizar projetos corretos, de forma que dê suporte às 
estratégias definidas pela organização. 
 -Gerenciamento de Projetos 
 A principal característica é a adaptação de técnicas utilizadas em projetos co-
localizados, para diminuir desafios e dificuldades impostos pela dispersão da equipe. 
 -Gerência de Risco 
 Temos três categorias principais de riscos, a organizacional, técnica e de 
comunicação. Embora não estejam visíveis, a gerência destes riscos deve ocorrer em 
fases do desenvolvimento. 
 
 -Legislação 
 -Incentivos Fiscais e Tributários 
 Alguns países têm adotado políticas e incentivos para atrair operações de 
desenvolvimento de software de empresas internacionais, que podem trazer alguns 
benefícios determinantes das unidades distribuídas dessas empresas. 
 -Propriedade Intelectual 
 Com a utilização do DDS, pode ser destacada a chegada de desafios 
relacionados a registros, comercialização de patentes, a titularidade e direito sobre os 
royalties, o registro de software, o licenciamento e direito de uso, surgindo dificuldades 
com esses padrões de trabalho. 
 
 
 
 
 -Modelos de Negócio 
 O DDS envolve vários conceitos de modularidade de processos, cabendo á 
empresa definir melhor utilização do seu módulo de negócio. 
 -Seleção e Alocação de Projetos 
 A realização do DDS em um cenário no qual o projeto está mal planejado pode 
definir o fracasso instantâneo das estratégias de DDS. Para ter organização, é necessário 
que existam atividades de análise, de seleção e de alocação de projetos a partir de 
formas e critérios estabelecidos. 
 
-Desafios relacionados à Comunicação 
 -Awareness 
 Vem da capacidade de ter consciência, ter percepção das atividades 
desenvolvidas, que podem apresentar desafios significantes no DDS. 
 -Contexto 
 Ao desenvolver algum projeto distribuído, podem existir vários contextos de 
informação, pois diversos fatores tornam-se heterogêneos, podendo levar informações a 
serem interpretadas erroneamente, levando a diversos conflitos. 
 -Estilo de Comunicação 
 Podemos encontrar duas maneiras de comunicação, a expressiva e a 
instrumental, sendo que a segunda apresenta-se com contatos mais raros, o que pode 
influenciar o desempenho das equipes. 
 -Formas de Comunicação 
 A comunicação informal torna-se quase extinta, sendo necessária cautela na 
comunicação para que efeitos como mudanças no tom de voz, ou qualquer outro fator 
comportamental torne-se desfavorável. O contato com o cliente deve ser o mais próximo 
possível do face-to-face, durante o entendimento dos requisitos, bem como qualquer 
tarefa que envolva uma cooperação mais intensiva. 
 -Fusos horários 
 Para Moreno (2014), é indispensável que a equipe tenha ciência dos fusos 
relacionados, para não existir problemas de tempo, de tarefas, entre outros serviços. 
Hess (2012) nos apresenta um processo para minimizar as dificuldades de projetos que 
adotam a estratégia Follow-The-Sun, sendo utilizado na fase de desenvolvimento, com a 
metodologia cascata. Para o mesmo, o FTS apropria-se do desafio de fusos horários 
como uma vantagem estratégica. Hess, ainda, cria um processo para facilitar a interação 
e diminuir a influência dos desafios e riscos aliados ao FTS: 
 
“O processo proposto foi chamado de FTSProc. Este processo 
utiliza como base os conceitos chamados de Composite Persona 
(CP) [Denny, 2008] e 24hr Design and Development [Fadel, 
2000]. Estes trabalhos estão detalhadamente descritos na seção 
 
2.3 juntamente com os trabalhos relacionados. Ainda, o processo 
criado utiliza algumas técnicas provenientes das metodologias 
ágeis, como por exemplo, Test-driven development (TDD), 
integração contínua e as perguntas que guiam as reuniões de 
stand-up, oriundas de Scrum.” 
(Hess, 2012, p.59) 
 
 
-Distância Física 
 A sensação de distância aumenta diversas dificuldade relacionadas a 
coordenação do trabalho de desenvolvimento, o que diminui a comunicação entre a (s) 
equipe (s), trazendo os problemas descritos em Comunicação. Este desafio, 
coincidentemente, pode levar a algumas pequenas vantagens, gerando, por exemplo, 
uma rivalidade saudável no decorrer do desenvolvimento, gerando uma qualidade maior 
no Software em si. 
 Outra vantagem é a possibilidade de utilizar uma estratégia para projetos de 
desenvolvimento distribuído de software conhecida como Follow-the-sun (FTS), onde 
as tarefas são repassadas diariamente, entre os locais de trabalho que possuem muitos 
fusos horários de diferença, criando um fluxo de trabalho interminável. (Betts; Rocha. 
2005; 2013.) Tal modelo, porém, cria barreiras maiores, visto que utiliza locais 
distantes, provavelmente com idiomas, culturas e formas de trabalho totalmente 
diferentes, levando a problemas de Cultura e de Comunicação, por exemplo. 
 
4. Metodologia 
 
Foi elaborada uma pesquisa de artigos científicos de acordo com as palavras chaves 
abaixo, relacionadas com o assunto apresentado: 
Para o Google Acadêmico: (1998-2010) 
-KW em qualquer lugar- 
Palavras-chave Resultados Retornados (Aproximadamente) 
desenvolvimento distribuído de software 14.900 
desenvolvimento global software 18.800 
global development of software 1.450.000 
distributed development of software 1.260.000 
 
 
 
 
 
-KW no título- 
Palavras-chave Resultados Retornados (Aproximadamente) 
desenvolvimento distribuído de software 60 
desenvolvimento global de software 9 
distributed development of software 221 
global development of software 128 
Para o Google Acadêmico: (2011-2016) 
-KW em qualquer lugar- 
Palavras-chave Resultados Retornados (Aproximadamente) 
desenvolvimento distribuído de software 15.300 
desenvolvimento global de software 22.000 
global development of software 1.450.000 
distributed development of software 1.200.000 
 
-KW no título- 
Palavras-chave Resultados Retornados (Aproximadamente) 
desenvolvimento distribuído de software 59 
desenvolvimento global de software 1 
distributed development of software 103 
global development of software 138 
 
 
Para o Google Acadêmico: (1998-2016) 
Palavras-chave 
 
Resultados Retornados (Aproximadamente) 
dds+nearshore 
 
560 
 
 
 
 
 
 
 
 
 
 
ResearchGate 
(sem opção de datas) 
 
Palavras-chave Resultados Retornados (Aproximadamente) 
desenvolvimento distribuído de software 1.000+ 
desenvolvimento global de software1.000+ 
distributed development of software 10.000+ 
global development of software 1.000+ 
 
Dentre tais resultados retornados, foram selecionados arbitrariamente 51 Artigos, dois 
Livros e três Sites, de Journals ou com artigos bem estruturados, baseados em pelo 
menos um dos tópicos: 
-Já foi citado em outros artigos? 
-É/faz parte do grupo com maior número de citações? 
-A partir de Artigos escolhidos, tal artigo é citado? 
-O artigo engloba a definição de um assunto específico abordado/palavra-chave 
específica? 
-É relevante ao assunto? 
Utilizando-se da plataforma Google Forms e o complemento Awesome Table View, foi 
feito uma análise gráfica/visual de palavras-chave evidentes no universo montado, em 
um intervalo específico de tempo. 
 
Por ter grande parte dos artigos, entre 1998 e 2010, de explicação conceitual/elaboração 
conceitual, verifica-se que há uma divisão evidente entre este período temporal e o 
período escolhido para representar o estado-da-arte do assunto envolvido (2011-2016). 
 
Com o menor intervalo, podemos verificar que a quantidade de artigos não tem uma 
variação muito grande, podendo mostrar uma elaboração conceitual contínua. 
 
 
Em apoio à informação anterior, a nuvem representando as palavras-chave mais 
recorrentes, mostra uma maior preocupação com o desenvolvimento Offshore, mas uma 
menor variação de números de recorrência de outras palavras. 
 
Os tipos de trabalho e metodologias aplicadas, porém, evidenciam uma quantidade 
maior de estudos e pesquisas, de variados tipos. 
 O intervalo de tempo de cinco anos representa um estado mais atual, podendo 
evidenciar certas características recorrentes a uma maioria específica de trabalhos 
produzidos. 
 
Em um intervalo de cinco anos, podemos ver a recorrência maior do conceito de 
outsourcing/offshore/onshore, mostrando que a contratação de empresas terceirizadas, 
seja dentro ou fora de um país, com maior destaque para contratos exteriores, é um 
assunto de maior número de trabalhos, e o seu estudo é um dos grandes tópicos 
registrados. 
Palavras-chave Resultados Retornados (Aproximadamente) 
onshore+global development of software 14.800 
offshore+global development of software 21.500 
Em uma pesquisa com todas as palavras-chave, entre 2011-2016, sobre offshore, 
obtivemos um resultado aproximado de 21.500 trabalhos, enquanto onshore retorna 
14.800 resultados. O maior número de trabalhos, embora possamos ter uma grande 
quantidade de elementos fora de contexto, demonstra uma produção maior de estudos 
dentro deste assunto. 
 
Com o aumento da globalização e da facilitação ao acesso da internet, as grandes 
empresas foram adequando-se a estas condições. Segundo variados autores, como por 
exemplo Hess (2012), Audy (2007), Kuhrmann (2016), entre tantos outros, um dos 
maiores desafios, fonte de grande parte de trabalhos de mitigação de riscos dentro do 
desenvolvimento global de software, é a comunicação entre equipes globalmente 
distribuídas, levando-nos a outras palavras-chaves com recorrência considerável (riscos, 
gerenciamento, boas (práticas)). 
Coelho (2015, p.1), por exemplo, mostra que há um grande avanço em direção à 
globalização dos negócios, onde muitas organizações começam a experimentar o 
outsourcing, criando instalações para desenvolvimento de software em locais remotos. 
Steinmacher (2013), ainda nos mostra que o DDS tem se baseado em esquipes 
geograficamente distribuídas, caracterizando o desenvolvimento offshore. 
Duarte (2015) apresenta, em seu estudo de máquinas de tradução em tempo real, que o 
sistema de tradução do google possui níveis adequados de precisão, podendo ser 
utilizado no desenvolvimento de uma máquina de tradução de voz em tempo real, 
resolvendo um dos grandes problemas (idiomáticos) no desenvolvimento distribuído de 
software. 
 
 
Vê-se, ainda, que o ano de 2013 teve um leve aumento de publicações de acordo com a 
pesquisa selecionada. 
Foi detectado um grande número de artigos inválidos, irrelevantes ou fora do contexto 
especificado, sem relação alguma com o assunto. A partir de uma análise qualitativa, 
portanto, foram determinados os artigos mais relevantes para a pesquisa. 
 
 
Uma representação visual do número de autores de artigos mostra que Rafael 
Prikladnicki, Jorge Luis Nicolas Audy e Arif Ali Khan foram os autores com maior 
número de artigos selecionados. 
Audy, em algumas pesquisas do google acadêmico, mostra ter o número de citações 
média acima de 40, embora não exista um perfil específico do Dr. no Google 
Acadêmico, não sendo possível estabelecer exatamente um número de citações totais, 
embora o Computer Science Bibliography mostre 35 trabalhos autorais, estabelecendo 
uma média de mais de 1400 citações, Prikladnicki mostra ter 1989 citações totais, Khan 
tem menos citações, 35. 
Erran Carmel (1999), por sua vez, apresenta um artigo com 742 citações, tendo 6737 
citações totais, com todos os seus trabalhos. Seu principal artigo nos mostra o 
desenvolvimento global de software, com conceitos, desafios, riscos, entre outros 
tópicos. Produziu um livro, ao menos, com 942 citações no google acadêmico, titulado 
“Global software teams: collaborating across borders and time zones”. 
Jim Herbsleb (2001) possui 15266 citações totais, com um artigo principal, intitulado 
“Global software development”, juntamente com Deependra Moitra, que conta com 9 
artigos e 2 livros publicados, porém não foram encontradas informações sobre total de 
citações, por exemplo. 
 
 
 
 
5. Considerações Finais 
 
 
O desenvolvimento distribuído de software, bem como o desenvolvimento global de 
software, é uma forma de produção de software que consegue reunir diversas inovações 
tecnológicas ao seu favor, levando o desenvolvimento a qualquer lugar do planeta, mas, 
ao utilizar tal método, consequentemente poderemos ter vários tipos de problema, 
conforme o visto. 
Este trabalho teve o intuito de levantar dados sobre tal modelo, como por exemplo, os 
desafios associados á utilização do DDS/DGS, alguns frameworks já prontos para 
superar obstáculos, boas práticas que levam a uma melhora sensível em times de 
projetos distribuídos, dentre várias outras informações levantadas. Uma importante 
contribuição do trabalho foi o levantamento de outros trabalhos significativos e atuais 
sobre o assunto, com a estabilização de um exemplo preliminar de estado da arte. 
Em um próximo trabalho, pretende-se reunir, especificadamente, os desafios e 
problemas inerentes ao desenvolvimento offshore (fora do mesmo país), levando em 
consideração tópicos referentes ao time de desenvolvimento, e levantar frameworks e 
boas práticas específicos deste mesmo tópico, formando um conjunto de soluções para 
cada problema. 
 
6. Referências 
ALI, A. (2015). “Mitigação de riscos da distância sociocultural durante a comunicação 
em projetos de desenvolvimento global distribuído”, Nowshera, Pakistan. 
 
ALQAHTANI, A. S. WOOD, B. M. HARRISON, D. K. MOORE, J. D. (2014). 
“Framework de desenvolvimento para desenvolvimento ágil distribuído”, Glasgow, 
United Kingdom. 
 
ALVARENGA, F. Z. (2016). “Os efeitos da cultura nacional no desenvolvimento de 
sistemas de informação em equipes globalmente distribuídas”, Porto Alegre. 
 
ARSHAD, N. H. KAMARUDDIN, N. K. MOHAMED, A. (2013). “Comparação de 
diretrizes entre desenvolvimento global distribuído e desenvolvimento ágil global de 
software”, Selangor, Malaysia. 
 
AUDY, J. PRIKLADNICKI, R. (2007). “Como evoluem as Organizações de DDS em 
ambientes de Internal Offshoring”, Porto Alegre. 
 
 
AUDY, J. PRIKLADNICKI, R. (2007). “Desenvolvimento Distribuídode Software – 
Desenvolvimento de Software com Equipes Distribuídas”, Série Campus. Rio de 
Janeiro, Elsevier Editora Ltda. 
 
AUDY, J. PRIKLADNICKI, R. (2006). “Uma análise comparativa de práticas de 
desenvolvimento distribuído de software no Brasil e no exterior”, Porto Alegre. 
 
BARBOSA, J. F. (2013). “Um framework para gerenciamento de riscos em projetos 
ágeis de desenvolvimento distribuído de software”, Recife. 
 
BETTS, M. (2005). “24/7 Global Application Development? Sounds Good, Doesn’t 
Work”. <http://blogs.computerworld.com/node/1005>. Último acesso em 14/06/2016 
 
CAMPOS, C. S. (2009). “Uma proposta de um modelo para identificação e análise de 
riscos em ambientes de desenvolvimento distribuído de software”, Porto Alegre. 
 
CARMEL, E. (1999). “GLOBAL SOFTWARE TEAMS - Collaborating Across Borders 
And Time-Zones”. Prentice Hall, EUA. 
 
COSTA, C. (2010). “Uma abordagem baseada em evidências para o gerenciamento de 
projetos no desenvolvimento distribuído de software”, Recife. 
 
DENNY, N. NADELLA, R. S. SAMDAL, J. GUPTA, A. (2008). “Hybrid Offshoring 
Composite Personae and Evolving Collaboration Technologies”, Information 
Resources Management Journal, vol. 21-1. 
 
DUARTE, T. S. (2014). “Máquinas de tradução aplicada à comunicação em tempo real 
para desenvolvimento distribuído de software”, Porto Alegre. 
 
FADEL, G. M.; LINDEMANN, U.; ANDERL, R. (2000). “Multi-National Around the 
Clock Collaborative Senior Design Project”, South Caroline, USA. 
 
FENNER, G. COELHO, P. H. V. LIMA, A. S. (2015). “Identificação e mitigação de 
riscos em projetos de desenvolvimento distribuído de software”, Ceará. 
 
FIDELIX, L. H. S. (2010). “Índice de integração em projetos de desenvolvimento 
distribuído de software”, Porto Alegre. 
 
 
GIÃO, P. R. JÚNIOR, M. M. O. (2009). “Um estudo sobre o potencial do Brasil como 
polo de Offshoring de serviços”, São Paulo. 
 
GIUFFRIDA, R. DITTRICH, Y. (2013). “Estudos empíricos no uso de software social 
em desenvolvimento global distribuído”, Copenhagen , Denmark. 
 
GOMES, V. M. (2013). “Um Estudo Empírico Sobre O Impacto Da Confiança No 
Desempenho De Projetos Distribuídos De Desenvolvimento De Software”, Porto 
Alegre. 
 
HERBSLEB, J. D. MOITRA, D. (2001). “GLOBAL SOFTWARE DEVELOPMENT”, 
IEEE Software. 
 
HESS, E. R. (2012). “Um processo para minimizar as dificuldades de projetos que 
adotam a estratégia follow-the-sun”, Porto Alegre. 
 
HOFSTEDE, G. (2005). “CULTURES AND ORGANIZATIONS: Software of the 
mind”. New York, USA. 
 
ILYAS, M. KHAN, S. U. (2012). “Um modelo de integração de software para 
desenvolvimento global distribuído”, KPK, Pakistan. 
 
INSTITUTE, Mckinsey Global. (2013). “Offshoring: Is it a Win-Win Game? Report”. 
McKinsey & Company, 
Inc.<http://www.mckinsey.com/insights/employment_and_growth/offshoring_is_it_a
_win-win_game>. Último acesso em 27/06/2016. 
 
JALALI, S. GENCEL, C. ŠMITE, D. (2010). “Trust dynamics in global software 
engineering. In Proceedings of the 2010 ACM-IEEE International Symposium on 
Empirical Software Engineering and Measurement”, ACM, New York, USA. 
 
KHAN, A. A. AMIN, D. E. AMIN, F. E. BASRI, S. (2013). “Riscos de comunicação e 
boas práticas no desenvolvimento global distribuído durante a gestão de troca de 
requisitos”, Faisalabad, Pakistan. 
 
 
KHAN, A. A. KEUNG, J. BENNIN, K. E. HUSSAIN, S. (2015). “Efeitos das distancias 
geográficas, temporais e socioculturais na comunicação em desenvolvimento global 
distribuído durante os requisitos de gestão de mudança”, Hong Kong. 
 
KHAN, A. A. (2015). “Um framework de riscos de comunicação para troca de 
requisitos no desenvolvimento global de software”, Pakistan. 
 
KITCHENHAM, B.A. VERNER, J.M. NIAZI, M. TURNER, BRERETON, M. O.P. 
(2014). “Riscos e mitigação de riscos em desenvolvimento global distribuído”, 
Staffordshire, United Kingdom. Sydney, Australia. Dhahran, Saudi Arabia. 
Islamabad, Pakistan. 
 
KROLL, J. (2012). “Estratégia Follow-the-sun: um processo para desenvolvimento 
global distribuído”, Porto Alegre. 
 
LOPES, L. T. AUDY, J. (2005). “Em busca de um modelo de referência para 
engenharia de requisitos em ambientes de desenvolvimento distribuído de software”, 
Porto Alegre. 
 
MANAGEMENT, J. I. (2014). “Comunicação intercultural e impacto no processo de 
GSD para times virtuais e não-virtuais”, Massachusets, USA. 
 
MEIRA, S. AZEVEDO, R. R. ROCHA, R. PRIKLADNICKI, R. JUNIOR, I. H.F. 
COSTA, C. (2010). “Modelos de Colaboração no Desenvolvimento Distribuído de 
Software”, Recife/Porto Alegre/Picos. 
 
MOHTARAMI, A. KANDJANI, H. WEN, L. TAVANA, M. BERNUS, P. (2015). 
“Utilizando a teoria do design extendido axiomático para reduzir complexidades em 
projetos de desenvolvimento global distribuído”, Elsevier Journal. 
 
MORENO, W. S. (2014). “Desafios E Soluções Na Gerência De Projetos No 
Desenvolvimento Distribuído De Software”, Lavras. 
 
MÜNCH, J. KUHRMANN, M. (2016). “Desenvolvimento de software distribuído com 
uma mão presa nas costas, uma unidade curricular para experiência de um canal de 
comunicação em GSD”, Odense, Denmark, Böblingen, Germany. 
 
 
NETO, D. N. M. (2014). “Gerenciamento de equipes de teste de software distribuídas 
desafios e boas praticas”, Recife. 
 
NIAZI, M. KHAN, R. A. KHAN, S. U. (2013). “Desafios de mitigação de comunicação 
e coordenação nos relacionamentos de desenvolvimento de software offshore 
outsourcing”, Malakand, Pakistan, Islamabad, Pakistan. 
 
OLIVEIRA, J. P. N. (2013). “Uma proposta de boas práticas baseada em evidências 
para a gestão de conflitos em equipes de desenvolvimento distribuído de software”, 
Recife. 
 
OSHO, L.O. OSHO, O. MISRA, S. (2013). “Uma métrica no meio ambiente de 
desenvolvimento global distribuído”, Minna, Nigeria, Otta, Nigeria. 
 
PILATTI, L.; AUDY, J. (2006). “Características Do Desenvolvimento Global De 
Software Em Ambientes Offshore In Sourcing: Lições Aprendidas De Um Estudo De 
Caso”, Workshop Um Olhar Sociotécnico sobre a Engenharia de Software, Porto 
Alegre. 
 
PILLATI, L. S. M. (2006). “Estrutura e Características para Análises de Ambientes de 
Desenvolvimento Global de Software em Organizações Offshore Insourcing”, Porto 
Alegre. 
 
PRIKLADNICKI, R. (2002). “Desenvolvimento distribuído de Software e Processos de 
Desenvolvimento de Software”. Porto Alegre. 
 
ROCHA, F. L. (2013). “Desenvolvimento Global/Distribuído De Software”, 
<https://felipelirarocha.wordpress.com/2013/07/08/desenvolvimento-
globaldistribuido-de-software/>, último acesso em 14/06/2016 
 
RODRIGUES, A. N. D. (2014). “Comunicação em Projetos de Desenvolvimento 
Distribuído de Software”, Recife. 
 
SIQUEIRA, F. L. (2005). “O desenvolvimento distribuído de software: características e 
recomendações para a gerência de projetos”. São Paulo. 
 
 
SØDERBERG, A.M. BJØRN, P. KRISHNA, S. (2013). “Desenvolvimento global 
distribuído, sensibilidade de confiança, compromisso e cultura em parcerias 
estratégicas”, Journal of International Management. 
 
SOUZA, L. S. PLAHETA, M. (2013). “Experiência Em Desenvolvimento Distribuído 
De Software (Dds) Em Processo Iterativo De Desenvolvimento”, Brasília-DF. 
 
STEINMACHER I., CHAVES A. P., GEROSA M. A. (2013). “Awareness support in 
distributed software development: a systematic review and mapping of the literature”, 
Computer Supported Cooperative Work, Vol.22, No.2. 
 
TAIT, T. F. C. LIMA, F. HUZITA, E. H. M. (2005). “Um mecanismo de Suporte ao 
gerenciamento de recursos humanos no desenvolvimento distribuído de software”, 
Maringá. 
 
TANVEER, A. FATIMA,H. M. ZAHEER, R. A. (2016). “Um framework ágil, 
inteligente e escalável para desenvolvimento global de software”, Maringá. 
 
VÄLIMÄKI, A. KÄÄRIÄINEN, J. (2009). “Padrões de desenvolvimento global de 
software para gerência de projetos”, Oulu, Finland, Tampere, Finland. 
 
WIREDU, G. O. (2011). “Entendendo as funções de teleconferências para coordenação 
de projetos em desenvolvimento global de software”, Accra, Ghana. 
 
WOLF, A. S. SILVA, M. S. (2014). “Ferramenta Para Gerenciamento E Apoio Ao 
Desenvolvimento Distribuído De Software”, Lajeado. 
 
YASIN, A. YASIN, A. (2013). “Como ultrapassar as barreiras de comunicação no 
desenvolvimento global de software”, Ubiquitous Computing and Communication 
Journal.

Outros materiais