Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

APLICAÇÃO DO MÉTODO ÁGIL SCRUM EM CONJUNTO COM O PMBOK NO DESENVOLVIMENTO DE SOFTWARE: ESTUDO DE CASO, Trabalhos de Gestão de Projetos de Software

O setor de desenvolvimento de software está em crescimento e com projetos cada vez mais complexos. Desenvolver um software sem um planejamento prévio é muito arriscado, uma vez que sem uma preparação, as chances de fracasso são muito altas. Este trabalho apresenta um estudo de caso com o objetivo de apresentar a aplicação do método de desenvolvimento ágil Scrum em conjunto com as boas práticas de gerenciamento do Guia PMBOK®, em um projeto de desenvolvimento software de uma empresa de base

Tipologia: Trabalhos

2021

Compartilhado em 28/02/2021

marcos-vieira-9g7
marcos-vieira-9g7 🇧🇷

5

(1)

2 documentos

1 / 33

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
APLICAÇÃO DO MÉTODO ÁGIL SCRUM EM CONJUNTO COM O PMBOK NO
DESENVOLVIMENTO DE SOFTWARE: ESTUDO DE CASO
FEICHAS, Felipe Augusto;
Centro Universitário de Itajubá - FEPI. Endereço eletrônico: feichas2000@gmail.com
Resumo
O setor de desenvolvimento de software está em crescimento e com projetos cada
vez mais complexos. Desenvolver um software sem um planejamento prévio é muito
arriscado, uma vez que sem uma preparação, as chances de fracasso são muito altas.
Este trabalho apresenta um estudo de caso com o objetivo de apresentar a aplicação
do método de desenvolvimento ágil Scrum em conjunto com as boas práticas de
gerenciamento do Guia PMBOK®, em um projeto de desenvolvimento software de
uma empresa de base tecnológica. E como resultado do trabalho demonstrar a
aplicação do método Scrum na etapa de execução e a aplicação das técnicas do Guia
PMBOK® nas etapas que não são tratadas pelo método ágil, apresentando uma
execução evolutiva e flexibilidade do desenvolvimento, simplificando o ciclo de
produção, diminuindo os impactos causados por alterações de requisitos e mantendo
as boas práticas já consolidadas do Guia PMBOK®.
Palavras-chave: PMBOK. Scrum. Metodologia ágil. Desenvolvimento ágil. Gestão de
projetos.
Abstract
The software development sector is growing and with increasingly complex projects.
Developing software without prior planning is very risky, since without preparation, the
chances of failure are very high. This work presents a case study with the objective of
presenting the application of the Scrum agile development method in conjunction with
the good management practices of the PMBOK® Guide, in a software development
project of a technology-based company. And as a result of the work, it demonstrates
application of the Scrum method in the execution stage and the application of the
PMBOK® Guide techniques in the stages that are not treated by the agile method,
presenting an evolutionary execution and development flexibility, simplifying the
production cycle, reducing the impacts caused by changes in requirements and
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Pré-visualização parcial do texto

Baixe APLICAÇÃO DO MÉTODO ÁGIL SCRUM EM CONJUNTO COM O PMBOK NO DESENVOLVIMENTO DE SOFTWARE: ESTUDO DE CASO e outras Trabalhos em PDF para Gestão de Projetos de Software, somente na Docsity!

APLICAÇÃO DO MÉTODO ÁGIL SCRUM EM CONJUNTO COM O PMBOK NO

DESENVOLVIMENTO DE SOFTWARE: ESTUDO DE CASO

FEICHAS, Felipe Augusto; Centro Universitário de Itajubá - FEPI. Endereço eletrônico: feichas2000@gmail.com Resumo O setor de desenvolvimento de software está em crescimento e com projetos cada vez mais complexos. Desenvolver um software sem um planejamento prévio é muito arriscado, uma vez que sem uma preparação, as chances de fracasso são muito altas. Este trabalho apresenta um estudo de caso com o objetivo de apresentar a aplicação do método de desenvolvimento ágil Scrum em conjunto com as boas práticas de gerenciamento do Guia PMBOK®, em um projeto de desenvolvimento software de uma empresa de base tecnológica. E como resultado do trabalho demonstrar a aplicação do método Scrum na etapa de execução e a aplicação das técnicas do Guia PMBOK® nas etapas que não são tratadas pelo método ágil, apresentando uma execução evolutiva e flexibilidade do desenvolvimento, simplificando o ciclo de produção, diminuindo os impactos causados por alterações de requisitos e mantendo as boas práticas já consolidadas do Guia PMBOK®. Palavras-chave : PMBOK. Scrum. Metodologia ágil. Desenvolvimento ágil. Gestão de projetos. Abstract The software development sector is growing and with increasingly complex projects. Developing software without prior planning is very risky, since without preparation, the chances of failure are very high. This work presents a case study with the objective of presenting the application of the Scrum agile development method in conjunction with the good management practices of the PMBOK® Guide, in a software development project of a technology-based company. And as a result of the work, it demonstrates application of the Scrum method in the execution stage and the application of the PMBOK® Guide techniques in the stages that are not treated by the agile method, presenting an evolutionary execution and development flexibility, simplifying the production cycle, reducing the impacts caused by changes in requirements and

maintaining the good practices already consolidated in the PMBOK® Guide. Keywords: Scrum. Agile methodology. Agile development. Project management.

1. INTRODUÇÃO No atual cenário desenvolvimento de software , o ciclo de desenvolvimento está sujeito a frequentes alterações dos requisitos para atender às solicitações da demanda (RISING; JANOFF, 2000). Com base neste fato, o desenvolvimento de software é um grande desafio, visto que a entrega do projeto dentro do prazo, custo e escopo são os principais problemas para as empresas devido aos seus recursos restritos (CARVALHO; MELLO, 2009). Nesse sentido, os sistemas computacionais são elementos essenciais para o funcionamento e sobrevivência das organizações. As rápidas mudanças em tecnologia da informação dentro das organizações, necessitando de projetos complexos e entregas cada vez mais rápidas, torna-se necessária a implementação de metodologias ágeis de gestão de projeto e desenvolvimento de softwares. Partindo deste fato, o desenvolvimento de software exige melhor planejamento e controle das atividades para prover um software de alta qualidade e, consequentemente, respeitar os custos e prazos (CARVALHO; MELLO, 2009). Dessa forma, o processo de desenvolvimento de softwares é constituído por um conjunto de tarefas, que envolvem metodologias e ferramentas para elaborar, planejar, controlar e executar as atividades do projeto (PMBOK, 201 7 ). Os métodos ágeis de desenvolvimento de software são uma forma de construir um software com maior eficiência e qualidade. Para isso, no desenvolvimento de software há aplicação de princípios e práticas ágeis (SCHWABER; SUTHERLAND, 2013). Nesse contexto, ressalta-se o Scrum , por ser um modelo de gestão de desenvolvimento de software com uma abordagem simples. A metodologia foi desenvolvida por Jeff Sutherland, Mike Beedle e Ken Schwaber em 1993, baseado num artigo de Takeuchi e Nonaka (1986) sobre as vantagens dos pequenos times no desenvolvimento de produtos. Atualmente, sua aplicação foi expandida e difundida para o desenvolvimento de produtos em modo geral (CRISTAL; WILDT; PRIKLADNICKI, 2008).

qualidade, custo, escopo, recursos humanos, riscos, comunicação, aquisições e integração. Dessa forma, o gerenciamento no desenvolvimento software é necessário, já que as empresas são dependentes a restrições de orçamento e prazo. Para atender às restrições, o gerente de projeto é responsável por garantir que as restrições do projeto sejam cumpridas e entregar um produto como o software que atenda às metas e agregue valor à empresa (SOMMERVILLE, 2011). O gerente de projetos responde pela organização executora cujo fim é atingir os objetivos do projeto (PMBOK, 201 7 ). 2.2. PMBOK O Project Management Body of Knowledge , conhecido como PMBOK, é um guia de boas práticas aplicadas ao gerenciamento de projetos e é mantido pelo Project Management Institute (Instituto de Gerenciamento de projetos), o PMI. Não se trata de uma metodologia, e sim, de um conjunto de conhecimentos em gerenciamento de projetos, identificados e reunidos por profissionais da área. O guia PMBOK é estruturado por 49 processos de gerenciamento de projetos, agrupados em cinco grupos de processos tais como na Tabela 1 (PMBOK, 2017 ): TABELA 1 Os cinco grupos de processos do PMBOK (2017). Processos de Iniciação Os processos executados têm como objeto definir um novo projeto ou uma fase de um projeto existente para obtenção de autorização para iniciar o projeto ou fase. Processos de Planejamento Processos para definir o escopo do projeto, refinar os objetivos e definir as atividades e ações necessárias para concluir os objetivos do projeto. Processos de Execução Processos realizados para executar as atividades definida no escopo do projeto e satisfazer as especificações do projeto.

Processos de Monitoramento e Controle Processos para acompanhar, monitorar e analisar o progresso e comportamento do projeto e, assim, identificar as mudanças que serão necessárias no escopo do projeto. Processos de Encerramento Processos executados para encerrar todas as atividades do projeto, visando à finalização formal do projeto ou fase. Os processos estão divididos em dez áreas dos conhecimentos que caracterizam os principais aspectos envolvidos no gerenciamento de projeto (PMBOK, 2017 ) mostrado na Tabela 2: TABELA 2 As dez áreas de conhecimento do PMBOK (2017). Integração do Projeto Processos e atividades necessárias para identificar, definir, orientar, gerenciar, monitorar, combinar, unificar e coordenar as várias atividades e processos no gerenciamento de projetos. Escopo do Projeto Tem-se com objetivo garantir que todas as atividades do projeto possam ser encerradas com sucesso, restringindo ao necessário e gerenciando o que deve ou não estar incluso no projeto. Cronograma do Projeto Processos necessários para controlar o término pontual do projeto. Custos do Projeto Processos de planejamento, estimativas, orçamentos, financiamentos, gerenciamento e

funcionam no gerenciamento. 2.3. METODOLOGIAS ÁGEIS Inicialmente, por vários anos, seguiu-se o clássico modelo de cascata para o gerenciamento no desenvolvimento de software. Nessa metodologia, o gerenciamento do projeto passa por diversas fases (análise, design, documentação, codificação e testes) antes de ser entregue ao cliente (SCHWABER; SUTHERLAND, 2013), prejudicando a obtenção de respostas rápidas e flexibilidade do processo. Esse modelo mostrou baixas taxas de sucesso nas entregas dos softwares desenvolvidos. Neste contexto, surgiram vários métodos e, entre eles, existem os denominados métodos ágeis, também nomeados métodos leves (AMBLER, 2002). Estes métodos ágeis são mais adaptativos e flexíveis em relação aos modelos de cascata. Além disso, são indicados para projetos com constante mudança de requisitos e os resultados devem ser entregues em espaços de tempo curtos (CARVALHO; MELLO, 2009). 2.4. SCRUM A metodologia Scrum foi proposta por Jeff Sutherland e sua equipe no início da década de 1990 (CRISTAL; WILDT; PRIKLADNICKI, 2008), com objetivo de desenvolvimento e gerenciamento de software pelo uso dos princípios de metodologia ágeis. O Scrum foi, inicialmente, desenvolvido com foco no desenvolvimento de software , porém pode resolver e tratar problemas complexos e adaptativos em diferentes áreas como engenharia e medicina. Segundo Schwaber e Sutherland (2013), o método Scrum não é um processo ou técnica de produção, mas sim, um framework para utilizar vários processos e técnicas, para transparecer a eficácia de suas práticas desenvolvidas de modo a melhorá-las Cada componente dentro do framework serve a um propósito específico e é essencial para o uso e o sucesso. O método Scrum utiliza de uma abordagem incremental de otimização da previsibilidade, iterativa e gestão de riscos sustentado por três pontos, a saber (SCHWABER; SUTHERLAND, 2013):

● Transparência: requer aspectos definidos por um padrão comum para que os observadores compartilhem o mesmo entendimento. Os aspectos devem estar visíveis e compartilhados de modo a garantir o sucesso do processo; ● Inspeção: é realizada nos artefatos do Scrum com objetivo de detectar qualquer não conformidade ou risco que possa vir a prejudicar os resultados; ● Adaptação: a partir de irregularidade no projeto, são realizadas alterações no processo ou no material em processo, minimizar os desvios e as probabilidades de insucessos. O Scrum apoia-se em seis propriedades: flexibilidade dos resultados, flexibilidade dos prazos, times pequenos, revisões frequentes, colaboração, orientação a objetos (SCHWABER; SUTHERLAND, 2013). Para a compreensão da metodologia Scrum é necessário entender alguns termos e artefatos, repetidamente utilizadas no presente trabalho presentes na Tabela 3: TABELA 3 Termos e artefatos da metodologia Scrum (SCHWABER; SUTHERLAND, 2013). Product Backlog Lista de tarefas, contendo uma descrição da atividade e o resultado desejado. A lista de tarefas é organizada por prioridades, determinada pelo time, podendo ser também alteradas, removidas, adicionadas ou reorganizadas conforme a execução do projeto. Sprint Grupo de tarefas que devem ser executadas em determinado período de tempo, normalmente é desejável que o sprint tenha, no mínimo, 1 semana e, no máximo, 4 semanas. Sprint Backlog Lista de tarefas que devem ser executadas em um determinado sprint.

Scrum Master : responsável em assegurar que a equipe respeite e siga os valores e as práticas do Scrum. Ele deve proteger o time e controlar se, o que está sendo realizado e proposto, o time será capaz de realizar em um sprint (SCHWABER; SUTHERLAND, 2013). ● Scrum Development Team : time responsável em executar o conjunto de tarefas do sprint backlog. É composto por integrantes com características de multidisciplinaridade e auto-organização , executando o trabalho com autonomia, propriedade e responsabilidade (SCHWABER; SUTHERLAND, 2013). O processo de implantação da metodologia Scrum em um projeto inicia com a definição das equipes e os respectivos papéis ( Scrum Master , Product Owner e o Scrum Development Team ) de cada membro que compõe o time Scrum. A etapa seguinte ocorre o primeiro sprint Planning Meeting, conduzido pelo Scrum Master. Nesta reunião há definição do conjunto e prioridades de cada tarefa do Product Backlog e, por fim como resultado, as tarefas são agrupadas em sprints que deverão ser executadas ao longo do projeto (BISSI, 2007). A seguir a figura 1 ilustra o ciclo do Scrum de forma simplificada. Figura 1. Ciclo do Scrum. FONTE: evolvemvp^1. (^1) Disponível em: <https://evolvemvp.com/o-que-e-scrum-conceito-definicoes-e-etapas/ > Acesso em julho. 2020

A cada etapa a Scrum Development Team inicia a sequência de sprint Backlog , que não pode ser alterada até o próximo Sprint Review Meeting. Na execução do sprint, são realizados os Daily Scrums , reuniões diárias com duração média de 15 minutos (CARVALHO; MELLO, 2009). Nesta reunião, os membros compartilham informações e cada membro responde às seguintes perguntas:

  1. O que foi feito ontem?
  2. O que será feito hoje?
  3. Há algum obstáculo à realização de suas atividades? Com base nas repostas, há o alinhamento entre os membros do time e levantamento dos problemas que devem ser levados para próxima Sprint Review Meetings. No término dos sprints , realiza-se o Sprint Review Meeting para analisar o tempo e a dificuldade de cada tarefa, se o que foi proposto finalizou-se, o que também contribui para prevenir e diminuir os erros nos próximos sprints. Nesse sentido, as atividades não finalizadas são colocadas de volta no Product Backlog , de forma a reorganizar as tarefas do sprint seguinte (BISSI, 2007). O projeto é encerrado quando todas as tarefas definidas no Product Backlog são finalizadas e entregues aos interessados. Para a gestão do projeto com a metodologia ágil Scrum, podem ser utilizadas algumas ferramentas e sistemas no desenvolvimento do projeto Um dos exemplos desses sistemas é o Kanban, técnica desenvolvida pelos japoneses da Toyota dentro do modo produção, com o objetivo de aumentar a eficiência, otimizar o desenvolvimento, a realização e a conclusão das tarefas. O Kanban possui cinco particularidades que o torna aplicável e eficiente nas metodologias ágeis (SOARES, 2017):
  4. Visualização do fluxo de trabalho: fácil identificação do andamento das etapas do projeto; limitação do trabalho em progresso: restrição do número de tarefas concomitantes as quais tenderiam a não serem finalizadas;
  5. Medição do fluxo: mensuração de resultados;
  6. Explicitação das políticas do processo: estabelecimento de critérios de avanço

O planejamento de projetos da CVS Sistemas segue um gerenciamento mais tradicional com a documentação dos processos de iniciação, planejamento e encerramento, mas não existe um processo definido na fase de desenvolvimento do projeto, por isso a proposta de desenvolver a solução para otimizar o processo de desenvolvimento utilizando do Scrum , mantendo a formalização e a eficácia na entrega do produto final para os seus clientes. Como produto deste projeto obteve a plataforma Mentorar que é um software para gestão de um programa de mentoria aplicado em uma organização, com objetivo de aproximar os colaboradores com mais experiência (mentores) a colaboradores com pouca experiência (mentorados) em uma determinada área, por meio de sessões de mentorias virtuais ou presenciais com o propósito dos mentores compartilharem experiências e informações junto ao mentorado, e, dessa maneira, aprimorar a experiência profissional e, como consequência, aperfeiçoar os negócios da organização. A seguir algumas imagens retiradas da plataforma Mentorar: Figura 2. Tela de login. FONTE: O autor (2020).

Figura 3. Tela de cadastro. FONTE: O autor (2020). Figura 4. Dashboard do Mentor. FONTE: O autor (2020).

trabalhar junto com o Time Scrum , atuando no apoio às atividades do backlog do projeto até o planejamento do sprint junto ao Time Scrum. 3 .2. INICIANDO O PROJETO COM O TERMO DE ABERTURA A primeira tarefa do gerente de projetos foi a autorização do início do projeto, por meio do TAP (Termo de Abertura do Projeto), conforme o ANEXO A. Este documento contém as principais informações do projeto como título, objetivos, requisitos, riscos, marcos e informações das partes interessadas. A formalização do início do projeto serviu para melhorar a transparência para as partes e garantiu um maior segurança no planejamento do sprints pelo Time Scrum relacionados a prazos e riscos. 3 .3. PLANEJANDO O GERENCIAMENTO DO PROJETO Para especificar e documentar os processos que serão aplicados no projeto, foi necessário elaborar o plano de gerenciamento do projeto Anexo C, detalhando a utilização do Scrum em conjunto com PMBOK e quais ferramentas, atividades e técnicas que auxiliariam nos processos de execução, controle, monitoramento e encerramento do projeto. O objetivo do plano de gerenciamento do projeto foi informar às partes interessadas o ciclo de vida do projeto, juntamente ao ciclo de desenvolvimento do Scrum , determinando como o trabalho seria organizado, a hierarquia dos interessados, a comunicação, reuniões e a formação dos sprints do ciclo de interações do Scrum. 3 .3.1 PLANEJANDO O ESCOPO Para o planejamento do escopo do projeto realizaram-se os processos de coleta de requisitos e definição do escopo do PMBOK, importantes para o planejamento de qualquer tipo de projeto. No caso desse estudo a coleta dos requisitos, porém foi de responsabilidade do Product Owner em criar o Backlog Product conforme o Scrum.

3 .3. 2 PLANEJANDO DO CRONOGRAMA

No estudo realizado, o planejamento do cronograma por definição do Scrum foi de responsabilidade do Scrum Development Team estimar a quantidade de atividades, estimativas prévias de entregas e os ciclos de sprints. 3 .4. IMPLEMENTAÇÃO DO SCRUM Para a implementação do método Scrum , foi realizada uma reunião com todos os colaboradores da empresa, com as seguintes pautas: apresentação e treinamento do método Scrum e a adaptação do Scrum para trabalhar conjunto PMBOK, a definição dos papéis do Scrum , Product Owner , Scrum Master e Scrum Development Team ; papel do gerente de projeto, apresentação de ferramentas que auxiliarão na aplicação do Scrum e, por fim, o planejamento do projeto. Iniciada a reunião, os colaboradores receberam um treinamento completo sobre o método Scrum , seus conceitos e atividades que seriam desempenhadas. Após o treinamento, ocorreu a escolha dos três papéis da seguinte forma: ● Product Owner foi ocupado pelo colaborador com maior conhecimento técnico do projeto. ● Scrum Master foi ocupado pelo colaborador com maior experiência e conhecimento na empresa, tendo como tarefa acompanhar se o método seguia corretamente. ● Scrum Development Team foi composto por dois desenvolvedores graduados no curso de Sistema de Informação e dois estagiários do curso de Sistema de Informação. Além disso, foi definida a atuação do gerente de projeto na execução do Scrum, como responsável pela formalização das etapas e com maior poder de controle do projeto. O Product Owner responde direto ao gerente do projeto, porém com autonomia para comunicar-se direto com os interessados na realização do planejamento e alterações no Product Backlog. Dessa maneira, o gerente de projeto

Figura 7. Quadro da Plataforma Mentorar na ferramenta Trello. FONTE: O autor (2020). Por fim, foi iniciado o planejamento do projeto e definidas as seguintes atividades: Sprint : seria 5 Sprints periodicidade a cada 12 dias. Daily Scrum : deverá ter a duração de 15 minutos, com início às 8h45 da manhã e a discussão deverá ser formalizada no Trello. Sprint Planning Meeting : No início de cada Sprint o Product Owner e Scrum Development Team devem reunir para definir as entregas do próximo sprint e a reunião deve ser formalizada no Trello. Sprint Review Meeting : ao final do período do sprint, o Product Owner , Scrum Development Team e o gerente de projetos devem reunir para formalizar as entregas e realizar os testes. Requisitos técnicos: o Product Owner e o Scrum Development Team decidiram que o desenvolvimento do projeto seria realizado usando as linguagens PHP ( Hypertext Preprocessor ) versão 7.2, HTML ( HyperText Markup Language ), CSS ( Cascading Style Sheets ) e javascript, com o framework Laravel versão 5.8, através do ambiente desenvolvimento Visual Studio Code. Para a hospedagem, o servidor VPS ( Virtual Private Server ) linux com o apache para execução do sistema e o gerenciador de

banco de dados o Mysql versão 6.4. Por fim, para o controle de versão do projeto o sistema de repositório Git. Product Backlog : o Product Owner realizou o levantamento das atividades e transformaram-nas em cards no Trello. Conforme a figura 8 com os detalhes da atividade, foi solicitado à equipe pontuar as atividades por meio do Scrum Planning Poker para medir o esforço e, assim, distribuir melhor as atividades entre os sprints. Para isso, cada membro da equipe recebeu uma sequência de números baseado na sequência Fibonacci. Após todas as atividades definidas e pontuadas o Product Owner distribui as atividades entre os sprints. Figura 8. Visualização dos detalhes de uma atividade em um card. FONTE: O autor (2020). Definido todos os preceitos, foi iniciado o desenvolvimento do projeto. Ao decorrer do tempo, o Scrum Development Team movimentava os cards de atividades no Trello, principalmente, para as colunas “A fazer”, “Fazendo” e “Concluído”, conforme a atividade do s print , enquanto o Product Owner monitorava as colunas e planejava a organização das próximas atividades. A figura 9 representa a movimentação de um card.