Prévia do material em texto
DESENVOLVIMENTO DE SOFTWARE COM METODOLOGIAS ÁGEIS Nicolli Souza Rios Alves Métodos ágeis e modelos de maturidade Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Descrever como ocorre a integração entre modelos de maturidade e métodos ágeis. Explicar o uso do CMMI para implantações ágeis. Conciliar o MPS.BR com as metodologias ágeis. Introdução Por sua abordagem flexível e interativa, que leva a um fluxo de traba- lho eficiente, as metodologias ágeis têm se tornado populares entre as empresas de software. Fatores como a conclusão do projeto em tempo hábil, com gargalos mitigados, torna-a mais eficiente que as metodologias tradicionais. Com a popularidade e o crescimento do uso de software, as empresas se viram forçadas a seguirem modelos de maturidade para adequar seus processos, a fim de otimizar o desempenho organizacional, atrair clientes e ganhar espaço no mercado. Assim, a finalidade de um modelo de maturidade é possibilitar que as empresas avaliem seu pro- gresso na implementação das melhores práticas em projetos e estejam em constante aprimoramento. Neste capítulo, você verá o que são modelos de maturidade e por que as empresas estão querendo implementá-los em conjunto com metodologias ágeis. Em seguida, vai conhecer o modelo de maturidade mais utilizado, o CMMI (do inglês Capability Maturity Model Integration, e descobrir como é utilizado em empresas que adotam metodologias ágeis. Por fim, você será apresentado ao modelo de maturidade brasileiro, o MPS.BR (Melhoria do Processo de Software Brasileiro), e a como ocorre sua integração em ambientes com agilidade. 1 Modelos de maturidade: conceito e relevância Metodologias ágeis têm sido propostas como alternativa às metodologias tra- dicionais de desenvolvimento de software. Os valores e princípios da agilidade são descritos em um documento intitulado Manifesto Ágil, proposto em 2001 durante uma reunião entre especialistas em desenvolvimento de software. Com base nesse Manifesto, as metodologias ágeis enfatizam o valor dos seguintes pressupostos (BECK et al., 2001). Indivíduos e interações são mais importantes que processos e ferramentas. Software em funcionamento é mais importante que uma documentação completa. Colaboração com o cliente é mais importante que a negociação do contrato. Responder à mudança é mais importante que seguir um plano. Vale ressaltar que as metodologias ágeis não excluem totalmente os pro- cessos e as ferramentas, nem a documentação, os contratos e o planejamento, mas assumem que a entrega de um software funcional e que agregue valor ao cliente deve ser o foco dos esforços de desenvolvimento (SILVA; SANTOS; SHIBAO, 2019). Dessa forma, as metodologias ágeis consideram que indivíduos e interações, software em funcionamento, cooperação com o cliente e resposta rápida às mudanças são as premissas do desenvolvimento ágil (BECK et al., 2001). A agilidade estimula a produção de software pela busca de melhorias constantes em iterações curtas e faz os membros da equipe trocarem conhe- cimento e experiência. Hoje, podemos encontrar várias metodologias ágeis disponíveis para adoção no processo de desenvolvimento de software, como Extreme Programming (XP), Scrum, feature-driven development (FDD), etc. Essas metodologias surgiram da necessidade de estabelecer processos que atendessem ao desenvol- vimento de sistemas com mais rapidez e qualidade, sem excessiva burocracia. Elas utilizam um ciclo de vida iterativo e incremental, com iterações curtas e requisitos que podem ser modificados ao longo do desenvolvimento, levando em consideração a participação do cliente como se ele fosse parte da equipe. Nesse contexto, as organizações precisaram melhorar seus processos de software para conquistar espaço no mercado e adquirir mais clientes, uma vez que as empresas classificadas nos níveis mais altos desses modelos de maturidade se destacam na competitividade de projetos de software (SILVA; Métodos ágeis e modelos de maturidade2 SANTOS; SHIBAO, 2019). Basicamente, um modelo de maturidade é uma ferramenta que auxilia na avaliação da eficácia atual de alguém ou de um grupo e ajuda a descobrir quais recursos são necessários adquirir para continuar melhorando seu desempenho (FOWLER, 2014). Esses modelos são compostos por uma série de níveis de eficácia, pelos quais se passa à medida que sua capacidade evolui. Cada fase da evolução, denominada nível de maturidade, indica um progresso a caminho da melhoria, aumentando o resultado desejado do processo. O termo “modelo de maturidade” foi cunhado no final da década de 1980 em uma pesquisa do governo dos Estados Unidos e do Instituto de Engenharia de Software da Carnergie Mellon University. O governo queria uma ferramenta capaz de predizer o desenvolvimento bem-sucedido de software por parte de contratados. O resultado da pesquisa foi o CMMI, Modelo de Maturidade de Capacitação, focado em guiar e assessorar empresas na implementação de melhores práticas de gerenciamento de projetos de desenvolvimento de software (LARSON; GRAY, 2016). Para começar a avaliar a maturidade de algo utilizando o modelo, primei- ramente é necessário identificar em qual nível se encontra. Assim, depois de avaliar e identificar o nível atual, o nível de cima é utilizado como base para priorizar quais recursos precisam ser aprendidos, o que é facilitado pelo uso de modelos de maturidade. Dessa forma, o modelo funciona como um manual, apresentando uma lista de coisas que devem ser aprendidas e trabalhadas para evoluir (FOWLER, 2014). Além disso, os modelos de maturidade também podem ser úteis para decisões de investimento e para lidar com a impaciência, já que as mudanças de nível são lentas e trabalhosas. Atualmente, podemos encontrar diferentes modelos utilizados para o ama- durecimento das práticas de software, como: Capability Maturity Model Integration (CMMI); Software Process Improvement and Capability Determination (SPICE); Business Process Management (BPM); Project Management Process Maturity Model (PM2); Organizational Project Management Maturity Model (OPM3); Melhoria do Processo de Software (MPS). 3Métodos ágeis e modelos de maturidade Além disso, o aumento do uso do software gerou aumentou a cobrança por qualidade dos produtos, forçando as empresas a seguirem esses modelos de maturidade, já que as metodologias tradicionais para gerenciar os projetos já não atendiam às necessidades da gestão (ROVAI, 2013). Vale ressaltar, porém, que a implementação direta das práticas dos modelos de maturidade, sem uma correta assimilação dos princípios e objetivos em que se baseiam, deve ser evitada. Tendo essas preocupações em mente, muitas organizações têm demonstrado maior interesse no desenvolvimento ágil de software para combinar maturi- dade e agilidade. Apesar de muitas pessoas acreditarem que os modelos de maturidade são o oposto da metodologia ágil no processo de desenvolvimento de software, é claramente viável que eles possam ser associados. Dessa forma, espera-se somar as vantagens dos modelos de maturidade e das metodologias ágeis, no intuito de tornar o desenvolvimento mais eficiente e equilibrado. Para isso, muitas empresas têm utilizado o CMMI e o MPS.BR. O CMMI é um modelo que ajuda as organizações a efetuar a melhoria de processos e desenvolver comportamentos que diminuem os riscos no de- senvolvimento de serviços, produtos e software. Já o MPS.BR é um modelo independente de avaliação de empresas que produzem software no Brasil. Embora tenham a mesma finalidade, seus objetivos de atuação são distintos. Enquanto o MPS.BR é mais focado em organizações de pequeno e médio portes, o CMMI é mais voltado para empresas de grande porte. Porém, no geral, no Brasil eles se complementam no que diz a respeito de assegurar um processo com mais qualidade e produção mais competitiva de software. A seguir, vamos ver em detalheso uso do CMMI e do MPS.BR em asso- ciação a metodologias ágeis. 2 CMMI O CMMI (integração do modelo de capacidade e maturidade, na tradução literal) é uma abordagem de melhoria de processos cujo principal objetivo é a melhoria do desempenho organizacional. O CMMI identifi ca o nível de maturidade atual da organização pela observação de práticas e comportamen- tos existentes e tenta melhorar o desempenho introduzindo procedimentos padronizados e aprendendo com experiências anteriores. O CMMI oferece suporte a dois caminhos de melhoria (CHRISSIS; KON- RAD; SHRUM, 2011): Métodos ágeis e modelos de maturidade4 1. permite que as organizações aprimorem, de forma gradativa, os pro- cessos correspondentes a uma área de processo individual (ou grupo) selecionada pela organização; 2. permite que as organizações aprimorem um conjunto de processos relacionados, abordando, de forma incremental, conjuntos sucessivos de áreas de processo. Esses dois caminhos de melhoria estão associados a dois tipos de níveis: níveis de capacidade e níveis de maturidade, que correspondem a duas abor- dagens para a melhoria do processo chamadas de representações. Ao seguir a representação contínua, é possível alcançar níveis de capacidade. Esses níveis se aplicam à melhoria do processo de uma organização em áreas de processo individuais. Por outro lado, ao seguir a representação em estágios, é possível alcançar níveis de maturidade. Esses níveis se aplicam à melhoria do processo de uma organização, atingindo várias áreas de processo. Para alcançar determinado nível, uma organização deve cumprir todas as metas da área de processo (ou um conjunto delas) que são relacionadas à melhoria, independentemente de ser nível de capacidade ou de maturidade. Os dois tipos de representações fornecem formas de melhorar os processos para atingir os objetivos de negócios e ambos fornecem o mesmo conteúdo essencial e usam os mesmos componentes do modelo. Todos os modelos CMMI reproduzem os níveis de maturidade em seu design e conteúdo. Cada nível consiste em práticas específicas e genéricas associadas a um conjunto predefinido de áreas de processos que visam melhorar o desempenho geral da organização. O nível de maturidade de uma organização corresponde ao desempenho da organização em uma disciplina específica ou em um conjunto delas (CARNEGIE MELLON UNIVERSITY, 2006). O CMMI distingue entre cinco níveis de maturidade possíveis (CHRISSIS; KONRAD; SHRUM, 2011). Veja cada um em detalhes a seguir. Nível 1 — Inicial: geralmente, os processos são ad hoc e bagunçados. A organização não oferece um ambiente estável para apoiar os processos. Nessas organizações, o sucesso depende da competência e do heroísmo dos colaboradores, não do uso de processos comprovados. Apesar da bagunça, as organizações desse nível conseguem produzir produtos e serviços que funcionam, mas frequentemente excedem o orçamento e o cronograma planejados. Nível 2 — Gerenciado: os projetos garantem que os processos sejam planejados e executados de acordo com a política definida pela organi- 5Métodos ágeis e modelos de maturidade zação. Além disso, geralmente os projetos contam com pessoas quali- ficadas, com recursos adequados para produzir resultados controlados. A disciplina de processo refletida por esse nível ajuda a garantir que as práticas existentes na organização sejam mantidas mesmo durante períodos de estresse. Quando essas práticas estão em atividade, os projetos são executados e gerenciados de acordo com o que foi planejado. Nível 3 — Definido: os processos são bem caracterizados e com- preendidos e são descritos em padrões, procedimentos, ferramentas e métodos. O conjunto de processos-padrão da organização, que é a base para esse nível, é estabelecido e melhorado no decorrer do tempo. Esses processos-padrão são usados para tornar toda a organização consistente. Nível 4 — Quantitativamente gerenciado: a organização e os projetos estabelecem objetivos quantitativos de qualidade e desempenho de processos e os utilizam como critérios na hora de gerenciar os projetos. Os objetivos quantitativos são baseados nas necessidades do cliente, nos usuários finais, na organização e naqueles que implementam processo. A qualidade e o desempenho do processo são entendidos em termos estatísticos e gerenciados ao longo da vida dos projetos. Nível 5 — Otimizado: uma organização melhora seus processos de forma contínua, com base em uma compreensão quantitativa de seus objetivos de negócios e de suas necessidades de desempenho. Vale ressaltar que o CMMI exige apenas que as metas associadas a cada área de processo sejam atingidas. Decidir “como fazer” para a realizar isso cabe somente à organização. Enquanto isso, a metodologia ágil é um para- digma para o desenvolvimento de software que incentiva pequenas entregas de software, interações focadas no cliente, flexibilidade em conjunto com comunicação e eficácia. Além disso, não há um manual para as organizações “agirem com agilidade”, mas alguns princípios e práticas recomendadas (MINIKIEWICZ, 2017). Silva, Santos e Shibao (2019) apresentaram uma comparação entre os principais pontos da metodologia ágil e do CMMI (Quadro 1). Na comparação, os autores destacaram o fato de que o CMMI apresenta um formato mais bu- rocrático, com muitas regras e artefatos. Sobre a metodologia ágil, os autores destacaram que ela é preparada para lidar com poucas regras nas mudanças, poucos artefatos, e tem como objetivo principal adiantar o processo, bem como integrar o cliente como parte da equipe. Métodos ágeis e modelos de maturidade6 Fonte: Adaptado de Silva, Santos e Shibao (2019). Processo Métodos ágeis CMMI Metodologia É uma metodologia Não é uma metodologia, mas um modelo Funções Define papéis Não define papéis Procedimentos Como fazer O que fazer Ciclo do projeto Recomenda o ciclo de vida iterativo e incremental Não estabelece ordem de execução dos processos Objeto Agilidade nos projetos Melhoria de processos Objetivo Desenvolvimento de software (não manutenção) Desenvolvimento e manutenção de software Mudanças Preparado para mudanças Mais resistentes a mudanças Controles Menos controlado, com poucos princípios Maior controle, com políticas e normas Relacionamento com clientes Cliente parte da equipe Cliente atua mais nas reuniões Equipe Grupos pequenos Grupos grandes Artefatos Poucos artefatos Muitos artefatos Regulamentação Poucas regras Mais regras Quadro 1. Comparação entre os métodos ágeis e o CMMI Na verdade, ainda há muito descrença sobre as duas filosofias funcionarem juntas devido a problemas de percepção, problemas na implementação, não levar em conta o contexto, falta de entendimento e questões culturais (MI- NIKIEWICZ, 2017). Alguns entendem que os métodos ágeis incentivam a abandonar a disciplina e o processo, enquanto outros acreditam que o CMMI vai sobrecarregar os membros das equipes de desenvolvimento com tantos artefatos. Glazer et al. (2008), porém, afirmam que a integração do modelo CMMI para implantações ágeis é compatível, porque, no nível do projeto, o CMMI 7Métodos ágeis e modelos de maturidade se resume em um alto nível de abstração sobre o que os projetos fazem, não em qual metodologia de desenvolvimento é utilizada, enquanto os métodos ágeis se concentram em como os projetos desenvolvem produtos. Dessa forma, segundo os autores, a junção dos métodos CMMI e agilidade pode ser muito proveitosa. Enquanto o CMMI direciona uma organização sobre “o que fazer”, os mé- todos ágeis mostram um conjunto de práticas sobre “como fazer”, fornecendo instruções de desenvolvimento de software que estão faltando nas melhores práticas do CMMI. Já o CMMI fornece as práticas de engenharia de sistemas que ajudam a capacitar uma abordagem ágil em grandes projetos. Além disso, ele também fornece o gerenciamento de processos e práticas de suporte que ajudam a implantar, sustentar e melhorarde forma contínua a implantação ágil em qualquer organização (GLAZER et al., 2008). Silva, Santos e Shibao (2019) questionaram alguns profissionais a respeito da possibilidade de aplicação conjunta de metodologias ágeis e CMMI em projetos de software, e a maioria afirmou ser possível realizar a junção. Porém, cerca de 13% indicaram não ser possível por não ter nada a ver com metodologia ágil, uma vez que requer grande quantidade de documentação, regras e padrões, o que vai de encontro aos princípios ágeis. Os autores fizeram uma relação com o estudo de Melo et al. (2012), em que foi revelado que o principal motivo de adotar métodos ágeis em projetos é aumentar a produtividade. Além disso, os resultados indicaram que as organizações se preocupam com a falta de docu- mentação e acreditam que a principal barreira seria a capacidade de mudança cultural. Esses resultados só reforçam o quanto pode ser útil e proveitoso para as organizações trabalharem com CMMI e agilidade em projetos. Apesar das claras diferenças, não há razão para que os dois não possam ser aplicados com sucesso juntos (MINIKIEWICZ, 2017), apenas indícios de que as duas filosofias permitiriam um melhor desempenho no processo de desen- volvimento do software. Enquanto a metodologia ágil orienta à equipe sobre o que fazer, o CMMI descreve como fazer. Além disso, a junção permite que as equipes melhorem sua produtividade nos projetos, a qualidade dos produtos que entregam e a capacidade de otimizar os processos de desenvolvimento de software, uma vez que o CMMI agrega valor ao completar a agilidade com seus processos mais rigorosos. Métodos ágeis e modelos de maturidade8 3 MPS.BR O MPS.BR é um modelo de qualidade de processo criado com o intuito de melhorar a capacidade de desenvolvimento de software nas empresas brasi- leiras (SOFTEX, 2013). A criação desse modelo foi baseada nos princípios do CMMI e das normas ISO/IEC 12207 e ISO/IEC 15504, tomando como base a realidade das organizações nacionais. As empresas de software do Brasil tinham difi culdade em entender os potenciais benefícios em investir em mo- delos de processos para melhorar o desempenho da empresa, então a Softex criou o programa MPS.BR visando incentivar essas empresas a melhorarem seus processos, disseminarem boas práticas da engenharia de software e aumentarem sua competitividade no mercado (KALINOWSKI et al., 2010). A fim de gerenciar esse programa, foi montada uma estrutura para definir e delegar responsabilidades a pesquisadores e profissionais de engenharia de software. Essa estrutura é composta pelas seguintes unidades (KALINOWSKI et al., 2010): Unidade de execução do programa: responsável pela definição de estratégias e pelo gerenciamento das atividades do programa MPS.BR. Essa equipe é coordenada pela Softex, criadora do programa. Equipe técnico do modelo MPS: responsável por criar e aprimorar continuamente o MPS. Além disso, é responsável por capacitar as pessoas por meio de cursos, provas e palestras. Essa equipe é coordenada pelo Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia da Universidade Federal do Rio de Janeiro. Fórum de credenciamento de controle do MPS: responsável pela emis- são de pareceres quanto a decisões de credenciamento de instituições que implementam e avaliam. Além disso, é responsável pela avaliação e pelo controle desses resultados, bem como por garantir que as empresas avaliadas executem suas atividades com ética e qualidade. Essa equipe consiste em representantes do governo, da indústria e da academia. O MPS. BR possui sete níveis de maturidade definidos para os processos das empresas que geram software, como mostra a Figura 1. 9Métodos ágeis e modelos de maturidade Figura 1. Relação entre os níveis de maturidade do MPS.BR e do CMMI. Fonte: Adaptada de O que... (2012). Os níveis e seus processos são os seguintes (SOFTEX, 2013). Nível G — Parcialmente gerenciado: esse é o primeiro nível que deve ser implementado. ■ Gerência de requisitos: a ideia é gerir os requisitos e componentes do projeto e encontrar possíveis inconsistências entre eles. ■ Gerência de projetos: o objetivo é planejar a definição de atividades, recursos e papéis no projeto. Nível F — Gerenciado ■ Garantia da qualidade: visa garantir que os produtos de trabalho e os processos sejam executados conforme planejamento e padrões definidos. ■ Gerência de configuração: trata do estabelecimento e da manutenção da integridade dos produtos do trabalho. ■ Medição: consiste na coleta, no armazenamento, na análise e no relatório dos dados relacionados aos produtos e processos. ■ Aquisição: trata da gestão da aquisição de produtos que atendem aos clientes. ■ Gerenciamento de portfólio de projetos: tem como objetivo começar e conservar os projetos necessários, suficientes e sustentáveis. Métodos ágeis e modelos de maturidade10 Nível E — Parcialmente definido ■ Avaliação e melhoria do processo organizacional: define a contribui- ção dos processos-padrão aos objetivos de negócio e no planejamento de melhorias. ■ Definição do processo organizacional: foca no estabelecimento e na manutenção de um conjunto de ativos de processo e de padrões para atender às necessidades da empresa. ■ Gerência de recursos humanos: tem como objetivo fornecer os re- cursos e manter suas competências com base nas necessidades da empresa. ■ Gerência de projetos (evolução dos níveis mais baixos). Nível D — Largamente definido ■ Desenvolvimento de requisitos: definição de requisitos do cliente, do produto e de seus componentes. ■ Projeto e construção do produto: tem como objetivo fazer o projeto, o desenvolvimento e a implementação para atender aos requisitos. ■ Integração do produto: trata-se de combinar os componentes, fazendo a integração e tornando o produto consistente. ■ Verificação: verifica se cada serviço ou produto atende aos requisitos. ■ Validação: checa se cada serviço ou produto atende ao uso desejado quando colocado no ambiente final. Nível C — Definido ■ Gerência de decisão: analisa as decisões críticas da gerência. ■ Gerência de riscos: identifica, analisa, trata, monitora e reduz os riscos no projeto e na empresa. ■ Desenvolvimento para reutilização: identifica oportunidades para o reúso de ativos na empresa. Nível B — Gerenciado quantitativamente ■ Gerência de projetos (evolução dos níveis mais baixos). Nível A — Em otimização: esse é o último nível a ser implementado. ■ Atributos de Processo 5.1: trata-se da medição do quanto as alterações são identificadas na definição e na implantação do processo. ■ Atributos de Processo 5.2: trata-se da medição do quanto as alterações na definição, na gestão e no desempenho atingiram as metas. 11Métodos ágeis e modelos de maturidade Há processos e atributos para cada um desses níveis de maturidade. Eles indicam onde a unidade da empresa tem que investir esforço a fim de atingir os objetivos de negócio e do modelo. Assim como o modelo de maturidade CMMI, há também um receio quanto à integração do MPS.BR com metodologias ágeis de desenvolvimento de software. Um dos principais motivos desse receio é a exigência de documen- tação dos processos, o que, segundo os profissionais, vai contra os princípios da agilidade. Porém, isso não é verdade, pois os métodos ágeis não são contra a documentação. O que acontece é uma má interpretação do Manifesto Ágil, em que consta, apenas, que software em funcionamento deve estar acima da documentação. O Manifesto se refere a uma documentação excessiva e desnecessária, que, em vez de ajudar a equipe, pode acabar atrapalhando o entendimento do projeto e fazendo com que se perca tempo com atividades desnecessárias. Definitivamente, métodos ágeis NÃO são contra a documen- tação como um todo. É possível integrar MPS.BR e agilidade em projetos ágeis sem muita dificuldade porque, em tese, eles possuem a mesma intenção. Além disso,é muito fácil encontrar empresas que utilizam metodologias como Extreme Programming (XP) e Scrum que sejam certificadas no MPS.BR. Prikladnicki e Magalhães (2010) apresentaram um relato de experiências em que mostraram os cuidados necessários para realizar essa implementação respeitando a cultura ágil e satisfazendo as exigências do modelo. O primeiro passo foi motivar as equipes a se comprometerem com os valores da empresa, começando a envolver as equipes nas discussões para facilitar a instituciona- lização. Além disso, os autores destacaram a importância de manter o foco e evitar o acúmulo de atividades dos membros da equipe e do implementador do modelo. Ao implementar o modelo, também é necessário levar em conta as carac- terísticas da empresa. Quando ela já é acostumada com metodologia ágil, a mudança para se adaptar a um modelo de maturidade pesa mais. É muito importante buscar a integração das duas filosofias da forma mais suave pos- sível, dando pequenos passos e começando as práticas aos poucos. Além disso, é sensato buscar a compatibilidade dos processos e artefatos já em uso na empresa. Dessa forma, evita-se a criação de resistência entre os membros da equipe (PRIKLADNICKI; MAGALHÃES, 2010). Métodos ágeis e modelos de maturidade12 Caso a empresa opte por realizar novas contratações e envolver consultoria para auxiliar no processo de implementação do MPS.BR, é essencial que esse pessoal não tente alterar os valores da empresa. O ideal é que tente ajustar o modelo com base na realidade da empresa, não o contrário. Assim, é recomendado procurar empresas de consultoria que tenham conhecimento suficiente para ajudar na implementação do modelo em ambientes em que já são utilizadas metodologias ágeis (PRIKLADNICKI; MAGALHÃES, 2010). Quanto à documentação, como os modelos de maturidade exigem docu- mentação bastante detalhada e os métodos ágeis, não, é necessário encontrar um ponto de equilíbrio para as duas filosofias. Assim, espera-se documentar o que for realmente necessário para os envolvidos. Quanto à implementação dos níveis do MPS.BR, deve sempre levar a realidade da empresa em consideração. Geralmente, a maioria das empresas que tentam implementar o MPS.BR deseja chegar pelo menos nos níveis G e F, por questões financeiras. Nesse contexto, Gazoni (2011) realizou um estudo a fim de investigar a compatibi- lidade entre o modelo e a metodologia ágil Scrum, largamente utilizada nas empresas. Ao realizar as comparações entre o que a gerência de projetos e de requisitos do MPS.BR nível G requer e o que o método ágil oferece, o autor chegou na conclusão resumida no Quadro 2. 13Métodos ágeis e modelos de maturidade R eq u is it o s d e g er ên ci a d o p ro je to d o M P S. B R n ív el G Definir o escopo do trabalho para o projeto. Satisfeito Utilizando métodos apropriados, dimensionar as tarefas e produtos de trabalho do projeto. Não satisfeito Definir o modelo e as fases do ciclo de vida do projeto. Satisfeito Com base em dados históricos ou em referências técnicas, estimar o esforço e o custo para a execução das tarefas e dos produtos de trabalho. Parcialmente satisfeito Estabelecer e manter o orçamento e o cronograma do projeto, incluindo a definição de marcos e pontos de controle. Não satisfeito Identificar e documentar os riscos do projeto e seu impacto, sua probabilidade de ocorrência e sua prioridade de tratamento. Parcialmente satisfeito Planejar os recursos humanos para o projeto, considerando o perfil e o conhecimento necessário para executá-lo. Satisfeito Planejar os recursos e o ambiente de trabalho necessários para a execução do projeto. Satisfeito Identificar os dados relevantes do projeto e planejar a forma de coleta, de armazenamento e de distribuição. Estabelecer um mecanismo para acessá-los, incluindo, se pertinente, questões de privacidade e segurança. Não satisfeito Com a integração de planos específicos, estabelecer um plano geral para a execução do projeto. Satisfeito Avaliar a viabilidade de atingir as metas do projeto, considerando as restrições e os recursos disponíveis. Se necessário, realizar ajustes. Satisfeito Quadro 2. Compatibilidade entre requisitos da gerência de projetos e de requisitos do MPS.BR e o método Scrum (Continua) Métodos ágeis e modelos de maturidade14 Fonte: Adaptado de Gazoni (2011). R eq u is it o s d e g er ên ci a d o p ro je to d o M P S. B R n ív el G Avaliar a viabilidade de atingir as metas do projeto, considerando as restrições e os recursos disponíveis. Se necessário, realizar ajustes. Satisfeito Revisar o plano do projeto com todos os interessados e obter comprometimento de todos com ele. Satisfeito Utilizar o plano do projeto para gerenciá-lo e outros planos que o afetam e documentar os resultados. Satisfeito Gerenciar o envolvimento das partes interessadas no projeto. Satisfeito Realizar revisões em marcos do projeto, conforme estabelecido no planejamento. Satisfeito Estabelecer e tratar com as partes interessadas os registros de problemas identificados e o resultado da análise de questões pertinentes, incluindo dependências críticas. Satisfeito Estabelecer, implementar e acompanhar ações para corrigir desvios em relação ao planejamento e para prevenir a repetição dos problemas identificados até sua conclusão. Parcialmente satisfeito R eq u is it o s d e g er ên ci a d o s re q u is it o s d o M P S. B R n ív el G Entender, avaliar e aceitar os requisitos, junto aos fornecedores de requisitos, utilizando critérios e objetivos. Satisfeito Obter o comprometimento da equipe técnica com os requisitos aprovados. Satisfeito Estabelecer e manter a rastreabilidade bidirecional entre os requisitos e os produtos de trabalho. Não satisfeito Realizar revisões em planos e produtos de trabalho do projeto, visando identificar e corrigir inconsistências em relação aos requisitos. Satisfeito Gerenciar, ao longo do projeto, as mudanças nos requisitos. Satisfeito Quadro 2. Compatibilidade entre requisitos da gerência de projetos e de requisitos do MPS.BR e o método Scrum (Continuação) 15Métodos ágeis e modelos de maturidade Com base nos resultados de Gazoni (2011), é possível perceber que há uma compatibilidade entre os requisitos de gerência de projetos e da gerência de requisitos do MPS.BR e o modelo ágil adotado pela empresa. Dessa forma, ao encontro dos resultados de Oliveira et al. (2007), Boria, Rubinstein e Rubinstein (2013) e Prikladnicki e Magalhães (2010), trata-se de mais um estudo que mostra a viabilidade e os potenciais benefícios da junção entre as duas filosofias. Além disso, foi constatado que essa união pode proporcionar uma maior agilidade e resposta para certas mudanças no decorrer do projeto. Muitas são as empresas que adotaram as metodologias ágeis em seus processos de desenvolvimento no intuito de ter agilidade e flexibilidade para atender às necessidades dos clientes. Assim, passaram a sentir a necessidade de implementar modelos de maturidade, como MPS.BR e o CMMI, mas sem prejudicar a agilidade nos seus projetos. Com agilidade e maturidade implemen- tadas e trabalhando juntas, é possível melhorar o desempenho organizacional e garantir prestação de serviços com alto nível de qualidade para os clientes. BECK, K. et al. Manifesto para desenvolvimento ágil de software. 2001. Disponível em: https://agilemanifesto.org/iso/ptbr/manifesto.html. Acesso em: 6 set. 2020. BORIA, J. L.; RUBINSTEIN, V. L.; RUBINSTEIN, A. A história da Tahini-Tahini: melhoria de processos de software com métodos ágeis e modelo MPS. Brasília: Ministério da Ciência, Tecnologia e Inovação, 2013. CARNEGIE MELLON UNIVERSITY. CMMI para desenvolvimento – Versão 1.2. 2006. Dispo- nível em: https://www.marcusviniciusrodrigues.com.br/LinkClick.aspx?fileticket=rBC O4hAWwNo%3D&tabid=92&portalid=0&mid=481&language=pt-BR&forcedownloa d=true.Acesso em: 7 set. 2020. CHRISSIS, M. B.; KONRAD, M.; SHRUM, S. CMMI for development: guidelines for process integration and product improvement. London: Pearson, 2011. FOWLER, M. Maturity model. 2014. Disponível em: https://martinfowler.com/bliki/ MaturityModel.html. Acesso em: 6 set. 2020. GAZONI, F. E. Análise da compatibilidade entre o modelo Mps.BR nível G e a metodologia de desenvolvimento Scrum. 2011. 57 f. Trabalho de Conclusão de Curso (Graduação em De- senvolvimento de Sistemas) — Curso Superior de Tecnologia em Desenvolvimento de Sistemas, Universidade Tecnológica Federal do Paraná, Medianeira, 2011. Disponível em: Métodos ágeis e modelos de maturidade16 http://repositorio.roca.utfpr.edu.br/jspui/bitstream/1/531/1/MD_COADS_2011_2_02. pdf. Acesso em: 6 set. 2020. GLAZER, H. et al. CMMI ® or Agile: why not embrace both! 2008. Disponível em: http:// citeseerx.ist.psu.edu/viewdoc/download;jsessionid=A0BB9377FFB7B1994B7E1826A89 9D8A5?doi=10.1.1.1002.8460&rep=rep1&type=pdf. Acesso em: 6 set. 2020. LARSON, E. W.; GRAY, C. F. Gerenciamento de projetos: o processo gerencial. 6. ed. Porto Alegre: AMGH, 2016. KALINOWSKI, M. et al. Mps.BR: promovendo a adoção de boas práticas de engenharia de software pela indústria brasileira. In: CONGRESO IBEROAMERICANO EN SOFTWARE ENGINEERING, 13., 2010, Cuenca. Anais […]. Cuenca: CIBSE, 2010. MELO, C. de O. et al. Métodos ágeis no Brasil: estado da prática em times e organizações. 2012. Disponível em: http://www.agilcoop.org.br/files/metodos_ageis_brasil_es- tado_da_pratica_em_times_e_organizacoes.pdf. Acesso em: 6 set. 2020. MINIKIEWICZ, A. CMMI® and agile development: a binary choice? 2017. Disponível em: ht- tps://documentcenter.eventpedia.us/Events/8cc1bfbb-4b42-482d-ae0e-919807a67454/ Documents/30b3d49a-f02d-42f7-95aa-b3b59e37f515.pdf. Acesso em: 6 set. 2020. O QUE é o MPS.br? Redação Oficina, 2012. Disponível em: https://www.oficinadanet. com.br/artigo/desenvolvimento/melhoria-de-processos-do-software-brasileiro--mpsbr. Acesso em: 6 set. 2020. PRIKLADNICKI, R.; MAGALHÃES, A. L. C. C. Implantação de modelos de maturidade com metodologias ágeis: um relato de experiências. 2010. Disponível em: https://www. softex.br/wp-content/uploads/2013/10/6_WAMPS-2010_Implanta%C3%A7%C3%A3o- de-Modelos-de-Maturidade-com-Metodologias-%C3%81geis-Um-Relato-de- Experi%C3%AAncias1.pdf. Acesso em: 6 set. 2020. ROVAI, R. L. Metodologias inovadoras para gestão de projetos: modelo referencial para implantação da ITILV3 através da metodologia PRINCE2 – estudo de caso. Revista de Gestão de Projetos, v. 4, nº. 2, p. 252–270, 2013. SILVA, P. R. da; SANTOS, M. R. dos; SHIBAO, F. Y. Desenvolvimento de softwares: CMMI e metodologias ágeis. Revista Livre de Sustentabilidade e Empreendedorismo, v. 4, nº. 3, p. 157–184, 2019. SOFTWEX. MPB.BR: Melhor de processo do software brasileiro. 2013. Disponível em: http://www.softex.br/wp-content/uploads/2013/07/MPS.BR_Guia_de-Avaliacao_2013. pdf. Acesso em: 7 set. 2020. Leituras recomendadas CELESTINO, A. L. Mps.BR e desenvolvimento ágil: é possível conciliá-los? 2013. Disponível em: https://www.profissionaisti.com.br/mps-br-e-desenvolvimento-agil-e-possivel- concilia-los/. Acesso em: 6 set. 2020. 17Métodos ágeis e modelos de maturidade GLAZER, H. Love and marriage: CMMI and agile need each other. The Journal of Defense Software Engineering, p. 29–34, jan./fev. 2010. Disponível em: https://pdfs.semantics- cholar.org/2ff1/e6acb7834c42fb4b1db955e82c35e77d39d4.pdf. Acesso em: 6 set. 2020. OLIVEIRA, A. C. G. de; GUIMARÃES, F. A.; FONSECA, I. de A. Utilizando metodologias ágeis para atingir MPS: BR nível F na Powerlogic. Revista Visão Ágil, v. 3, 2007. SILVA, F. S. et al. Using CMMI together with agile software development: a systematic review. Information and Software Technology, v. 58, p. 20–43, 2015. Disponível em: https:// romisatriawahono.net/lecture/rm/survey/software%20engineering/Software%20 Process%20Improvement/Silva%20-%20CMMI%20and%20Agile%20-%202015.pdf. Acesso em: 7 set. 2020. Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun- cionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Métodos ágeis e modelos de maturidade18