Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Upcoming SlideShare
Loading in...5
×
 

Gerenciando Projetos De Software De Forma áGil Utilizando Scrum

on

  • 2,211 views

 

Statistics

Views

Total Views
2,211
Views on SlideShare
2,201
Embed Views
10

Actions

Likes
0
Downloads
83
Comments
1

1 Embed 10

http://www.linkedin.com 10

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Gerenciando Projetos De Software De Forma áGil Utilizando Scrum Gerenciando Projetos De Software De Forma áGil Utilizando Scrum Document Transcript

    • Gerenciando projetos de software de forma ágil utilizando SCRUM Um estudo de caso Raphael Donaire Albino Thiago Starck Pereira Objetivo Este artigo tem como objetivo apresentar o SCRUM, uma metodologia ágil de gerenciamento de projetos. O artigo consiste no estudo de caso sobre uma empresa do interior de São Paulo que adotou a metodologia descrita acima mostrando que a utilização de práticas de processos ágeis de gerenciamento de projetos pode trazer resultados satisfatórios. Introdução Devido ao ritmo acelerado de mudanças, inovações tecnológicas, concorrência acirrada e grande dinamismo nas organizações e no ambiente de negócios, organizações ao redor do mundo vem buscando um diferencial nesse mercado cada vez mais competitivo. Houve um grande aumento na adoção de programas de qualidade e melhoria em software, já que a qualidade do produto final é influenciada pela qualidade do processo empregado no desenvolvimento. Buscando cada vez mais aumentar a qualidade de seu produto final, empresas passaram a adotar modelos e propostas, como o gerenciamento de projetos. O gerênciamento de projetos aborda o planejamento e a coordenação de um projeto do começo ao fim, identificando as exigências do cliente e cumprindo cronograma, custos e padrões de qualidade. A gerência de projetos tem como objetivo a realização de um projeto com a execução das suas metas específicas, oferecendo a um indivíduo ou grupo a responsabilidade e autoridade para conseguir atingir metas. A partir dos anos 90 uma nova abordagem para o desenvolvimento de software passou a despertar grande interesse nas empresas devido as mudanças que vem ocorrendo nos ambientes de negócios.
    • Os métodos ágeis têm como idéia o desenvolvimento de software iterativo, evolutivo e incremental, tornando o seu desenvolvimento mais dinâmico e flexível. O contato com o cliente passa a ser mais constante trazendo os princípios a serem seguidos no projeto pela equipe de desenvolvimento. Métodos, práticas e técnicas para o desenvolvimento ágil de projetos prometem aumentar a satisfação do cliente, produzir software com alta qualidade e acelerar prazos de desenvolvimento dos projetos. Dentre as diversas metodologias ágeis existentes, o SCRUM é uma das mais difundidas por ter maior foco em gerenciamento. O SCRUM é um processo ágil e leve que pode ser utilizado para gerenciar e controlar o desenvolvimento de software. Baseado em práticas de gerenciamento já fundamentadas no Extreme Programming e no RUP (Rational Unified Process), o SCRUM produz os benefícios do desenvolvimento leve com a vantagem de ser uma implementação simples e objetiva, com papéis bem definidos, de fácil adaptação e com uma curva de aprendizado relativamente baixa. O artigo visa relatar um estudo de caso de uma empresa no interior do estado de São Paulo que adotou o SCRUM como metodologia de gerenciamento de projeto de software. Revisão de Literatura Por conta da dinamicidade e competitividade que toma conta do mundo dos negócios, a disciplina de gerenciamento de projetos se tornou muito importante, pois, à medida que os desafios crescem, práticas de gerenciamento de projetos se tornam aliadas para responder aos desafios. O termo projeto tem sido muito utilizado nas organizações, ainda que isso não garanta que elas estejam conduzindo as atividades inerentes ao que denominam como projeto da melhor maneira ou que alcancem os resultados esperados. Mas em que consiste a gerência de projetos? Gerenciamento de projeto é a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atingir os requisitos do mesmo. A gerência eficaz de projetos é conseguida através do uso de processos, tais como: iniciar, planejar, executar, controlar e encerrar (PMI, 2000). Existem teorias, técnicas e ferramentas para gerenciar projetos, muitas oriundas do universo militar ou do mundo pós-guerra.
    • Uma associação mundialmente conhecida e sem fins lucrativos que desenvolve padrões para a prática de Gerenciamento de Projetos é o PMI. Sua origem se deu no fim dos anos 60 nos EUA e hoje conta com mais de 270.000 associados em todo mundo (PMI- SP, 2008). A principal publicação do PMI é um guia de práticas para gerenciamento de projetos conhecido como PMBOK ou “A Guide to the Project Management Body of Knowledge”. O PMBOK tem servido como uma base sólida para o gerenciamento de qualquer tipo de projeto, inclusive na área de tecnologia da informação, justamente por abordar disciplinas como Gerenciamento de Integração do Projeto; Gerenciamento do Escopo do Projeto; Gerenciamento de Tempo do Projeto; Gerenciamento de Custos do Projeto; Gerenciamento da Qualidade do Projeto; Gerenciamento de Recursos Humanos do Projeto; Gerenciamento das Comunicações do Projeto; Gerenciamento de Riscos do Projeto; Gerenciamento de Aquisições do Projeto, que são importantes em qualquer tipo de projeto. Porém, como comparar projetos de software com projetos de engenharia civil? Imagine se no meio de um projeto de construção de um edifício o cliente sente a necessidade da mudança de uma parede de lugar, sendo que ela já foi levantada. É algo inimaginável, mas no mundo do desenvolvimento de software mudanças devem e são encaradas naturalmente. E eis que surge uma abordagem para o desenvolvimento de software que tem despertado muito interesse em grandes organizações de todo o mundo. Estamos vivendo uma tendência para o desenvolvimento ágil de aplicações devido ao ritmo acelerado de mudanças na tecnologia da informação, pressões por constantes inovações, concorrência acirrada e grande dinamismo no mundo dos negócios (BOEHM, 2006). Não se deve confundir agilidade com desorganização ou falta de profissionalismo. Na verdade ser ágil, ao contrário do que parece, exige um alto grau de disciplina e organização. O termo agilidade quer dizer a habilidade de criar e responder a mudanças, buscando a obtenção de lucro em um ambiente de negócio turbulento (HIGHSMITH, 2004).
    • Em 2001, um grupo de autores e responsáveis por diferentes técnicas e metodologias ágeis se reuniram para discutir e deixar mais claro o sentido da abordagem ágil nos projetos de desenvolvimento de software. O resultado desse encontro foi a concepção do Manifesto Ágil (Agile Manifesto, 2001), que estabeleceu os valores nos quais uma metodologia ágil deve se basear. São eles: indivíduos e interações sobre processos e ferramentas; software funcionando sobre extensa documentação; colaboração dos clientes sobre negociação em contratos; respostas às mudanças sobre seguir um plano. Sendo os itens em negrito os mais importantes. Nos últimos cinco anos uma metodologia para gerenciamento de projetos de software chamada SCRUM tem sido muito bem aceita no mercado. O SCRUM é um processo ágil para o desenvolvimento de software criado em 1996 por Ken Schwaber e Jeff Sutherland e se destaca por focar o processo de gerenciamento de projetos. Com o SCRUM, os projetos progridem a partir de uma série de iterações mensais chamadas Sprints. A metodologia se baseia em princípios como: equipes pequenas de no máximo sete pessoas e iterações curtas. O SCRUM utiliza um esqueleto iterativo e incremental que é sustentado por três papéis principais (SCHWABER, 2004): Product Owner (Dono do Produto): representa os interesses do cliente no projeto e, em alguns casos é o próprio cliente; Scrum Master (Mestre Scrum): responsável pela execução de todas as regras do SCRUM; Team (Time): responsável por desenvolver o projeto. Segundo SCHWABER (2004), o SCRUM não é um processo previsível, ele não define o que fazer em todas as circunstâncias. Ele é utilizado em projetos que mudam freqüentemente, possuem requisitos altamente mutáveis e, é recomendado para projetos de outras áreas que não o desenvolvimento de software e principalmente para projetos de pesquisa e inovação. O projeto SCRUM tem início quando uma visão do que deverá ser desenvolvido é criada. Essa visão deve conter uma lista das características que o cliente espera que o projeto contenha ao seu final, tendo como referência o seu problema atual.
    • Posteriormente, o Product Backlog é criado contendo a lista de todos os requisitos que foram levantados. Os requisitos devem ser priorizados e divididos em entregáveis (releases). O fluxo de desenvolvimento detalhado do SCRUM é mostrado na figura 1. Como citado anteriormente, o trabalho no SCRUM é realizado em iterações chamadas Sprints. Schwaber (SCHWABER, 2004) explica que cada Sprint inicia-se com uma reunião de planejamento chamada Sprint Planning Meeting, na qual o Product Owner e o Team decidem em conjunto o que deverá ser desenvolvido (Selected Product Backlog) naquele Sprint. Em geral, a reunião é dividida em duas partes. Na primeira parte (Sprint Planning 1) o Product Owner apresenta ao Team os principais requisitos que devem ser desenvolvidos e fica ao encargo do Team decidir o que poderá ser desenvolvido, considerando sua produtividade. Na segunda parte (Sprint Plannig 2), o Team planeja o seu trabalho, criando o Sprint Backlog, que é a lista das tarefas necessárias para se desenvolver as funcionalidades designadas para aquele Sprint. É importante citar, que a lista das tarefas pode ser modificada pelo Team ao longo do Sprint e as tarefas variam normalmente entre quatro e dezesseis horas para sua conclusão. Ao longo do Sprint, reuniões de quinze minutos são feitas diariamente para acompanhar o progresso do trabalho e outras reuniões podem ser agendadas se necessário. Cada membro do Team deve responder as seguintes questões nas reuniões diárias: O que eu fiz no projeto desde a última reunião? O que irei fazer até a próxima reunião? Quais são os impedimentos? Ao final do Sprint uma reunião de revisão (Sprint Review Meeting) é realizada para que o Team apresente o resultado alcançado na iteração para o Product Owner. Neste instante, são validadas as funcionalidades e caso sejam necessárias, adaptações são realizadas. Após essa reunião, o Scrum Master realiza uma reunião de retrospectiva (Sprint Retrospective Meeting) com o intuito de melhorar o processo e o produto para o próximo Sprint.
    • Ao final do Sprint um produto com valor agregado deve ser entregue ao cliente e esse processo se repete até que todo o Product Backlog seja atendido (CONTROL CHAOS, 2008). Figura 1. Visão geral do processo do Scrum (adaptada de [Schwaber, 2004]) Método de Pesquisa O estudo de caso é um tipo de pesquisa qualitativa e têm como objetivo retratar a realidade de uma forma completa e transparente, revelando fatos que envolvem e determinam os diversos momentos da realidade estudada. Para a construção do estudo de caso que este artigo abrange, a princípio serão realizadas investigações sobre o tema estudado para a construção de hipóteses e contextualização das situações envolvidas no cenário atual da empresa. O estudo de caso será caracterizado com uma pesquisa descritiva, realizada através de entrevistas. Ele se baseará nos dados coletados nos questionários das entrevistas que serão aplicados aos diferentes funcionários da empresa. Os dados coletados serão utilizados para se chegar à compreensão da empresa como um todo. Após a fase de coleta das informações será feita uma seleção, análise e interpretação dos dados, considerando o objetivo da nossa investigação. Logo em seguida relatórios finais serão elaborados de maneira concisa, especificando como foram coletados os dados de forma detalhada e padronizada, para a comprovação
    • de sua validade, respeitando o rigor científico necessário, mas não perdendo a simplicidade para uma boa compreensão. Os resultados do estudo de caso surgirão de formas quantitativas e qualitativas. Através dos resultados será possível conhecer a situação da empresa antes e depois da adoção da metodologia SCRUM nos seus projetos de maneira válida e confiável.