Prévia do material em texto
Métodos ágeis e modelos de maturidade Apresentação Nos últimos anos, muitas organizações passaram a adotar metodologias de desenvolvimento ágil vindas do Manifesto Ágil, como o Scrum e o Extreme Programming (XP). Essas metodologias têm chamado cada vez mais a atenção por serem utilizadas com sucesso para melhorar os processos de empresas de TI, principalmente as de tamanhos menores. Atualmente, muitas organizações descobriram a necessidade de aprimorar seus processos, possibilitando a introdução de modelos de maturidade, como o CMMI (Capability Maturity Model Integration) e o MPS.BR (Melhoria de Processos do Software Brasileiro). Os modelos de maturidade são capazes de fornecer resultados previsíveis em ambientes e condições de negócios estáveis, já a metodologia ágil fornece valor aos negócios de forma mais rápida e econômica em resposta aos requisitos, que estão em mudanças constantes. Implementar maturidade aos processos ágeis pode melhorar a qualidade do produto, ampliar a capacidade de gerenciamento do processo e aumentar a adequação de práticas ágeis para projetos de TI maiores e mais complexos. Nesta Unidade de Aprendizagem, você irá entender o que faz as empresas adotarem metodologias ágeis e implementarem modelos de maturidade. Além disso, irá verificar como funciona a junção dos Modelos CMMI e MPS.BR em ambientes ágeis. Bons estudos. Ao final desta Unidade de Aprendizagem, 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.• Desafio Com o novo normal, muitas empresas passaram a desenvolver suas atividades de forma completamente virtual por causa da pandemia do novo coronavírus. Além disso, por causa dessa epidemia, muitas organizações que desenvolvem software passaram a vivenciar situações caóticas, devido ao aumento na demanda e à falta de processos adequados. Nesse contexto, é necessário adotar modelos de maturidade, com o intuito de melhorar o desempenho organizacional. Nesse contexto, veja a seguinte situação. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/3f28209f-bb1f-4b27-b5a4-6e24007eb450/fa16a9dc-29c2-4413-a170-6228c38f0d07.jpg A partir do exposto, responda as questões a seguir. a) Qual método ágil a empresa adota? Quais as desvantagens dessa adoção se a empresa não usar um modelo de maturidade para organizar os processos? b) Qual modelo de maturidade poderia ser sugerido para essa situação? Quais seriam os benefícios com a adoção desse modelo? Infográfico Muitas empresas utilizam metodologias ágeis para gerenciamento de projetos. Isso ajuda as equipes a administrarem o trabalho com mais eficiência e eficácia, ao mesmo tempo que entregam o produto dentro das restrições do orçamento. Por outro lado, para reagir melhor às mudanças inevitáveis que vêm com a maioria dos projetos, a empresa precisa ganhar maturidade em seus processos de desenvolvimento. A junção de agilidade e maturidade tem sido o foco de muita controvérsia no mundo acadêmico e na indústria: aparentemente, acredita-se que eles tenham princípios completamente diferentes. Porém, por outro lado, mesmo com controvérsia, essa junção tem se tornado uma realidade para as empresas de TI, na tentativa de melhorar seu desempenho organizacional. Veja, no Infográfico a seguir, os benefícios que as organizações podem ter ao serem utilizados, em conjunto, as metodologias ágeis e os modelos de maturidade Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/4e98aeba-1382-40c6-a95b-faaa47ea3136/05dcd1fa-188d-4120-87cd-0a67121a8ff8.jpg Conteúdo do Livro As abordagens ágeis de desenvolvimento de software enfatizam a entrega incremental, a colaboração da equipe, o planejamento contínuo e o aprendizado contínuo, em vez de tentar entregar tudo de uma vez perto do fim. Além disso, essa metodologia se concentra em manter o processo enxuto e criar produtos que passam por uma série de iterações antes de qualquer coisa ser finalizada. O feedback é coletado e implementado continuamente, sendo um processo muito mais dinâmico, em que todos estão trabalhando juntos em direção a um objetivo. Nesse contexto, apesar de muita descrença quanto ao funcionamento conjunto, as empresas passaram a adotar modelos de maturidade para melhor organização dos seus processos e mais visibilidade no mercado. No capítulo Métodos ágeis e modelos de maturidade, da obra Desenvolvimento de software com metodologias ágeis, base teórica desta Unidade de Aprendizagem, entenda como e por que as empresas têm o desejo de integrar agilidade e maturidade. Além disso, saiba como acontece o uso do CMMI e do MPS.BR em metodologias ágeis. Boa leitura. 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 softwarepela 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 detalhes o 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 processossejam 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 melhorar de 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 epalestras. 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 recomendadasCELESTINO, 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 Dica do Professor Atualmente, as organizações que utilizam metodologias ágeis têm procurado implementar modelos de maturidade, tendo como objetivo principal assegurar aos seus clientes a prestação de serviços com alto nível de qualidade. Além disso, com essa implementação, é possível organizar melhor o desenvolvimento de software, possibilitando, assim, um maior controle e atingindo uma melhor qualidade nos seus produtos sem perder, no entanto, a agilidade nos seus projetos. Nesta Dica do Professor, conheça como uma fábrica de software realizou a implementação do Nível F do MPS.BR utilizando Scrum. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/a1249c5a684dc90680079bde04cd967c Exercícios 1) O uso de metodologias ágeis tem se tornado popular entre as empresas de software, devido à sua flexibilidade e interatividade. No entanto, apesar de as organizações adotarem a agilidade no processo de desenvolvimento de seus produtos, elas passaram a desejar a integração com modelos de maturidade, a fim de completar algumas lacunas deixadas pelas metodologias ágeis. Nesse contexto, é possível afirmar: I. as empresas passaram a sentir necessidade de adotar a maturidade para adequar seus processos; II. os desenvolvedores precisam documentar tudo a partir da adoção de modelos de maturidade na empresa; III. com os modelos de maturidades, as empresas buscam otimizar o desempenho organizacional; IV. equipes ágeis não conseguem entregar o produto rapidamente com a implementação desses modelos. Sobre essas afirmações, é correto o que se afirma em: A) I e II, apenas. B) II e III, apenas. C) III e IV, apenas. D) I e III, apenas. E) I e IV, apenas. 2) O MPS.BR é um modelo de qualidade de processo criado pela Softex, cujo intuito é melhorar a capacidade de desenvolvimento de software nas empresas brasileiras. Para isso, as organizações que contam com métodos ágeis, como XP e Scrum, visam a implementar esse processo brasileiro para completar as lacunas da metodologia ágil. Sobre esse modelo de processo, é possível afirmar: A) tem cinco níveis de maturidade definidos para os processos das empresas. B) o Nível D (parcialmente definido) tem três processos, e um deles é a gerência de decisão, que analisa as decisões críticas da gerência. C) no processo de gerência de recursos humanos (Nível E), espera-se fornecer os recursos e manter as competências com base nas necessidades da empresa. D) ao adotar o MPS.BR, o primeiro nível a ser implementado deve ser o Nível A. E) no processo de validação, é verificado se cada serviço ou produto atende aos requisitos definidos. 3) O MPS.BR (Melhoria do Processo de Software Brasileiro) é um programa da Softex com apoio do Ministério da Ciência, Tecnologia, Inovações e Comunicações (MCTIC). Com início em dezembro de 2003, ele tem como objetivo melhorar a capacidade de desenvolvimento de software, serviços e práticas de gestão de RH na indústria de Tecnologia da Informação e Comunicação (TIC). Em qual nível é esperado que as equipes ágeis possam ter uma garantia da qualidade, na qual assegura que os produtos de trabalho e os processos sejam executados conforme o planejado? A) Nível B (gerenciado quantitativamente). B) Nível C (definido). C) Nível D (largamente definido). D) Nível E (parcialmente definido). E) Nível F (gerenciado). O CMMI (Capability Maturity Model Integration) foi criado pelo SEI (Software Engineering Institute), órgão integrante da Universidade Carnegie Mellon, dos Estados Unidos. Trata-se de um modelo voltado para a capacidade de maturidade de processos de software e é largamente utilizado no mundo todo. Apesar de muita descrença quanto à sua junção, ele tem sido muito utilizado com métodos ágeis. Sobre o uso do CMMI com agilidade, é possível afirmar: I. tem sete níveis de maturidade, correspondendo ao desempenho da organização em uma disciplina específica ou um conjunto delas; II. para alcançar um determinado nível, uma organização deve cumprir todas as metas da área de processo, as quais são relacionadas à melhoria organizacional; 4) III. no Nível 2, há processos imprevisíveis e pobremente controlados na empresa; IV. tem o benefício de promover a prioridade de aprendizado. Sobre as afirmações, é correto o que se afirma em: A) I e II, apenas. B) II e III, apenas. C) III e IV, apenas. D) I e III, apenas. E) II e IV, apenas. 5) O Capability Maturity Model Integration (CMMI) ajuda as organizações a agilizarem a melhoria de processos, incentivando uma cultura produtiva e eficiente, diminuindo os riscos no desenvolvimento de software, produtos e serviços. Por isso, tem sido implementado em conjunto com as metodologias ágeis. Com isso, espera-se que o CMMI traga valor agregado ao completar a agilidade com seus processos mais rigorosos. Qual dos níveis a seguir representa a maturidade de uma empresa na qual a qualidade e o desempenho do processo são compreendidos estatisticamente e são gerenciados ao longo da vida dos projetos ágeis? A) Nível 1. B) Nível 2. C) Nível 3. D) Nível 4. E) Nível 5. Na prática Hoje em dia, ainda há muita descrença sobre a utilização, em conjunto, das metodologias ágeis e dos modelos de maturidade. Isso porque a grande maioria das pessoas acredita que modelos de maturidade ferem os princípios ágeis, exigindo uma grande quantidade de artefatos e processos, o que atrapalharia a eficácia da agilidade e sobrecarregaria as equipes de desenvolvimento de software. No entanto, há diversos estudos comprovando que a junção pode mais do que dar certo: a agilidade mostra, na prática, como fazer uma atividade, e os modelos de maturidade direcionam o que fazer, além de ajudarem a implantar, sustentar e melhorar de forma contínua a implantação ágil em qualquer empresa. Veja, Na Prática a seguir, a estratégia adotada por uma indústria de software ao enfrentar um desafio para melhorar seu desempenho e aumentar sua qualidade das entregas. Conteúdo interativo disponível na plataforma de ensino! Saiba mais Para ampliar o seu conhecimento a respeito desse assunto, veja as sugestões do professor: Metodologias ágeis e DevOps são suficientes para o sucesso de projetos? Esta notícia apresenta boas práticas de engenharia de software, incluindo a indicação de adoção de modelos de maturidade. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. WebinarSoftex no âmbito do Programa MPS.BR Este webinar da Softex (Associação para Promoção da Excelência do Software Brasileiro) retrata o uso da agilidade com DevOps, Scrum e MPS. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Uma análise sobre CMMI no contexto de metodologias ágeis Neste artigo, são apresentadas as metodologias ágeis Scrum e XP compatíveis com áreas do CMMI. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://cio.com.br/metodologias-ageis-e-devops-sao-suficientes-para-o-sucesso-de-projetos/?v=2141854407 https://www.youtube.com/embed/jjLdpCb08PI http://prpi.ifce.edu.br/nl/_lib/file/doc309-Trabalho/Uma%20an%E1lise%20sobre%20CMMI%20no%20contexto%20de%20Metodologias%20%C1geis%20%20-%20SEMIC%202016.pdf?v=1867420529 Explorando a gestão de fornecedores no contexto do CMMI- DEV e metodologias ágeis: a identificação de um gap Este artigo apresenta uma "revisão sistemática da literatura, com o intuito de explorar o atual estado da investigação sobre a relação entre Metodologias Ágeis e CMMI-DEV, no contexto da gestão do acordo de fornecedores" (SANTOS et al., 2017, p. 14). Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Novo modelo do CMMI traz mais benefícios às empresas para melhoria nos processos Esta notícia apresenta a versão 2.0 do CMMI, contemplando conceitos ágeis e a metodologia Scrum. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Agile with Scrum and CMMI® working together to create true organizational agility Neste webinar, em inglês, especialistas compartilham seus insights ao perceberem um desempenho ágil aprimorado com o CMMI. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. http://seer.upf.br/index.php/rbca/article/view/6042/4282?v=629562319 https://computerworld.com.br/2018/07/06/novo-modelo-do-cmmi-traz-mais-beneficios-empresas-para-melhoria-nos-processos/?v=625302713 https://www.youtube.com/embed/TqqugPYedmY