0

METODOLOGIA ÁGIL SCRUM NA GESTÃO E NO DESENVOLVIMENTO DE PROJETOS SOFTWARES

#Scrum
Antônio Santos
Antônio Santos

Antônio Lucas da Costa Santos¹ 


Resumo 


Com o aumento da complexidade dos projetos e do nível de exigência dos clientes vem justificando a necessidade de aperfeiçoamento das técnicas de gestão de projetos. A aplicação das metodologias tradicionais na gestão de projetos pode não ser a forma mais adequada, dependendo das características do produto e do projeto. A criação de metodologias ágeis se originou pela necessidade de haver formas mais eficientes de gestão de projetos específicos, como por exemplo, os projetos de software. Estas metodologias podem ser aplicadas tanto nos processos de desenvolvimento quanto nos processos de gestão dos projetos. Neste trabalho, através de pesquisas bibliográficas, foram abordadas características de gerenciamento de projetos, assim como os processos e os ciclos de vida da metodologia ágil Scrum, além de suas vantagens e desvantagens.  


Palavras-chave: Metodologia ágeis. Scrum. Gestão de Projetos. Processos. Pressman.

Introdução 


A indústria de desenvolvimento de software tem se tornado uma das mais importantes da atualidade, pois todas as empresas precisam e usam sistemas para auxiliar na realização e controle das tarefas rotineiras.  

A realidade com relação a gestão de projetos nas empresas, em geral, ainda fica bastante a desejar, pois nem sempre metodologias ou ferramentas de gestão são utilizadas, fazendo com que essa tarefa seja um pouco mais complexa do que realmente deve ser. 


Embora atualmente as pessoas e as empresas estejam se preocupando cada vez mais com o desenvolvimento e a execução de projetos com qualidade em seus ambientes de trabalho, direcionando mais atenção e mais foco para essa realização, ainda é necessário muito esforço e muita prática para que os projetos sejam realizados com sucesso, dentro dos paradigmas de tempo, custo, escopo e qualidade, os quais são fundamentais em qualquer projeto.  

Dessa forma, com a necessidade de organizar e melhor gerenciar o dia a dia de uma empresa, tem surgido novas metodologias de trabalho, as chamadas metodologias ágeis, as quais são responsáveis por ajudar o gerenciamento de processos, a fim de organizá-los em uma sequência de passos que permita a melhor utilização do tempo e dos recursos disponíveis, pois no mundo globalizado atual, é possível notar que com a constante evolução dos softwares e a demanda cada vez maior do mercado, se uma empresa de desenvolvimento de software não faz o gerenciamento dos processos e dos projetos, a mesma possui um ambiente turbulento, cheio de informações e requisitos que precisam ser registrados, estudados e planejados para que se obtenha um produto final compatível com as necessidades dos clientes, que necessitam cada vez mais de softwares com qualidade, usabilidade, segurança e robustez, com prazos de entrega cada vez mais curtos.  


Com isso, realizar tais tarefas é um desafio para as empresas de software, pois executar tarefas diversas demandam, inicialmente, mais tempo. Por isso, com a finalidade de melhorar os processos diários, beneficiar a gestão de projetos e também aprimorar a gestão das equipes, muitas empresas passaram a utilizar a metodologia ágil Scrum, que de acordo com Cruz (2013, p. 31), “a ideia principal do Scrum é controlar processos empíricos, mantendo o foco na entrega de valor de um negócio no menor tempo possível”.  


Segundo Devmedia (2017), ao fazer uso de uma metodologia ágil é possível identificar a prioridade das necessidades do cliente, o qual poderá usufruir dessa funcionalidade assim que a mesma estiver pronta, não sendo necessário aguardar o término do sistema para fazer uso de tal funcionalidade. Outra vantagem da metodologia ágil é o fato das equipes serem pequenas, facilitando assim a comunicação entre os membros das mesmas.  

Dessa forma, este trabalho tem o objetivo de elencar conceitos e elementos relacionados a metodologia ágil e gerenciamento de projetos, a fim de propor sugestões na organização do trabalho nas empresas de software, a partir de tais conceitos.  


2 Metodologia e Fundamentação Teórica  

A busca de conhecimentos para a realização deste trabalho foi feita através do método de pesquisa bibliográfica, que, segundo Gil (2002), “é desenvolvida com base em material já elaborado, constituído principalmente de livros e artigos científicos”.  


2.1 Metodologia Ágil  

De acordo com Pressman (2011, p. 82), “métodos ágeis se desenvolveram em um esforço para sanar fraquezas reais e perceptíveis da engenharia de software convencional”, por oferecer importantes benefícios.  

Dessa forma, com a dificuldade ou impossibilidade de prever como será a evolução de um sistema computacional devido às constantes mudanças no mercado, às diferentes necessidades dos usuários e às novas ameaças no mercado globalizado, a proposta da metodologia ágil vem de encontro com essa realidade, visto que um projeto ágil é regido por mudanças e atualizações, seja de equipe, de tecnologia, de incorporação de novas funcionalidades, ou de qualquer outro tipo de mudança, pois as mudanças é o principal condutor para a agilidade (PRESSMAN, 2011). 

Ainda de acordo com Pressman (2011), a metodologia ágil, ou movimento ágil, nasceu em 2001, a partir da reunião de 17 profissionais (desenvolvedores, autores e consultores da área de software) que buscavam melhorias nos processos de desenvolvimento de software. Com isso, na tentativa de desvendar melhores formas de desenvolvimento, foram criados os valores da metodologia ágil, que segundo Pressman (2011, p. 81) são:  


• Indivíduos e interações acima de processos e ferramentas  

• Software operacional acima de documentação completa  

• Colaboração dos clientes acima de negociação contratual  

• Respostas a mudanças acima de seguir um plano.  


Dessa forma, a metodologia ágil não rejeita ou desvaloriza processos e ferramentas, documentação completa, negociação contratual, ou seguir um plano, mas simplesmente mostra que eles têm importância secundária quando comparado com os indivíduos e interações, com o software operacional funcionando, com a colaboração dos clientes e com o cliente, assim como com as respostas rápidas a mudanças.  

Nesse contexto, a partir dos valores do processo ágil, de acordo com Agile (2017), os doze princípios do manifesto ágil são:  


• Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado.  

• Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente.  

• Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência à menor escala de tempo.  

• Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto. 

• Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho.  

• O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face.  

• Software funcionando é a medida primária de progresso.  

• Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.  

• Contínua atenção à excelência técnica e bom design aumenta a agilidade.  

• Simplicidade – a arte de maximizar a quantidade de trabalho não realizado – é essencial. 

• As melhores arquiteturas, requisitos e designs emergem de equipes auto organizáveis. 

• Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.  


De acordo com Bernardo (2014), “cada método ágil existente hoje carrega consigo os valores e princípios arraigados no manifesto ágil, métodos como SCRUM, KANBAN e XP os trazem, por isso são denominados ágeis”.  

Os métodos ágeis, utilizando o processo de entrega incremental, considera que o custo das mudanças seja incorporado no projeto do software, visto que entregas constantes e incrementais são realizadas periodicamente.  

Dessa forma, conforme a Figura 1, o custo das alterações usando modelos de processo de software convencionais são consideravelmente mais altos, ao passo que ao utilizar o modelo de 

processo ágil, os custos são mais uniformes, podendo ser melhor administrados durante o desenvolvimento e controle de mudanças.  



Figura 1: Custos de alterações como uma função do tempo de desenvolvimento

Não foi fornecido texto alternativo para esta imagem

Fonte: Pressman



Dessa forma, com o uso de uma metodologia ágil, pode-se prever que problemas de prazos e mudanças constantes no escopo do projeto sejam administrados de uma forma diferenciada, visto que a comunicação interna da equipe e o contato com o cliente devem ser feitos de forma direcionada e constante, o que pode proporcionar uma melhoria em alguns problemas que dificultam os projetos nas empresas.  

De acordo com Administradores (2017), o não-cumprimento de prazos (66%), falhas de comunicação (64%) e mudanças constantes de escopo (62%) lideram a lista das principais deficiências apontadas pelo 5º Estudo de Benchmarking em Gerenciamento de Projetos Brasil, realizada anualmente pelo Project Management Institute (PMI).  

É sabido que todo projeto envolve pessoas e mudanças, prazos e comunicação, principalmente com o uso de metodologia ágil, que trabalha com entregas constantes, onde o produto é feito aos poucos e entregue constantemente (DEVMEDIA, 2017).  


2.2 Scrum 

De acordo com Pressman (2006, p. 69), “O Scrum (nome derivado de uma atividade que ocorre durante um jogo de rugby) é um modelo ágil de processo que foi desenvolvido por Jeff Sutherland e por sua equipe no início da década de 1990”, o qual é classificado como um framework iterativo e incremental, que possui processos repetitivos até se obter o resultado desejado, e incremental pois ao longo destes processos são incrementadas partes das tarefas até 

que se obtenha um produto final e conclua seu ciclo de vida, o qual é limitado a, no máximo, trinta dias e são chamados de Sprints.  

Segundo Gomes (2017), o Scrum é melhor utilizado em equipes de 3 a 11 pessoas, pois isso proporciona uma melhor comunicação e integração do time, gerando maior produtividade e autonomia na execução das tarefas diárias, pois equipes maiores tendem a se comunicar menos, e assim produzir mais erros. De acordo com o Manifesto Ágil (AGILE, 2017), a melhor comunicação é a feita cara a cara.  

Segundo pesquisa realizada pela VersionOne (2009), apresentada na Figura 2, das empresas que utilizam alguma metodologia ágil, 50% utilizam Scrum, sendo o mais utilizado entre as metodologias disponíveis.



Figura 2: Agile methodology most closely followed (Metodologia ágil observada mais de perto)

Não foi fornecido texto alternativo para esta imagem

Fonte: Pressman



O Scrum é composto por papéis (Product Owner, Scrum Master, Time Scrum), cerimônias (Planejamento da Sprint, Reunião diária, Revisão da Sprint, Retrospectiva da Sprint) e artefatos (Product BacklogSprint BacklogIncrement) (SCHWABER; SUTHERLAND, 2013).  

Segundo Schwaber e Sutherland (2013), os papéis no Time Scrum são:  

• Product Owner (Dono do Produto): Responsável por valorizar o produto e trabalhar em conjunto com o Time de Desenvolvimento, garantindo que todas as funcionalidades propostas no planejamento sejam executadas. Deve estar sempre disponível para atender as necessidades do Time e colaborar ativamente com o projeto. Ele é o único responsável pela gestão do Product Backlog. É ele quem delega para o Time o que deve ser feito em cada Sprint, e, no final da mesma, ele deve validar o que foi desenvolvido pelo referido Time. 

• Development Team (Time de Desenvolvimento): Responsáveis pelo desenvolvimento do produto. São eles que realizam a construção e testes dos produtos, garantindo a entrega de uma versão usável ao final de cada Sprint. Dentro de um Time não há títulos ou cargos diferentes, pois todos são tratados como desenvolvedores e têm o mesmo papel, sem exceções.  

• Scrum Master: O papel do Scrum Master é ajudar e liderar o Time, não permitindo que ocorram interferências ou impedimentos que atrapalhem a produtividade do mesmo, garantindo que o Time não se comprometa com atividades que não possam ser concluídas dentro da Sprint. É responsável também por organizar e realizar as reuniões diárias. Ele é responsável por fazer com que o Scrum seja entendido e aplicado a todo o Time.  

Os artefatos são os trabalhos realizados no ciclo do Scrum, ao passo que os eventos são utilizados para definir uma rotina. A Figura 3 representa os Artefatos e os Eventos que formam o ciclo do Scrum.


  

Figura 3: Ciclo de vida do Scrum

Não foi fornecido texto alternativo para esta imagem

Fonte: Oliveira (2017)


De acordo com Schwaber e Sutherland (2013), os artefatos do Scrum são: • Product Backlog (Backlog do Produto): Define a lista de tarefas ordenada por prioridade a serem realizadas no produto. Nele devem conter os requisitos para qualquer implementação ou alteração a serem desenvolvidas no produto, detalhadas com funções, características e funcionalidades esperadas. Os itens com prioridades mais altas devem ser mais claros e apresentar um maior nível de detalhamento que os itens de menor prioridade, e além de terem uma atenção diferenciada do Product Owner, são desenvolvidos com maior prioridade. O Product Backlog é dinâmico e nunca está completo, ou seja, pode ser alterado e atualizado a qualquer momento, até que seja obtido o resultado esperado do produto. É de responsabilidade do Product Owner


• Sprint Backlog (Backlog da Sprint): É a lista de atividades criada para o Time. São tarefas do Product Backlog, que conforme prioridade definida pelo Product Owner, são inseridas e desenvolvidas a cada Sprint.  

• Increment (Incremento): É a soma de todos os itens realizados ao fim de uma Sprint, ou seja, são todos os itens desenvolvidos durante a Sprint e que formam um produto. O  Product Owner é o responsável por liberar ou não este incremento para o cliente.  


Os eventos do Scrum, de acordo com Schwaber e Sutherland (2013), são:  


• Sprint: Neste ponto inicia-se o desenvolvimento do produto com base no que foi definido no  Sprint Backlog, pois serão realizadas as tarefas por prioridade, com duração máxima de quatro semanas. Ao término das cerimônias de uma Sprint inicia-se outra imediatamente.  

• Sprint Planning (Planejamento da Sprint): É a reunião de planejamento realizada pelo Time onde são definidos quais itens serão entregues ao final da Sprint. O Scrum Master fica responsável por garantir que todos os integrantes do Time Scrum participem. A reunião de planejamento tem limite máximo de 8 horas de duração.  

• Daily Scrum (Reunião Diária): Diariamente o Time de Desenvolvimento deve se reunir com o Scrum Master para discutir o que foi feito no dia anterior e o que está planejado para executar neste dia, assim como apresentar as dúvidas, os problemas e os impedimentos encontrados. Estas reuniões devem ter duração máxima de 15 minutos, serem realizadas no mesmo horário diariamente e os integrantes ficam todos juntos, de pé.  

• Sprint Review (Revisão da Sprint): É realizada ao final de cada Sprint com a finalidade do Time apresentar os itens que foram desenvolvidos para o Product Owner, o qual irá aprovar ou não cada item desenvolvido, de acordo com os requisitos definidos na reunião de planejamento. Possui duração máxima de 4 horas.  

• Sprint Retrospective (Retrospectiva da Sprint): É realizada ao final de cada Sprint, após a reunião de revisão, com o intuito de identificar como foi a Sprint com relação às pessoas, aos relacionamentos, aos processos e às ferramentas, identificando as falhas ocorridas no período. O objetivo é identificar o que foi bom e manter, assim como melhorar o que não foi bom para as próximas Sprints.  


A cada reunião diária o Burndown Chart (Gráfico Burndowndeve ser atualizado, pois de acordo com Campos (2012), este gráfico é utilizado para monitorar o andamento e o progresso das tarefas realizadas durante a Sprint. Nele é possível visualizar quanto trabalho já foi realizado e quanto falta realizar, sendo possível medir o desempenho do Time (identificar se está com atraso ou não), assim como a meta de prazo para término da Sprint. A Figura 4 apresenta o  burndown, que mostra em seu eixo vertical os pontos (ou as horas) planejados e no eixo horizontal os dias da Sprint. A linha pontilhada (na diagonal) representa como foram planejados para serem executados os pontos (ou horas) desde o início ao final da Sprint, e a linha reta identifica como está sendo o andamento da Sprint.  



Figura 4: Gráfico de Burndown

Não foi fornecido texto alternativo para esta imagem

Fonte: Campo (2012)



Dessa forma, se a linha reta está acima da linha pontilhada, significa que a Sprint está com atraso.  

2.5 Vantagens e Desvantagens do Scrum  

Como qualquer ferramenta ou metodologia, o Scrum apresenta vantagens e desvantagens em sua utilização.  

Algumas das principais vantagens do Scrum são:  

a. Maior comprometimento dos membros de equipe, pois estão a todo tempo trabalhando em conjunto, gerando um ambiente agradável de trabalho e um maior nível de confiança entre os membros;  

b. Redução na quantidade de falhas entregues aos clientes, pois nada é entregue sem antes ter a validação do Product Owner, além dos testes realizados pelo próprio Time, gerando assim um produto com maior qualidade e confiabilidade;  

c. Redução dos riscos, devido ao forte planejamento dos processos e comprometimento do Time, que talvez passariam despercebidos sem o uso de uma metodologia ágil; 

d. Utilização de um processo dinâmico e aberto à mudanças, possibilitando aprimorar o produto (software) no decorrer do projeto, garantindo uma entrega de um produto de valor ao cliente. 


Por outro lado, há desvantagens em utilizar essa metodologia ágil, como:  


a. Se seguida ao pé da letra, possui um número muito grande de processos a serem trabalhados, podendo deixá-la burocrática;  

b. O número de reuniões realizadas, pois o Scrum possui várias reuniões previstas ao longo de seu ciclo, e se não forem realizadas no limite de tempo planejado podem prejudicar o andamento do projeto, atrapalhando os prazos de entrega dos desenvolvedores.  

3.5 Análise dos resultados 

De acordo com PMI (2013, p. 3), “um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo”, o qual tem início e final definidos, com alocação de diversos recursos para que o mesmo atinja o seu objetivo.  

Esse conceito vem ao encontro das características do Scrum, o qual trabalha com a  Sprint, onde é feito o planejamento ao início de cada Sprint e todo o acompanhamento (monitoramento e controle) é realizado durante a execução da mesma. Ao término da Sprint, o resultado é apresentado ao Product Owner, o qual dará o seu parecer sobre o produto que está sendo entregue na Sprint.  


A Figura 5 apresenta os grupos de processos do PMBOK (Iniciação, Planejamento, Execução, Monitoramento e Controle, e Encerramento), os quais se encaixam nas cerimônias e atividades propostas pelo Scrum, que juntos, propõem que o andamento, a evolução, o controle e a entrega do produto ao final de cada projeto (ou Sprint) seja feita com qualidade e sucesso, atendendo as necessidades e expectativas do cliente.  



Figura 5: ciclo de vida do scrum + Guia PMBOK

Não foi fornecido texto alternativo para esta imagem

Fonte: Edilms (2017)



É importante notar que o monitoramento e controle do PMBOK é feito através das reuniões diárias da Sprint, assim como pela atualização do gráfico borndown. O PMBOK não obriga que todas as áreas de conhecimento sejam utilizadas em cada projeto. É necessário ter bom senso e identificar as necessidades de cada projeto, e assim fazer uso das mesmas.  


4 Considerações Finais  


Esta pesquisa teve como objetivo principal mostrar a importância do gerenciamento de projetos aliado a uma metodologia ágil, a fim de obter sucesso na realização dos processos diários e nas entregas do produto, para que sejam feitos com qualidade e segurança, atendendo a satisfação do cliente.  

A utilização de metodologias ágeis na área de tecnologia tem-se tornado algo cada vez mais frequente e necessário nos tempos atuais, devido a necessidade de melhorar a gestão e as estratégias de desenvolvimento. A metodologia ágil Scrum aliada a um bom gerenciamento de projetos (práticas do PMBOK) pode trazer benefícios para evitar e até mesmo reduzir os  problemas diários que as empresas possuem em virtude de muitos processos para serem organizados e cumpridos.  


Com a utilização do Scrum é possível obter um melhor controle sobre os processos e as fases de desenvolvimento, principalmente no levantamento de requisitos e definições de prioridades, diminuindo os riscos durante o projeto, obtendo benefícios como um desenvolvimento mais ágil e eficaz. 


O Scrum é uma metodologia ágil extremamente prática e poderosa, que apesar de ser mais utilizado em empresas de desenvolvimento de software, pode ser aplicada a qualquer área de negócio.  

Dessa forma, a união de uma metodologia ágil e as boas práticas de gerenciamento de projetos do PMBOK garante que os projetos tenham uma cobertura maior de controle, com entregas constantes e com prazos menores, e caso algum requisito tenha sido mal interpretado, o mesmo pode ser corrigido rapidamente, diferentemente de quando o produto deveria ser entregue por completo, onde os diversos erros de requisitos causam várias alterações no produto, necessitando de muitas correções e melhorias, gastando muito tempo da equipe e a consequente desmotivação da mesma.

0
1

Comentários (0)

None

Brasil