Baixe o app para aproveitar ainda mais
Prévia do material em texto
As empresas de desenvolvimento de software enfrentam um mercado bastante competitivo, principalmente diante do surgimento das startups, que conseguem trazer soluções tecnológicas e inovadoras de forma muito rápida. O modelo tradicional para construção de software, também conhecido como waterfall ou cascata, propiciou uma série de vantagens; dentre elas, a demanda de uma maior organização para desenvolver um produto. Porém, devido à sua pouca �exibilidade, está sendo considerado um modelo ultrapassado, sendo substituído, principalmente, por um modelo ágil, cuja proposta é priorizar o valor do produto e a interação com o cliente. Sutherland (2014), um dos criadores do método Scrum, menciona que o método ágil consegue obter resultados com maior qualidade e menos recursos, enquanto o método cascata gasta muito dinheiro, sem entregar resultado. Esse método tem sido adotado por um número crescente de empresas, não se restringindo ao desenvolvimento de software, em função dos bons resultados obtidos. A gestão de projetos também tem acompanhado essa metodologia, dentro de princípios de�nidos no que �cou conhecido como APM (Agile Project Management). Caro(a) estudante, ao ler este roteiro você vai: entender a metodologia ágil, segundo o manifesto ágil; analisar as vantagens da metodologia ágil em relação às metodologias tradicionais; conhecer a proposta de gestão de projetos ágeis, conforme os princípios da APM (Agile Project Management); conhecer a metodologia ágil Scrum, uma das mais difundidas no mundo; compreender os principais papéis e processos do método Scrum; avaliar as principais ferramentas utilizadas para a gestão de projetos ágeis; e Gestão de Projetos Ágeis Roteiro deRoteiro de EstudosEstudos Autor: Me. Marcelo Takashi Uemura Revisor: Ma. Amanda de Britto Murtinho analisar a gestão de projetos ágeis em comparação ao PMBOK. Introdução O desenvolvimento de software vem sendo demandado com solicitações de prazos cada vez menores e mudanças ao longo do processo, para que os produtos apresentem o valor ideal para determinado cliente e/ou mercado. Parte disso vem da transformação digital que muitas empresas estão passando, devendo estar alinhadas às tendências tecnológicas, principalmente as voltadas para a internet. Muitos processos de negócio estão sendo realizados de forma digital com o apoio de sistemas, com o intuito de se obter maior produtividade. Nesse contexto, o que as organizações que atuam em projetos de desenvolvimento de software precisam fazer para serem competitivas? Uma resposta é a adoção de metodologias que permitam uma maior rapidez na entrega de valor, como as ágeis. E quem deve implementar a adoção dessas metodologias nessas organizações? A resposta é: todos na empresa devem estar envolvidos para a criação de uma cultura ágil, e os processos terão maior impacto nas áreas relacionadas ao desenvolvimento de produtos de software. Deve-se planejar com muita calma, porém o quanto antes, para que os resultados possam ser observados por meio do engajamento dos envolvidos e com uma gestão e�ciente, a �m de que não haja uma sensação de que a metodologia não é e�caz. Para um entendimento mais aprofundado de como projetos com métodos ágeis podem potencializar a e�ciência de entregas com maior valor em menores prazos, serão explorados diversos conceitos relacionados a esse tema, com um exemplo de metodologia muito conhecida no mercado, além da apresentação dos cuidados nos aspectos de gestão. Metodologias Clássicas X Metodologias Ágeis A metodologia clássica (ou tradicional) mais conhecida é a cascata (waterfall), em que as fases de projeto são de�nidas de tal forma que uma etapa só pode iniciar se a etapa anterior tiver sido concluída. Por exemplo, temos a etapa inicial de análise de requisitos, que, após concluída, é seguida pelo desenho do sistema. Na sequência, há a implementação, testes, implantação e manutenção, sendo cada etapa iniciada após o término da etapa anterior. Além de software, essa metodologia foi muito adotada em projetos de diversos segmentos de mercado, como a construção civil. Entretanto há uma dependência muito grande do entendimento dos requisitos do cliente na etapa inicial, pois esse método é pouco �exível a mudanças ao longo do percurso do desenvolvimento do projeto, sendo que só é possível avaliar o produto quando ele é �nalizado. Esse método pode implicar prazos longos, com riscos de retrabalhos, caso haja problemas nas especi�cações iniciais do projeto. A partir do ano de 1990, segundo Foggetti (2014), desenvolvedores começaram a propor novos meios de desenvolvimento, reduzindo o tempo de planejamento e facilitando novos pedidos de clientes, tendo como base a linha de produção da indústria japonesa Toyota, conhecida como Lean Manufacturing, que tem as seguintes características: fazer o que importa e descartar o que não importa; soluções simples; fazer o certo na hora certa; aceitar as mudanças e �uxo contínuo de entregas. Em 2001, surgiu a expressão metodologia ágil para um novo modelo de desenvolvimento, que veio para atender às necessidades de criação de software que não eram facilitadas pelas metodologias clássicas. Em uma reunião envolvendo 17 especialistas em processos de desenvolvimento de software, foi criado o manifesto ágil, cujos conceitos apresentavam a necessidade de priorizar o valor e a implementação de entregas parciais, bem como aumentar a interação com os clientes (FOGGETTI, 2014). No Quadro 1, pode-se veri�car uma comparação entre os métodos clássicos e os métodos ágeis. Quadro 1 - Comparação entre metodologia ágil e metodologia clássica Fonte: Foggetti (2014, p. 7). Nesse quadro comparativo, é veri�cada a �exibilidade apresentada na metodologia ágil com relação a mudanças em relação à metodologia clássica, bem como o foco na implementação e entregas parciais. A entrega parcial permite que o cliente possa ter uma versão do produto mais rápida, enquanto outras funcionalidades possam ser implementadas, sendo possível a realização de ajustes ao longo do processo, quando necessária. No próximo tópico, serão abordados, em detalhes, a metodologia ágil em relação aos seus princípios e gestão. Metodologia Ágil Metodologia Clássica Foco nas pessoas Foco nos processos Usa mais tempo na implementação Gasta mais tempo com documentação Vai sendo adaptada no decorrer do projeto Tenta prever tudo o que acontecerá no projeto Aceita mudança Prevê o futuro É usada quando os requisitos são mais dinâmicos É usada para requisitos estáveis e previsíveis É usada quando o cliente não sabe bem o que quer É usada quando o cliente tem certeza do que quer Entrega em partes Entrega de uma só vez Manifesto Ágil e APM Em 13 de novembro de 2001, um grupo de pro�ssionais de TI (Kent Beck, Mike Beedle, Arie Van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Greening, Jim HIghsmith, Andrew Hunt, Ron Je�ries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Je� Sutherland e Dave Thomas) de�niu o manifesto ágil, visando à melhoria do desempenho do desenvolvimento de software (OLIVEIRA, 2018). Os valores estabelecidos no manifesto ágil são: indivíduos e interação têm prioridade sobre processos e ferramentas; software funcional tem prioridade sobre documentação abrangente; colaboração com o cliente tem prioridade sobre negociação de contratos; e responder a mudanças tem prioridade sobre manter o plano. Com base no manifesto ágil, foram também de�nidos os doze princípios da metodologia ágil (OLIVEIRA, 2018), apresentados na sequência. 1. Nossa prioridade é satisfazer o cliente, por meio da entrega adiantada e contínua de software de valor. LIVRO Gerenciamento Ágil de Projetos Autor: Cristiano Foggetti Editora: Pearson Ano: 2014 Comentário: Leia, na Unidade 1, o tópico voltado às diferenças entre a metodologia tradicional e a metodologia ágil, que irá reforçar seus conhecimentos para re�exão da solução da situação-problemamencionada no estudo de caso. Esse título está disponível na Biblioteca Virtual Laureate. 2. Aceitar a mudança de requisitos, mesmo no �m do desenvolvimento. Processos ágeis se adéquam a mudanças, para que o cliente possa tirar vantagens competitivas. 3. Entregar software funcionando com frequência, na escala de semanas até meses, com preferência para os períodos mais curtos. 4. Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto. 5. Construir projetos ao redor de indivíduos motivados, dando-lhes o ambiente e o suporte necessários, e con�ar que farão seu trabalho. 6. O método mais e�ciente e e�caz de transmitir informações para, e de dentro de, um time de desenvolvimento é por meio de uma conversa cara a cara. 7. Software funcional é a medida primária de progresso. 8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter inde�nidamente passos constantes. 9. Contínua atenção à excelência técnica e ao bom design aumenta a agilidade. 10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feita. 11. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis. 12. Em intervalos regulares, os times re�etem sobre como �cam mais efetivos; assim, ajustam-se e aperfeiçoam seu comportamento. Juntamente com a criação do manifesto ágil e os princípios das metodologias ágeis, surgem as recomendações para o gerenciamento de projetos ágeis, conhecido como Agile Project Management (APM), que ajudam a direcionar o desenvolvimento. Segundo Foggetti (2014), a APM apresenta cinco objetivos: inovação contínua: permitir mudanças (�exibilidade) ao longo do desenvolvimento do projeto; adaptabilidade de produto: o produto deve ser adaptável e entregue o mais rápido possível, para se obter competitividade; entregas com cronograma reduzido: entregar no prazo mais curto possível, tendo foco na prioridade de requisitos e itens que entregam mais valor; adaptabilidade do processo e das pessoas: valorizar o autoaprendizado (capacitação) e a adaptação dos integrantes da equipe, em um trabalho colaborativo; resultados con�áveis: o projeto deve sempre iniciar com os requisitos mínimos para assegurar a con�abilidade. Foggetti (2014) cita os valores e princípios da APM, que podem ser divididos em duas categorias: 1. Associados ao produto e ao cliente: entregar valor aos clientes, com foco na entrega de valor; Fazer a entrega por meio de ciclos baseados em requisitos de forma interativa, baseado em funcionalidades e com tempo �xo; e valorizar a excelência técnica. 2. Associados ao gerenciamento: con�ar no lugar de replicar, por meio do reporte de progresso, gerência por meio de liderança corporativa; encorajar a exploração; construir equipes adaptáveis, disciplinadas e capazes de se auto-organizarem; ter simplicidade. Na APM, os principais papéis são o executivo patrocinador (toma a decisão sobre o projeto), o gerente de projetos (responsável pelas entregas do projeto), o gerente de produtos (representa o cliente), o engenheiro líder (guia a parte técnica), equipe do cliente (determinar os requisitos e prioridades) e a equipe de projetos (desenvolvedores). No próximo tópico, será apresentada a metodologia ágil mais conhecida e implementada no mercado de desenvolvimento de software: o Scrum. LIVRO Gerenciamento Ágil de Projetos Autor: Cristiano Foggetti Editora: Pearson Ano: 2014 Comentário: Leia, na Unidade 1, os tópicos Manifesto Ágil e APM - Agile Project Management, que irão reforçar seus conhecimentos para re�exão da solução da situação-problema mencionada no estudo de caso. Esse título está disponível na Biblioteca Virtual Laureate. Scrum Scrum é um método ágil que oferece um framework para trazer transparência a um complexo trabalho que apresenta di�culdades de estimar prazos para um escopo que não está completamente de�nido (SCHWABER, 2004). Para tanto, é estabelecido um processo de desenvolvimento exercido por papéis diferenciados, buscando entregas de forma interativa com �exibilidade para mudanças ao longo da implementação. Papéis no Scrum A de�nição de alguns papéis é importante para que haja um �uxo adequado no processo de desenvolvimento utilizando Scrum. De acordo com Oliveira (2018), os principais papéis são: Product Owner, Scrum Master e equipe Scrum. O Product Owner, também conhecido como PO, é o responsável por maximizar o valor do produto, sendo o representante do cliente que gerencia o backlog das funcionalidades a serem implementadas pela equipe de projeto. O Scrum Master exerce a função de liderança da equipe de desenvolvimento, assegurando que a metodologia Scrum seja aplicada e entendida. A equipe de desenvolvimento Scrum é uma equipe auto-organizável, responsável por desenvolver o produto de forma incremental, agregando valor para o cliente. Esses papéis têm participação ativa durante o processo de desenvolvimento Scrum, que será apresentado no subtópico a seguir. Processo de Desenvolvimento Scrum O processo de desenvolvimento Scrum segue os princípios do manifesto ágil e das metodologias ágeis. As bases para esse desenvolvimento são as sprints, ciclos de tempo �xo em que um conjunto de funcionalidades é implementado e entregue pelo time de desenvolvimento Scrum, em um processo iterativo e incremental. A visão de um produto é traduzida em estórias de usuário (user stories), que fornecem uma proposta mais prática dos requisitos; em especial, as funcionalidades que serão implementadas. O conjunto de estórias de usuário constrói o backlog do produto (product backlog), que será utilizado para o controle das funcionalidades que serão entregues. A partir do backlog, serão selecionadas as estórias de usuário mais prioritárias, com base no valor que estas proporcionarão ao produto. As estórias selecionadas comporão o backlog da sprint (sprint backlog), que será utilizado para o planejamento (sprint planning) e posterior execução. Cada sprint possui um tempo �xo, que pode ser especi�cado entre duas a quatro semanas. São realizadas durante a sprint reuniões diárias, conhecidas como daily meetings ou standup meetings, consistindo em reuniões rápidas, com duração de 15 minutos e realizadas com os membros da equipe em pé, para fazer o acompanhamento do progresso das atividades. Ao término de uma sprint, será feita uma apresentação da entrega ao Product Owner e/ou cliente, como forma de validar o produto. Ajustes necessários podem ser feitos para o planejamento da próxima sprint. Também é realizada uma retrospectiva da sprint, chamada sprint retrospective ou review, como uma sessão de lições aprendidas, antes do início da sprint seguinte. No próximo tópico, serão apresentadas algumas ferramentas utilizadas na gestão de projetos ágeis. Ferramentas para Gestão de Projetos Ágeis LIVRO Gerenciamento Ágil de Projetos Autor: Cristiano Foggetti Editora: Pearson Ano: 2014 Comentário: Leia, na Unidade 2, sobre a metodologia ágil Scrum, muito difundida nas empresas, que irá reforçar seus conhecimentos para re�exão da solução da situação-problema mencionada no estudo de caso. Esse título está disponível na Biblioteca Virtual Laureate. A gestão de projetos ágeis implica ter o foco no sucesso das entregas realizadas a cada sprint, e, para tanto, é importante ter mecanismos para monitorar e controlar as atividades planejadas. Massari (2018) comenta sobre algumas ferramentas que podem ser adotadas, como o Kanban, para controlar o quadro de tarefas em cada sprint, e o burndown chart, para monitorar o progresso das atividades em relação ao prazo. Outras ferramentas - em especial, as voltadas para controle de qualidade, como Poka Yoke, Limite de Controle e Análise de Variação -também podem ser utilizadas. Neste tópico, abordaremos o uso de Kanban e Burndown Chart para a gestão de projetos ágeis. Kanban O quadroKanban é utilizado para uma gestão visual das atividades que estão planejadas e em andamento durante a execução de um ciclo ágil, representando a entrega de valor, quando concluídas. Pode ser constituído minimamente em três categorias: atividades em espera (to do), em andamento (in progress) e concluídas (completed ou done). Quando um membro da equipe iniciar uma atividade, ele aloca um cartão que representa uma atividade a ser realizada da categoria to do e posiciona na categoria in progress. Assim que a atividade é concluída, esse cartão é movido para a categoria completed. É muito comum o uso de post-it para a representação dos cartões, e uma análise dos cartões pode ser feita por toda a equipe, durante as reuniões diárias que a metodologia ágil propaga, como forma de interatividade entre os membros da equipe e de motivação da busca de soluções, caso estejam ocorrendo impedimentos em alguma atividade em andamento. Esse tipo de ferramenta é muito utilizado pelas áreas de produção industrial, e trata-se de um recurso muito útil no desenvolvimento ágil. Massari (2018) cita os seguintes benefícios com o uso de Kanban: visibilidade da entrega de valor; detecção de possíveis problemas ou impedimentos; interatividade da equipe no gerenciamento do �uxo de atividades; ser utilizado para apresentação das informações para membros que não diretamente envolvidos (ex.: diretoria, patrocinador). A entrega de valor pode ser veri�cada por meio da quantidade de itens concluídos na categoria completed. Isso possibilita uma avaliação mais prática sobre o progresso da equipe de desenvolvimento durante o ciclo. Burndown Chart O Burndown Chart é uma representação grá�ca do progresso das atividades em relação à linha do tempo de um ciclo de desenvolvimento ágil. Representa a quantidade de horas totais a serem realizadas para todas as atividades ao longo dos dias. O planejamento é feito utilizando como ponto de partida o somatório de todas as horas estimadas para as atividades no início do ciclo de desenvolvimento , traçando-se uma linha reta até o último dia previsto para o seu término, que, idealmente, deve ser 0 horas. Diariamente, é calculada a quantidade de horas que estão pendentes de execução, plotando-se no grá�co, a �m de comparar com o que está planejado pela reta traçada. O Burndown Chart auxilia o monitoramento do progresso diário, permitindo fazer uma análise de tendência para avaliar se as entregas planejadas serão realizadas ou não. O grá�co de burndown também permite ter uma visão das alterações que foram necessárias ao longo de um ciclo de desenvolvimento ágil. Gestão Ágil X PMBOK É muito comum que, no gerenciamento de projetos que adota o modelo tradicional de desenvolvimento de software, sejam empregadas as melhores práticas apresentadas pelo PMBOK (Project Management Body of Knowledge). Esse guia de conhecimento foi desenvolvido pelo PMI (Project Management Institute) e é um dos alicerces para os gerentes de projetos, para LIVRO Gerenciamento Ágil de Projetos Autor: Cristiano Foggetti Editora: Pearson Ano: 2014 Comentário: Leia, na Unidade 3, sobre as ferramentas utilizadas nas metodologias ágeis, que irão reforçar seus conhecimentos para re�exão da solução da situação-problema mencionada no estudo de caso. Esse título está disponível na Biblioteca Virtual Laureate. potencializar um bom gerenciamento de projetos. Mas qual a relação que pode ser feita para uma gestão de projetos ágeis? O PMBOK não se trata de um conjunto de regras para gerenciamento de projetos, e sim oferece sugestões de como ser mais e�ciente com essa responsabilidade. Logo, é possível realizar algumas adequações, para que possa ser aplicado com as metodologias ágeis. Por exemplo, no ciclo ágil de desenvolvimento são realizados planejamento, execução, monitoramento e controle e encerramento, etapas que são mencionadas de forma organizada pelo PMBOK. Porém não é necessário que haja um mapeamento de todos os processos que são de�nidos no PMBOK para que sejam aplicados integralmente nos métodos ágeis, e sim uma avaliação de quais são aplicáveis sem ferir os valores do manifesto ágil e os princípios das metodologias ágeis. Segundo Foggetti (2014), a gestão ágil é um re�namento e extensão das ferramentas, técnicas e processos que já estão de�nidos no PMBOK. Para ilustrar, o Quadro 2 apresenta uma relação entre as áreas de processo do PMBOK (versão 4) com as metodologias ágeis. Quadro 2 - Comparação PMBOK e Metodologias Ágil e Tradicional Fonte: Foggetti (2014, p. 117). Tendo em vista o crescimento das metodologias ágeis, o PMI criou a certi�cação ACP (Agile Certi�ed Practitioner), uma visão de gerenciamento de projetos voltados para uma gestão ágil, considerando gestão de riscos, gestão de valor agregado e as adequações para uso dos processos PMBOK. Área de Conhecimento Metodologia Tradicional Metodologia Ágil Escopo Bem de�nido nas fases iniciais do projeto. De�nido em alto nível, e os requisitos são priorizados em conjunto com o cliente. Tempo Cronograma detalhado. Cronograma feito para cada alteração. Custo Alterações monitoradas para que o custo planejado não sofra alterações. Controle na rapidez da incorporação das alterações. Qualidade Veri�cação e validação do plano de testes. Programação em pares, testes incrementais e refatoração. Riscos Análise de riscos durante todo o projeto. Igual ao tradicional. Comunicação Documentada e formal. Interpessoal e colaborativa. Recursos Humanos Papéis claros e de�nidos. Ambiente colaborativo e sem hierarquia de�nida. Aquisições Controle por contrato e escopo de�nido. Requisitos voláteis e pouca documentação. Integração Plano de projeto detalhado e controle total do projeto pelo cliente. Plano de projeto evolutivo. LIVRO Gerenciamento Ágil de Projetos Autor: Cristiano Foggetti Editora: Pearson Ano: 2014 Comentário: Leia, a Unidade 4, sobre a comparação entre as metodologias ágeis e o PMBOK, que irá reforçar seus conhecimentos para re�exão da solução da situação-problema mencionada no estudo de caso. Esse título está disponível na Biblioteca Virtual Laureate. LIVRO Métodos ágeis para desenvolvimento de software Autores: Rafael Prikladnicki, Renato Willi e Fabiano Milani Editora: Bookman Ano: 2014 Comentário: Sabemos que a leitura de um livro aumenta o conhecimento a respeito de determinados temas. Esse livro não é diferente, pois ele traz informações e conceitos sobre as práticas ágeis, mostrando a visão de diversos pro�ssionais. Esse título está disponível na Minha Biblioteca Laureate. Conclusão Por meio dos conceitos teóricos expostos sobre a gestão de projetos, adotando metodologias ágeis, pode-se obter a fundamentação que apoia as vantagens competitivas, que podem ser obtidas em empresas de desenvolvimento de software. As metodologias ágeis apresentam uma abordagem mais alinhada com a dinâmica desse mercado, que busca o lançamento de inovações tecnológicas em prazos cada vez mais curtos, sem haver uma especi�cação completa do produto em seu estágio inicial de concepção. Com uma gestão voltada para uma maior interação entre indivíduos, foco na implementação de funcionalidades com maior valor e melhor responsividade para mudanças, é possível agilizar o desenvolvimento de produtos de software. Referências Bibliográ�cas FOGGETTI, C. Gerenciamento ágil de projetos. São Paulo: Pearson Education do Brasil, 2014. MASSARI, V. L. Gestão ágil de projetos. 2. ed. Rio de Janeiro: Brasport, 2018. OLIVEIRA, B. S. Métodos ágeis e gestão de serviços de TI. Rio de Janeiro: Brasport, 2018. PRIKLADNICKI, R.; WILL, R.; MILANI, F. Métodos ágeis para desenvolvimento de software. São Paulo: Bookman, 2014. SCHWABER, K. Agile Project Management with Scrum. Washington: Microsoft Press, 2004. SUTHERLAND, J. Scrum: a arte de fazer o dobro do trabalho na metade do tempo. 1. ed. São Paulo: Texto Editores, 2014.
Compartilhar