0 оценок0% нашли этот документ полезным (0 голосов)
40 просмотров27 страниц
Este artigo representa uma análise da literatura atual sobre o tema de gerenciamento de projetos utilizando a metodologia de desenvolvimento de software Scrum e procura a sua aplicabilidade no gerenciamento de equipes remotamente distribuídas através de experiências evidenciadas por outros autores.
---------------------------
This paper represents an analysis from current literature about Project Management using the Scrum methodology for Software Development and search for his applicability on remote distributed teams management shown by another authors.
Оригинальное название
GERENCIAMENTO DE PROJETOS DE DESENVOLVIMENTO DE SOFTWARE PARA INTERNET COM EQUIPES REMOTAMENTE DISTRIBUÍDAS UTILIZANDO METODOLOGIA SCRUM
Este artigo representa uma análise da literatura atual sobre o tema de gerenciamento de projetos utilizando a metodologia de desenvolvimento de software Scrum e procura a sua aplicabilidade no gerenciamento de equipes remotamente distribuídas através de experiências evidenciadas por outros autores.
---------------------------
This paper represents an analysis from current literature about Project Management using the Scrum methodology for Software Development and search for his applicability on remote distributed teams management shown by another authors.
Este artigo representa uma análise da literatura atual sobre o tema de gerenciamento de projetos utilizando a metodologia de desenvolvimento de software Scrum e procura a sua aplicabilidade no gerenciamento de equipes remotamente distribuídas através de experiências evidenciadas por outros autores.
---------------------------
This paper represents an analysis from current literature about Project Management using the Scrum methodology for Software Development and search for his applicability on remote distributed teams management shown by another authors.
SOFTWARE PARA INTERNET COM EQUIPES REMOTAMENTE DISTRIBUDAS UTILIZANDO METODOLOGIA SCRUM
Paulo Henrique Lomanto
So Paulo 2013
FACULDADES METROPOLITANAS UNIDAS - FMU
GERENCIAMENTO DE PROJETOS DE DESENVOLVIMENTO DE SOFTWARE PARA INTERNET COM EQUIPES REMOTAMENTE DISTRIBUDAS UTILIZANDO METODOLOGIA SCRUM
Paulo Henrique Lomanto
Trabalho de concluso de curso para curso Master in Project Management da instituio Faculdades Metropolitanas Unidas (FMU) sob orientao do Professor Ms. Antonio Carlos de Alcantara Thimteo
So Paulo 2013
RESUMO Este artigo representa uma anlise da literatura atual sobre o tema de gerenciamento de projetos utilizando a metodologia de desenvolvimento de software Scrum e procura a sua aplicabilidade no gerenciamento de equipes remotamente distribudas atravs de experincias evidenciadas por outros autores. O desenvolvimento deste artigo envolveu a pesquisa de dois temas distintos: Metodologia de Desenvolvimento SCRUM e Gerenciamento Remoto de Equipes de Desenvolvimento. Ainda dentro de cada um dos temas, procurou-se saber se os temas ainda so atuais no ponto de vista de mercado e se suas aplicabilidades so efetivas, como forma de guiar o desenvolvimento geral do assunto. Por se tratarem de assuntos em destaque no mercado de trabalho e que so de certa forma recentes por se tratarem de novas formas de trabalho evidenciados pelo mundo cada vez mais globalizado e interligado, os referenciais tericos no so fartos, porm, de certa forma de grande qualidade e com muitos exemplos de casos, que puderam servir de base para o desenvolvimento da ideia geral deste artigo. Ao final da pesquisa, foi possvel ainda obter relatos de profissional da rea que auxiliam e complementam o tema geral deste artigo. PALAVRAS-CHAVES: SCRUM. Gerenciamento de Projetos.
ABSTRACT This paper represents an analysis from current literature about Project Management using the Scrum methodology for Software Development and search for his applicability on remote distributed teams management shown by another authors. The development of this paper was conducted by research of two distinct subjects: SCRUM Development Methodology and Remote Development Teams Management. On each subject we searched to know if the subjects are still actual by the industry point of view and if his applicability are still effective as a way to guide the general idea of this paper. Because these are subjects highlighted on industry and are relatively new ways of labor evidenced by a more globalized and interconnected world, the available literature is not abundant, but have a great quality and have a great quantity of examples and cases that helped to be a guide for this paper development. By the end of the development of this paper it was possible to get informations from a profssional that helps with the main subject of this paper. KEY WORDS: SCRUM. Project Management. 1. INTRODUO O desenvolvimento de software, principalmente para projetos de internet, exige profissionais cada vez mais qualificados para o desempenho de suas funes, alm da necessidade de um processo que garanta um bom ritmo, controle e qualidade do que se desenvolve. (PROJECT MANAGEMENT INSTITUTE (PMI), 2008) Ao longo do tempo, novas formas de gerenciamento do processo de desenvolvimento foram criadas e refinadas. Atualmente, o processo mais difundido e utilizado para o desenvolvimento de software, principalmente os que so para internet, o Scrum. O Scrum uma metodologia de desenvolvimento de software gil, focada na produo de software de forma rpida, incremental, e com garantia de qualidade daquilo que se produz. (SANTANA, 2011; MANIFESTO for Agile Software Development, on-line) Com cada vez mais projetos de software sendo iniciados, h uma necessidade proporcional de profissionais para a sua execuo. Encontrar estes profissionais tm sido cada vez mais um desafio para as empresas, que esto buscando outras formas de contratao de mo-de-obra qualificada para a execuo de seus projetos. (SUTHERLAND, 2008; SUTHERLAND, 2009) Outro fator que contribui para essa busca por mo-de-obra terceirizada a economia financeira, visto que muitas empresas especializadas em terceirizao, sejam elas na mesma localidade geogrfica ou remotamente distantes, podem proporcionar o desenvolvimento do software a custos bem inferiores aos que as empresas teriam se adotassem o desenvolvimento internamente. (SUTHERLAND, 2008; BERCZUK, 2007; SUTHERLAND, 2009) O objetivo deste artigo prover material para futuros artigos e tcnicas a partir de uma anlise de literatura existente no que se refere ao processo de gerenciamento de equipes de desenvolvimento remotamente distribudas utilizando-se a metodologia Srum para que se atinja o mesmo ritmo, qualidade e controle que se obtm com equipes de desenvolvimento que adotam o Scrum em seus ambientes nativos.
2. REFERENCIAL TERICO
2.1. O SCRUM O Scrum se enquadra na categoria de metodologia de desenvolvimento de software gil, como o descrito no Manifesto gil. (FILHO; ALVES, 2010; SANTANA; FREITAS, 2011; SEVERINO, 2009; MANIFESTO for Agile Software Development, on-line) O Manifesto gil apoiado em alguns valores e ideias que devem ser seguidos por qualquer processo de desenvolvimento que se proponha a se enquadrar como gil. (MANIFESTO for Agile Software Development, on-line) So eles: Indivduos e Interaes mais que processos e ferramentas Software em funcionamento mais que documentao abrangente Colaborao com o cliente mais que negociao de contratos Responder a mudanas mais que seguir um plano Ainda segundo o Manifesto gil, considera-se que h valor nos itens direita das citaes acima, mas que os itens esquerda so mais valorizados e primordiais. (MANIFESTO for Agile Software Development, on-line) A metodologia Scrum tem como uma das suas principais caractersticas a criao de software de forma gil, com qualidade, de forma incremental. (FILHO; ALVES, 2010; SANTANA; FREITAS, 2011; SEVERINO, 2009) Ao contrrio de outras metodologias mais conservadoras, com caracterstica waterfall, no se espera que todos os requisitos, anlise e documentos do software desejado estejam prontos para que se inicie o processo de desenvolvimento. Tambm no se espera que o desenvolvimento esteja completo para que o software seja entregue. (SANTANA; FREITAS, 2011) Nessa metodologia, o software vai sendo desenvolvido, de forma controlada e ordenada, assim que os primeiros requisitos so levantados. Todo o processo de desenvolvimento visa a entregas de software de forma incremental, ou seja, assume-se que o ciclo de vida do processo de desenvolvimento no se encerra na sua entrega, mas que a cada entrega o software ganha maturidade, de forma interativa e incremental. (FILHO; ALVES, 2010; SANTANA; FREITAS, 2011; SEVERINO, 2009)
A figura 1 exemplifica a forma como ocorrem as interaes do Scrum.
Figura 1 Processo de desenvolvimento do Scrum
Fonte: SCRUM (development) Wikipedia, the free encyclopedia
Outra caracterstica importante sobre o Scrum a sua facilidade de resposta a mudanas de escopo do projeto em desenvolvimento. Como o processo interativo, cada nova interao (denominada Sprint) pode ter um foco de desenvolvimento totalmente diferente. Isso garante agilidade e flexibilidade no processo de desenvolvimento do software. (SANTANA; FREITAS, 2011; SEVERINO, 2009) Um dos preceitos da metodologia determina que uma equipe de Scrum seja auto- gerenciada no escopo de processos internos de controle. Com isso, cada membro de uma equipe deve zelar pelo bom andamento do time como um todo, seja em forma de propostas de melhorias nos processos, seja em cobranas por resultados dos outros membros, ou qualquer outra forma que seja benfica ao time.
2.1.1. PAPIS NO SCRUM
No Scrum temos alguns papis que so desempenhados por diferentes pessoas dentro e fora do time. Essa diviso procura determinar as responsabilidades de cada parte interessada do projeto, do time de desenvolvimento e das relaes entre elas. So os papis do Scrum:
ScrumMaster: membro do time de desenvolvimento responsvel pelo bom andamento do time de desenvolvimento e por garantir que nenhuma interferncia externa do dia-a-dia dos integrantes do time afete o seu processo interno. O ScrumMaster tambm considerado como sendo a pessoa chave para que todos os integrantes do time de desenvolvimento adotem e usem as prticas do Scrum. Alm disso, o ScrumMaster a pessoa que interage diretamente com o ProducOwner (PO) para auxiliar no processo de criao e manuteno do Backlog do produto (lista de recursos a serem desenvolvidos), bem como manter a informao fluindo entre o PO e o time de desenvolvimento. (FILHO; ALVES, 2010; SANTANA; FREITAS, 2011; SEVERINO, 2009) Product Owner: o Product Owner (PO) o papel responsvel pela centralizao das demandas de reas externas do projeto e pela manuteno do Backlog do produto. O PO pode ser tanto o gerente do projeto, como um patrocinador, membro de alguma outra equipe da empresa ou algum outro cliente interno. (FILHO; ALVES, 2010; SANTANA; FREITAS, 2011; SEVERINO, 2009)
2.1.2. PRODUCT BACKLOG
O Product Backlog, ou simplesmente Backlog, contm uma relao de todos os itens do software desejados at o momento e prioritariamente mantido pelo Product Owner. Cada um dos itens relacionados no Backlog uma histria, que ser em algum momento, desenvolvido pela equipe de desenvolvimento. Toda histria possui uma complexidade diferente, e para a determinao da sua complexidade, a equipe de desenvolvimento se rene em um ciclo determinado de acordo com o aumento do nmero de histrias no pontuadas para discutir os detalhes da execuo dessas histrias e atribuir uma pontuao de complexidade. A reunio na qual os membros se encontram para essa discusso chamada de Estimation Meeting, ou Reunio de Estimativa. (FILHO; ALVES, 2010; SANTANA; FREITAS, 2011; SEVERINO, 2009)
2.1.3. SPRI NT
Cada nova interao no SCRUM denominada Sprint, que por sua vez deve ser um perodo de tempo pr-determinado e acertado pelo time de desenvolvimento, e que possui como usual um perodo de duas a quatro semanas. (FILHO; ALVES, 2010) Em cada Sprint, o time de desenvolvimento assume um conjunto de tarefas a serem desenvolvidas a partir de uma lista de requisitos formada previamente pelos stakeholders do projeto (Product Backlog). Cada Sprint se inicia a partir de uma reunio entre a equipe de desenvolvimento e o PO, denominada Sprint Planning, para que o mesmo possa apresentar uma lista de histrias j estimadas e pontuadas nas reunies de estimativa, em ordem de desejo de execuo e para que o time de desenvolvimento possa decidir as histrias que sero executadas no decorrer do Sprint. (COHN, 2006) A reunio de Sprint Planning dividida em duas fases: na primeira, o time decide em conjunto com o ScrumMaster e o PO as histrias que sero desenvolvidas no decorrer do Sprint, enquanto que na segunda, o time de desenvolvimento detalha cada uma das histrias que sero executadas. (FILHO; ALVES, 2010; COHN, 2006) A partir do detalhamento das histrias, so definidas as Tasks, ou tarefas de cada histria. Uma task nada mais do que uma pequena diviso de uma histria, algo que algum membro do time possa executar. Ao final do processo de Sprint Planning, o Sprint iniciado e todas as histrias com suas respectivas tasks so inseridas em um quadro, como o demonstrado na figura 2, de preferncia visvel a todos os membros do time, para acompanhamento e controle do que deve ser feito, o que est sendo atualmente desenvolvido, testado e pronto. (FILHO; ALVES, 2010; COHN, 2006)
Figura 2 Exemplo de quadro de Scrum
Fonte: SCRUM (development) Wikipedia, the free encyclopedia
Diariamente ocorre uma reunio com durao de 15 minutos, chamada de Daily Meeting, em que todos os membros do time se renem em frente ao quadro do Scrum para que todos possam informar aos outros o que esto fazendo, o que planejam fazer no prximo dia, e o que ficou pronto. nessa reunio que os membros movem as suas tarefas (tasks) entre as fases do quadro. Esse ciclo de reunies dirias se repete diariamente durante a realizao do Sprint. Um fator importante dessa reunio diria a interao entre os membros do time, j que estimula a comunicao entre todos e exposio de ideias entre os membros. (FILHO; ALVES, 2010; COHN, 2006) tambm no Daily Meeting que um artefato importante do Scrum, o Burndown Chart, atualizado. Esse artefato um grfico que mostra a quantidade de tasks que so finalizadas todos os dias e deve estar preferencialmente no quadro, para que se tenha uma noo da velocidade do desenvolvimento do time. Esse quadro apresenta basicamente duas linhas: uma uma linha reta contendo a evoluo ideal de tasks que deveriam estar finalizadas todos os dias, enquanto que a segunda a realidade de tasks realizadas pelo time. A figura 3 exemplifica um Burndown Chart. (FILHO; ALVES, 2010; COHN, 2006)
Figura 3 exemplo de Burndown Chart
Fonte: Scrum(development) Wikipedia, the free encyclopedia
Ao final do Sprint, o time de desenvolvimento apresenta ao PO em uma reunio denominada Sprint Review tudo o que foi desenvolvido durante o Sprint atual para a sua validao. Aps a apresentao do Review, uma reunio de retrospectiva feita entre os membros do time de desenvolvimento e o PO para que todos possam relacionar fatos e situaes que foram bem proveitosos no Sprint e tambm o que no aconteceu como planejado ou atrapalhou o processo de desenvolvimento. Essa considerada uma das reunies mais importantes do Scrum, pois a partir dela que surgem ajustes a serem feitos ao processo a partir dos itens relacionados como problemticos e os pontos fortes so realados para futuros sucessos. (FILHO; ALVES, 2010; COHN, 2006) Todos os processos anteriores so repetidos a partir deste ponto, indefinidamente, enquanto o projeto permanecer ativo.
2.2. EQUIPES DE DESENVOLVIMENTO REMOTAMENTE DISTRIBUDAS
Segundo Pearlman (2006), um time distribudo consiste em um conjunto ou grupo de pessoas que fazem uso de tecnologia para trabalharem em um mesmo objetivo a partir de diferentes localizaes. Podemos, ento, entender por Equipes de desenvolvimento remotamente distribudas toda forma de trabalho de desenvolvimento de software adotada que acontea fora do ambiente de trabalho originalmente designado, por um ou mais indivduos. Essas equipes de desenvolvimento podem estar distribudas em localidades diferentes, tanto em um territrio prximo (em uma mesma cidade, por exemplo), como tambm podem estar a milhares de quilmetros de distncia, em outro pas ou at mesmo em outro continente. (SUTHERLAND et al, 2007).
2.2.1. MOTIVAES
Quanto a motivao, diversos so os fatores que influenciam as empresas nos dias atuais a buscarem a distribuio de suas equipes de desenvolvimento de software em locais remotamente distribudos. Podemos levar em considerao dois fatores principais que levam as empresas a buscarem esse tipo de atividade: econmico e falta de mo-de-obra local especializada. (SUTHERLAND et al, 2007; SUTHERLAND et al, 2009) Em relao ao fator econmico, podemos destacar os custos salariais de profissionais que esto localizados nos grandes centros, locais esses onde esto concentradas as maiores empresas do setor de tecnologia em geral. Uma vez que se adota a contratao de pessoal localizado em centros de menor notoriedade, o custo profissional tende a baixar significativamente. Indo alm, h tambm a questo de custos de mo-de-obra baixos em centros tecnolgicos localizados em pases como ndia e China, que so muito inferiores aos da grande maioria dos mercados internacionais. (SUTHERLAND et al, 2007; SUTHERLAND et al, 2009)
2.2.2. FATORES DE DIFICULDADES
Quando falamos em distribuio de equipes de desenvolvimento em locais diferentes aos da sede, temos que levar em considerao diversos fatores que precisam ser vistos e revisados. Segundo Pearlman (2006) e Sutherland et al (2007), podemos enumerar os seguintes fatores como sendo elementos de dificuldade na implementao de uma equipe de desenvolvimento remotamente distribuda: cultura, fuso-horrio, comunicao, controle, confiana, liderana, tcnica e segurana da informao. Os fatores a serem levados em considerao variam de acordo com a forma de distribuio que est sendo adotada. As preocupaes so diferentes se uma equipe est localizada na mesma sede que a empresa, ou se est em outro pas ou continente. Tambm so diferentes as preocupaes que devem existir se h o desenvolvimento distribudo em mais de duas localidades diferentes.
2.2.2.1. Cultura
Ao implementar uma equipe de desenvolvimento remotamente distribuda, h um fator cultural a ser levado em considerao. Nos casos de equipes que trabalham em uma mesma localizao geogrfica (cidade), a influncia cultural no tende a ser muito grande, pois todos os profissionais, tanto da equipe remota, quanto da sede, tendem a compartilhar os mesmos aspectos culturais, que so predominantemente regionais. Quando a equipe remota comea a se afastar das proximidades da sede, pode haver discrepncias de cultura entre os profissionais da sede e da equipe remota. Essas diferenas podem ser em relao ao ritmo de trabalho, forma de expresso de ideias, diferentes comprometimentos com os projetos, entre outros. (PEARLMAN, 2006) J quando h diferenas de pases ou continentes, as diferencias culturais ficam muito mais evidentes, j que alm dos itens citados anteriormente, aparecem questes como lngua, conhecimentos e hbitos coletivos de pases diferentes, entre outros. (SUTHERLAND et al, 2007)
2.2.2.2. Fuso-horrio
As equipes remotamente distribudas precisam o tempo todo se comunicar com membros de outras equipes e com a sede da empresa. Essa comunicao deve ocorrer sempre que possvel dentro de horrios nos quais os profissionais estejam em seus horrios de trabalho regulares, para no afetar regras de legislaes locais de trabalho ou afetar a vida pessoal dos profissionais. (SUTHERLAND et al, 2007; SUTHERLAND et al, 2009; BERCZUK, 2007; PEARLMAN, 2006) A diferena de fusos horrios em equipes em um mesmo pas geralmente no tende a ser um fator de dificuldade, a no ser em pases que tenham dimenses continentais. Se levarmos em considerao pases como Estados Unidos da Amrica (E.U.A.), que possui quatro horas de diferena entre a sua costa leste e oeste, podem ser necessrios ajustes na forma e rotinas das equipes de modo que os horrios de comunicao coincidam com suas jornadas de trabalho locais. (The official US time (NIST & USNO), on-line) No Brasil, essa diferena de fuso-horrio no tende a ser um fator de dificuldade, se levarmos em considerao que h apenas trs fusos-horrios diferentes. (Observatrio Nacional, on-line) J quando falamos sobre equipes distribudas em pases diferentes, com grandes diferenas de horrio, h necessidade de que as rotinas de trabalho sejam pensadas de forma a compensar essa diferena. Pode haver ainda casos em que as equipes, que sigam jornadas de 9 a 10 horas de trabalho dirias, no tenham horrio comum de trabalho, caso o fuso horrio esteja em uma faixa de diferena acima de 9 horas e menor que 15 horas. (SUTHERLAND et al, 2007)
2.2.2.3. Comunicao
As equipes remotamente distribudas necessitam de comunicao constante com outras equipes e com a sede da empresa, de forma a trocar informaes o tempo todo sobre questes tcnicas, organizacionais e de controle do projeto.
De acordo com levantamentos, a comunicao em projetos remotamente distribudas o principal fator de dificuldades que as equipes e empresas tm enfrentado. (SUTHERLAND et al, 2007; BERCZUK, 2007; SUTHERLAND et al, 2009; SUTHERLAND et al, 2008; HUNDERMARK, on-line) Segundo Sutherland (2007), um dos principais mecanismos de comunicao entre as equipes o uso de mensagens eletrnicas (e-mails), mas segundo a anlise de Pearlman (2006), o uso constante de mensagens eletrnicas deve ser o ltimo recurso a ser utilizado por no ser transparente e pessoal. Apesar do uso constante de mensagens eletrnicas, outras formas que ganham destaque na comunicao entre equipes esto: mensagens instantneas, voz sobre IP, telefonia convencional e videoconferncia. (PEARLMAN, 2006) Com a evoluo constante de meios de comunicao e com o surgimento de cada vez mais tecnologias de transmisso de informaes, podemos assumir que o fator comunicao tem deixado de ser uma dificuldade quando o assunto uma equipe de desenvolvimento remotamente distribuda.
2.2.2.4. Controle
No desenvolvimento de software, uma das principais dificuldades enfrentadas por qualquer equipe de desenvolvimento e seus respectivos gerentes de projeto o controle do andamento dos trabalhos. Diversas formas, mtodos e refinamentos aparecem todos os anos com o intuito de auxiliar no processo de controle do que est sendo desenvolvido, das atividades das equipes e de mostrar aos clientes e demais reas das empresas a situao atual de seus projetos. Essa dificuldade existe em equipes que trabalham na mesma sede, mas so potencialmente mais visveis quando as equipes esto distribudas, visto que cada vez mais os processos e mtodos de controle existentes levam em considerao a presena e a proximidade dos profissionais para que os relatrios de andamento sejam repassados e ajustes feitos nos processos visando ao aumento constante da produtividade. (PEARLMAN, 2006; SUTHERLAND et al, 2007)
2.2.2.5. Liderana
Toda equipe de desenvolvimento de software possui lderes de projetos responsveis pelo direcionamento dos projetos, rotinas e mtodos das equipes que esto envolvidas no desenvolvimento. (PROJECT MANAGEMENT INSTITUTE, 2008) Segundo Sutherland et al (2007) e Berczuk (2007), a liderana em equipes remotamente distribudas possui uma caracterstica de diluio, muitas vezes tendo a falsa impresso de sua inexistncia ou de que ela existe mas no est inteiramente envolvida com o projeto em si. Em toda relao entre pessoas envolvidas em um projeto, o lder aquela pessoa que guia o restante do time para o objetivo comum a ser alcanado, potencialmente um dos membros dotados de grande carisma, caracterstica essencial para se conquistar seguidores. (PEARLMAN, 2006; SUTHERLAND et al, 2009) A liderana em equipes distribudas deve tambm ser distribuda, de forma que cada centro de desenvolvimento (localidade remota) tenha o seu prprio lder local, que deve estar em constante ateno ao seu time de desenvolvimento e tambm diretamente relacionado com as atividades da sede da empresa, a fim de que a liderana exercida na sede seja replicada atravs de todas as localidades de desenvolvimento distribudas. (SUTHERLAND et al, 2007; PEARLMAN, 2006)
2.2.2.6. Confiana
De acordo com Sutherland et al (2008) e Pearlman (2006), a confiana entre os profissionais de uma equipe de desenvolvimento primordial para que se atinja os objetivos do projeto que est sendo desenvolvido. Por confiana, segundo os autores, podemos entender como sendo a clareza dos objetivos a serem alcanados, o nvel de conforto dos membros dos times, o grau de envolvimento com os resultados, entre outros motivos. Ainda segundo os autores, a principal dificuldade em se atingir estes nveis desejados est relacionada com a comunicao, item primordial para a execuo de qualquer projeto de desenvolvimento de software, citado anteriormente. Quando o nvel de comunicao no satisfatrio, ou quando ela simplesmente no ocorre, os profissionais envolvidos nas equipes principalmente remotas tendem a perder a sua confiana no projeto e no seu papel dentro do mesmo.
2.2.2.7. Tcnica
Todo projeto de desenvolvimento de software envolve diferentes pessoas, cada uma com a sua prpria tcnica de desenvolvimento de software, e com seus determinados nveis de domnio e conhecimentos sobre as mesmas. O processo de criao de software puramente intelectual e inerente a cada individuo. (PATTERNS and Practices for Distributed Teams, on- line) Da mesma forma que cada indivduo possui a sua tcnica, o projeto tambm apresenta sua caracterstica principal que moldada conforme as tcnicas dos indivduos envolvidos no processo de desenvolvimento. De acordo com Pearlman(2006), a tcnica dos membros das equipes de desenvolvimento remoto importante, mas no to importantes quanto a personalidade dos indivduos, que precisam ser flexveis quanto ao seu mtodo de codificao ou realizao das suas atividades. Ao se imaginar um projeto que consiste na gerao de muitas linhas de cdigo, um padro deve ser estabelecido (caracterstica principal do cdigo) e todos os membros devem ter a possibilidade de adaptabilidade de acordo com a maioria dos outros membros ou de acordo com padres impostos sobre o cdigo principal do projeto que est sendo codificado. (SUTHERLAND et al, 2007; SUTHERLAND et al, 2009)
2.2.2.8. Segurana da informao
Em muitos casos de desenvolvimento de software, o contedo ou codificao que est sendo gerada pode conter informaes crticas das empresas patrocinadoras do projeto, ou pode ainda conter segredos de mercado ou tcnicas que podem evidenciar dados ou informaes sigilosas. Quando falamos em equipes de desenvolvimento remotamente distribudas, fica implcita a necessidade de transmisso constante de informaes entre as equipes de desenvolvimento e a sede da empresa, que podem conter dados sigilosos conforme os descritos anteriormente. Para Pearlman (2006), uma das principais caractersticas no processo de desenvolvimento com equipes remotamente distribudas a facilidade de uso de novas tecnologias que permitem a constante troca de informaes entre os diferentes membros das equipes, possibilitando assim um aumento cada vez maior de proximidade entre os membros independente da distncia fsica entre estes mesmos indivduos. J segundo Sutherland et al (2007), uma das maiores preocupaes envolvidas com as equipes remotas est relacionada com a forma e segurana como as informaes e cdigos so transmitidas e trocadas entre os diferentes membros das equipes. Inclusive, so citadas formas de controles bem rgidos como sendo pr-requisitos na implantao de equipes remotas como meio de garantir o sigilo e integridade das informaes trocadas. Com base em diferentes opinies e critrios, podemos afirmar que a segurana da informao um fator relacionado primariamente cultura da empresa que est adotando o desenvolvimento remotamente distribudo e tambm com a cultura e responsabilidade dos membros envolvidos com o projeto como um todo.
2.3. USO DE SCRUM
Todo processo de desenvolvimento de software exige uma forma de controle, mtodos e processos para que se atinjam os devidos resultados dentro do oramento e prazo planejados. (PROJECT MANAGEMENT INSTITUTE, 2008) Independente dos fatores que fazem com que empresas busquem economia ou mo- de-obra em localidades diferentes de suas sedes para a execuo de seus projetos de desenvolvimento de software, todo projeto necessita das mesmas formas de controles, mtodos e processos citados acima. O Scrum tem sido cada vez mais adotado por equipes de desenvolvimento com muito sucesso, aumentando a produtividade e qualidade dos projetos envolvidos. (SEVERINO, 2009; LOYOLA; PINHEIRO, 2010) Segundo Filho e Alves (2010) o uso do Scrum visa principalmente a interao e proximidade entre os profissionais dos times para que o sucesso possa ser atingido. Analisando um cenrio onde os membros dos times de desenvolvimento esto remotamente distribudos, tais caractersticas podem no estar presentes, o que pode causar rupturas nos mtodos e processos que so as bases da metodologia Scrum. Para que os pilares da metodologia e todo o ritual que o Scrum necessita sejam mantidos, faz-se necessria uma anlise mais aprofundada da forma como o Scrum pode ser aplicado em projetos contendo pessoas separadas fisicamente umas das outras. De acordo com Sutherland et al (2007, 2009) podemos dividir equipes de desenvolvimento remotos que utilizam Scrum em trs modelos de Scrum principais: Scrum isolado, Scrum distribudo e Scrum integrado. No modelo de Scrum isolado, considera-se que as equipes remotamente distribudas utilizam o Scrum com seus mtodos e processos de forma autnoma, sem que uma interaja com a outra. Seguindo esse princpio, cada equipe possui sua prpria forma de trabalho, ritmo de Sprints, fluxos de reunies e Backlogs separados, sem relao direta com outros times de desenvolvimento. Analisando esse modelo, podemos concluir que se trata praticamente de subprojetos de um projeto maior, em que cada equipe, com seu prprio backlog, trabalha de forma completamente isolada e sem nenhuma interdependncia. J no modelo de Scrum distribudo, ainda segundo Sutherland et al (2007, 2009), h uma diviso de trabalho (histrias) distribudo entre diferentes equipes de desenvolvimento separadas umas das outras, mas interligadas atravs da figura do ScrumMaster de cada uma das equipes, que so responsveis pela integrao entre os membros dos diferentes times de desenvolvimento. Nesse modelo, h uma maior integrao entre os membros das diferentes equipes, devido ao fato de que h a necessidade de comunicao constante em funo da dependncias entre histrias que so assumidas por diferentes equipes. Do ponto de vista de organizao do Scrum, temos nesse modelo um nico backlog, que compartilhado entre todas as equipes, mas cada equipe pode ou no ter o seu prprio ritmo de desenvolvimento sem relao direta com outras equipes. Finalmente, no modelo de Scrum integrado, ainda segundo Sutherland et al (2007, 2009), podemos observar que diferentes membros de uma mesma equipe esto distribudos, assim como as equipes. Existe a possibilidade de que membros de diferentes equipes possam estar trabalhando numa mesma localidade, ou at mesmo que duas ou mais equipes possam estar trabalhando de forma particionada e divididas em diferentes regies. No h uma regra especfica para esse modelo. A sua principal caracterstica que as diferentes equipes acabam sendo especializadas em determinadas funes dentro da cadeia de desenvolvimento, e assim, cada equipe passa a ser responsvel por uma parte de uma histria comum a todas as equipes. Analisando esse ponto de vista, podemos subentender que nesse modelo temos uma grande quantidade de profissionais, divididos em diversas equipes de desenvolvimento, trabalhando em um mesmo conjunto de histrias e fazendo parte de um ecossistema de desenvolvimento maior (o projeto em si). A sua diviso passa, ento, a ser por tipos e nveis de proficincia de cada equipe, cada uma responsvel pela concretizao de uma pequena parte do todo. Seja qual for o modelo de Scrum distribudo, h de se analisar as caractersticas especficas do Scrum e como essas caractersticas necessitam ou no de ajustes para funcionarem de forma plena tendo profissionais distribudos juntos ou no com suas respectivas equipes. Segundo uma anlise de Berczuk (2007), uma distribuio de equipes utilizando Scrum amplifica todo e qualquer pequeno problema ou dificuldade que o processo do Scrum em si pode ter em relao aos membros das equipes e com o projeto em questo, sendo ento necessrios ajustes constantes no trabalho e na forma como os profissionais atuam sub tais circunstncias. Fatores culturais tambm devem ser levados em considerao, principalmente quando as equipes esto distribudas em localidades muito distintas. H de se considerar, principalmente, a lngua nativa de cada localidade, quando falamos em equipes em pases distintos, sendo que essa deve ser uniforme e de comum entendimento entre todos os membros. Sutherland et al (2009) aponta como a lngua sendo um dos maiores obstculos para uma plena comunicao entre os diversos profissionais envolvidos nos projetos. Ainda sobre o fator cultural, podemos destacar a afirmao de Sutherland et al (2009) de que indivduos de pases diferentes podem ter hbitos e formas de pensamento diferentes sobre o projeto e sobre as atitudes profissionais. Em seu estudo, recomenda-se que haja uma integrao gradual entre os diferentes profissionais, seja atravs de aproximao local via transferncia temporria de membros entre as equipes, seja atravs de constantes incentivos de participao em reunies remotas, de forma que haja uma maior troca cultural para que no existam diferenas entre os membros.
2.3.2. Reunies
Assim como descrito anteriormente, cada nova iterao do Scrum (Sprint) possui uma srie de reunies, que vo desde o planejamento (Estimation e Planning), at a sua concluso (Review e Retrospective), passando pela fase principal de execuo, em que so feitas as reunies dirias (Daily Meeting). Como um dos pilares do Scrum est constitudo na comunicao e interao entre os profissionais de uma mesma equipe, podemos assumir que as reunies so um dos principais pontos de ateno, j que so nelas que ocorrem as principais interaes entre os membros. Ao analisar um cenrio no qual os profissionais das equipes esto remotamente distribudos, ou at mesmo em diferentes equipes de desenvolvimento, deve sempre haver uma forma clara e ampla de comunicao entre os seus integrantes, principalmente nas reunies que fazem parte dos rituais do Scrum. Pearlman (2006) prope que diversos mecanismos de comunicao podem e devem ser utilizados em ambientes com profissionais trabalhando remotamente, principalmente tendo em vista a evoluo tecnolgica e a diminuio constante de custos para que tal comunicao ocorra. Segundo anlise de Sutherland et al (2007, 2009) todos os rituais do Scrum podem ter o mesmo efeito de uma equipe reunida numa mesma localidade contanto que haja o comprometimento de todos os membros envolvidos, e desde que todo o suporte tecnolgico esteja presente, seja ele na forma de videoconferncias, comunicao telefnica, ou qualquer outro meio que seja em tempo real. Percebe-se tambm que, quando os membros das equipes tm a possibilidade de verem uns aos outros, o fluxo e resultado de todos os rituais tendem a ser praticamente os mesmos que os de uma equipe localmente reunida. Assim como descrito anteriormente, o fator cultural pode ser um fator de dificuldade entre os membros de equipes muito distantes. Na anlise de Sutherland et al (2009), por exemplo, indivduos de trs diferentes pases (Alemanha, ndia e Holanda) possuem formas de tratamento profissionais e pessoais bem distintas. Enquanto na Alemanha os profissionais tendem a serem diretos e falarem alto, na ndia os profissionais tendem a um comportamento mais cauteloso. J na Holanda, h mais o conceito de hierarquia tradicional de trabalho do que nos outros pases que adotam o Scrum e seu conceito de auto gerenciamento. Podemos ento assumir que os ScrumMasters, no seu papel de facilitador, tenha que intervir de forma constante na comunicao, principalmente mas reunies do Scrum, de forma a minimizar as diferenas culturais de suas equipes.
2.3.3. Controle de informaes
Por se tratar de projetos de desenvolvimento de software, onde a tecnologia em si est em constante uso, o controle e compartilhamento de informaes entre os diversos membros das equipes remotamente distribudas tende a no ser um fator de dificuldade. H de se observar, no entanto, que a infraestrutura necessria para que se obtenha o mximo de produtividade na transmisso e recepo de informaes seja bem planejada e esteja disponvel sem interrupes a todas as equipes envolvidas no projeto. No processo de desenvolvimento de software, comum a prtica de uso de sistemas para controle de verses de cdigo e repositrios centrais de informaes para documentos. Berczuk (2007) e Sutherland et al (2007, 2009) citam em suas experincias que uma base tecnolgica para compartilhamento e controle de informaes deve existir e ser slida para que no cause impactos no processo de comunicao. Podemos assumir, portanto, a necessidade de termos um ambiente estvel, de alta performance, e principalmente uniforme entre todas as equipes de desenvolvimento que estejam envolvidas no projeto, sejam essas equipes locais e prximas, sejam elas distantes e remotamente distribudas.
2.3.4. Ferramentas de auxlio
Num processo de desenvolvimento de software utilizando Scrum, o enfoque principal est relacionado com a interao entre os membros das equipes de desenvolvimento, sendo esse um dos pilares das metodologias geis. O mesmo enfoque deve ser dado para as equipes que esto remotamente distribudas, pois trata-se da mesma metodologia. Por outro lado, h de se considerar que a distncia pode causar algumas rupturas na metodologia se todos os membros no estiverem com o mesmo objetivo em mente. Apesar de ser funo do ScrumMaster zelar pela adoo e manuteno da metodologia, pode-se tornar necessria a adoo de ferramentas e sistemas que facilitem o cotidiano de uma equipe que trabalha com Scrum remoto. Como sugerido por Pearlman (2006), o atual cenrio de desenvolvimento de software possui diversas facilidades ao alcance das equipes de desenvolvimento. Quando necessrio, ou at mesmo til, pode-se utilizar essas ferramentas como forma de facilitao nas relaes cotidianas. Deve-se, no entanto, atentar para que a sua adoo no infrinja os preceitos e rituais da metodologia. Observa-se atravs do estudo de Sutherland et al (2009) que um processo de implantao de uma equipe de desenvolvimento remoto tende a necessitar de ajustes nos primeiros dois Sprints de trabalho remoto, onde se observa como acontecem as relaes entre os membros e principalmente quais as deficincias e como estas deficincias podem ser solucionadas atravs da adoo de sistemas e formas de controle extras ao Scrum. Uma prtica comum a Sutherland et al (2009) e Berczuk (2007) se refere adoo de uma ferramenta especfica denominada ScrumWorks para a gerao e compartilhamento eletrnico do SprintBacklog, que consiste basicamente no quadro de tarefas do Sprint corrente. Tambm adota-se o conceito de compartilhamento do Burndown Chart entre as equipes, porm de formas distintas, mas igualmente satisfatrias: enquanto Sutherland et al (2009) cita que as equipes fazem uma impresso diria do seu Burndown Chart, gerado atravs da ferramenta ScrumWorks, Berczuk (2007) cita que a adoo escolhida em seu estudo foi a de reconstruo diria do Burndown Chart em quadros das equipes de forma simultnea, de forma a incentivar a comunicao e compartilhamento de informaes entre os diferentes escritrios. Apesar da forma de evidenciao escolhida, tanto do SprintBacklog quanto do Burndown Chart, podemos observar nos dois casos acima que a maior preocupao a de sempre manter os rituais e mtodos de controles que so premissas da metodologia Scrum. Para as reunies de Daily Meeting, Sprint Review, Retrospective, Sprint Planning e Estimative, Pearlman (2006) cita como sendo o cenrio ideal um apanhado de tecnologias que permitem a comunicao e interao entre os membros, porm no cita nenhuma em especfico, pois as equipes devem ser auto suficientes para as escolhas que fazem com que se sintam mais confortveis e produtivos, cabendo ao ScrumMaster apenas assegurar que as escolhas no infrinjam a metodologia. J segundo Sutherland et al (2009) e Berczuk (2007), a forma de comunicao atravs de ferramentas deve ser uma deciso em um nvel mais do ScrumMaster, podendo ou no consultar os membros das equipes, mas que a sua deciso a mais importante. Assim como no item anterior, podemos tambm observar a importncia em sempre procurar manter os rituais e mtodos do Scrum, independente da forma e tecnologia que venha a ser utilizada para a comunicao entre os diversos membros das equipes de desenvolvimento remotas. O uso de tecnologias pode ser observado, atravs da anlise da literatura, de forma ampla e benfica, contanto que no se interfira de forma a alterar a metodologia Scrum, j que a metodologia em si possui rituais, mtodos e processos muito bem definidos e qualquer alterao na forma de trabalho poderia acarretar em dificuldades maiores. Repara-se tambm que em nenhum momento, a literatura cita a alterao da metodologia, mas apenas que ferramentas de auxlio e suporte existem e suas adoes tendem a ser sempre benficas.
4. METODOLOGIA
Este artigo composto de uma pesquisa bibliogrfica, cujo tema inicial foi definido em funo de experincia profissional do seu autor, que procurou atravs de referencias na rea demonstrar as capacidades de utilizao de uma metodologia amplamente utilizada em seu ambiente profissional (SCRUM) em outros ambientes de trabalho que no o seu habitual. Conforme Lakatos e Marconi (2003), uma pesquisa bibliogrfica compreende em um processo de investigao cientfica focada na anlise e interpretao de literatura prvia de outros autores sub uma nova interpretao. Ainda sob a anlise de Lakatos e Marconi (2003), a fonte para a escolha do assunto de livre escolha do autor, tendo geralmente grandes influncias em experincia profissional ou pessoal, leituras prvias, observaes, entre outros. O tema principal deste artigo foi determinado em funo da experincia profissional do autor em conjunto com observaes sobre padres de projetos de desenvolvimento de software. Procurou-se durante o seu desenvolvimento, a criao de um levantamento bibliogrfico atravs da identificao aprofundada dos temas envolvidos, a localizao dos materiais e a sua compilao. Aps todo o processo de levantamento feito, foi necessrio um cruzamento das informaes, que por ora possuam divergncias de pontos de vista entre os autores. Pde-se ento, aps toda a anlise inicial dos assuntos, desenvolver em detalhes a explanao das ideias e cruzamento de informaes, efetuando-se sempre uma anlise crtica aos contedos apresentados pelos diferentes autores.
5. APRESENTAO E ANLISE DOS DADOS
Durante o processo de desenvolvimento deste artigo, houve a oportunidade de obteno de relatos de experincias de um profissional ligado rea de desenvolvimento de software que utiliza Scrum como metodologia principal e que est implementando um processo de gesto de equipes remotas de Scrum. A identidade, empresa que trabalha e detalhes da forma de implementao no foram autorizadas para divulgao neste trabalho. Em seu relato sobre a implementao deste modelo de gesto de equipes remotas com Scrum, foram confirmadas diversas das dificuldades apresentadas por outros autores pesquisados neste artigo, com a exaltao do fator comunicao como sendo o ponto mais crtico de ateno e ajustes. Conforme explicado pelo profissional, a distncia entre os membros das equipes gera muitos rudos de comunicao, mas que esse fator est diretamente relacionado ao perfil profissional de cada membro das equipes que compem o time de desenvolvimento. Foi relatado, a ttulo de exemplo, que um determinado profissional possui muito mais propenso ao entendimento incorreto em uma comunicao distncia do que os demais profissionais, enquanto que h casos de entendimento sem rudos em relao a outros profissionais.
6. CONSIDERAES FINAIS
Atravs desta anlise de literatura, em conjunto com os relatos oferecidos por profissional qualificado na rea de projetos de software que utiliza Scrum, podemos afirmar que a metodologia gil Scrum uma metodologia amplamente adotada em diferentes escalas de desenvolvimento de software, alm de ser muito bem empregado e com alto nvel de maturidade quando as equipes de desenvolvimento so voltadas para a produo de software para internet. Pode-se tambm concluir que a sua adoo e seu sucesso deve-se principalmente ao fator humano dos projetos, pois parte dos membros de suas equipes a motivao necessria para que a adoo de forma plena e produtiva ocorra. Assim como diversas outras metodologias de desenvolvimento de software, h no Scrum pontos de ateno que devem ter os devidos cuidados, mas que em funo do seu dinamismo e alta capacidade de resposta a mudanas, podem ser facilmente corrigidos e contornados. Conclui-se que a adoo do Scrum em equipes de desenvolvimento de software para internet pode ser amplamente adotado, tendo os mesmos benefcios e caractersticas de uma equipe alocada, contanto que se observem alguns detalhes e tenha-se a preocupao de garantir que a metodologia est sendo amplamente adotada, que as barreiras culturais sejam vencidas e que, acima de tudo, garanta-se que a comunicao e interao, que so premissas do Scrum, ocorram de forma transparente e sem empecilhos, garantindo assim o sentimento de que os membros integrantes das equipes de desenvolvimento fazem parte de um nico projeto de desenvolvimento de software. 6. REFERENCIAS BIBLIOGRFICAS
BERCZUK, S. Back to Basics: The Role of agile Principles in Success with a Distributed Scrum Team. In: Proceedings of the Conference on Agile 2007. Washington D.C.: IEEE Computer Society; 2007.
COHN, M. Agile Estimating and Planning. 1 a ed. Upper Saddle River, New Jersey: Prentice Hall; 2006.
FILHO, A. C. O.; ALVES A. L. oinia Pontifcia niversidade atlica de ois 200
HUNDERMARK, P. Do Better Scrum. Disponvel em: <http://www.scrumsense.com/wp- content/uploads/2009/12/DoBetterScrum-v2.pdf>. Acesso em: 23 de agosto de 2013.
LAKATOS, E. M.; MARCONI, M. A. Fundamentos da Metodologia Cientfica. 5 a ed. So Paulo: Atlas; 2003
LOYOLA, K. D.; PINHEIRO, N. D.
Otoni [trabalho de concluso de curso]. Tefilo Otoni: Faculdades Unificadas DOCTUM; 2010.
MANIFESTO for Agile Software Development nternet isponvel em <http://www.agilemanifesto.org/>. Acessado em: 23 de agosto de 2013.
OBSERVATRIO Nacional [Internet]. Disponvel em: < http://pcdsh01.on.br >. Acessado em: 04 de setembro de 2013.
PATTERNS and Practices for Distributed Teams [Internet]. Disponvel em: <http://blogs.msdn.com/b/jmeier/archive/2009/11/23/patterns-and-practices-for-distributed- teams.aspx>. Acessado em: 23 de agosto de 2013.
PEARLMAN, S. Leading Without Seeing: managing distributed teams [Internet]. Disponvel em: <http://www.slideshare.net/shanepearlman/leading-without-seeing-managing- distributed-teams>. Acessado em: 23 de agosto de 2013.
PROJECT MANAGEMENT INSTITUTE. A Guide to the Project Management Body of Knowledge. 4 a ed. Pennsylvania: Project Management Institute. 2008.
SANTANA, K. F. G.; FREITAS, R. A. Desenvolvimento gil: Uma Abordagem Sobre o Scrum. [local desconhecido]: [editor desconhecido]; 2011.
SCRUM (development) Wikipedia, the free encyclopedia [Internet]. Disponvel em: <http://en.wikipedia.org/wiki/Scrum_(development)>. Acessado em: 04 de setembro de 2013.
SEVERINO, L. J. O Poder do PMBOK no Gerenciamento de um Projeto Scrum [trabalho de concluso de curso]. Londrina: Universidade Estadual de Londrina, Departamento de Computao; 2009.
SUTHERLAND, J. et al. Distributed Scrum: Agile Project Management with Outsourced Development Teams. In: HICSS'40: Proceedings of Hawaii International Conference on Software Systems. Big Island, Hawaii: IEEE Computer Society; 2007.
SUTHERLAND, J. et al. Distributed Scrum: The Secret Sauce for Hyperproductive Offshored Development Teams. In: Proceedings of Agile 2008 Conference. Toronto: IEEE Computer Society; 2008.
SUTHERLAND, J. et al. Fully Distributed Scrum: Replicating Local Productivity and Quality with Offshore Teams. In: HICSS'42: Proceedings of Hawaii International Conference on Software Systems. Big Island, Hawaii: IEEE Computer Society; 2009.
THE Official US time (NIST & USNO) [Internet]. Disponvel em: <http://www.time.gov>. Acessado em: 04 de setembro de 2013.