Olá, estudante, tudo bem com você? Agora que já aprendeu manutenção, arquitetura e engenharia no desenvolvimento de software, serão apresentados os conceitos por trás da melhoria do processo de software, mais especificamente o CMMI e o MPS.br.
O objetivo desta lição é proporcionar a você, futuro(a) Técnico(a) em Desenvolvimento de Sistemas, uma compreensão abrangente e prática dos conceitos relacionados à melhoria do processo de software, com foco nos modelos CMMI (Capability Maturity Model Integration) e MPS.br (Melhoria de Processo do Software Brasileiro). A lição visa lhe capacitar a reconhecer a importância da melhoria contínua dos processos no ciclo de vida do desenvolvimento de software. Você explorará como esses modelos podem ser aplicados para aumentar a eficiência, a qualidade e a previsibilidade dos projetos de software, além de entender os diferentes níveis de maturidade e capacidade que podem ser alcançados.
Ao final da lição, você terá adquirido um conjunto de habilidades e conhecimentos essenciais sobre o assunto e, assim, será capaz de compreender profundamente os princípios e as práticas desses modelos de melhoria de processo, incluindo os diferentes níveis de maturidade e capacidade. Preparado(a) para essa nova jornada de conhecimento?
Quando pensamos no desenvolvimento de software, um problema recorrente é a falta de consistência nos processos, o que leva a atrasos, retrabalho e produtos finais de qualidade variável. Muitas vezes, as equipes enfrentam dificuldades em manter padrões elevados devido à ausência de diretrizes claras e práticas estabelecidas, resultando em projetos que excedem orçamentos e cronogramas, além de insatisfação por parte dos clientes e stakeholders.
A aplicação dos modelos de melhoria do processo de software, como CMMI e MPS.br, oferece soluções eficazes para essa problemática. Esses modelos fornecem um conjunto estruturado de melhores práticas e diretrizes que ajudam as organizações a estabelecer processos mais previsíveis, controlados e eficientes. Através da implementação desses modelos, as equipes podem padronizar métodos de trabalho, definir papéis e responsabilidades com clareza bem como introduzir mecanismos de monitoramento e medição de desempenho, o que reduz os riscos associados ao desenvolvimento de software e promove uma cultura de melhoria contínua, na qual os processos são constantemente refinados com base em dados objetivos e feedbacks.
Portanto, a adoção dos modelos CMMI e MPS.br, além de resolver problemas imediatos de inconsistência e baixa qualidade nos processos de desenvolvimento de software, também capacita as organizações a alcançar níveis mais altos de maturidade e capacidade. Assim, como resultado, temos entregas mais previsíveis, melhor gestão de recursos e, consequentemente, maior satisfação dos clientes.
Nesse primeiro momento, parece ser bem útil para o seu dia a dia enquanto profissional, não é mesmo? Então, vamos aprender um pouco mais desse assunto?
Para entendermos um pouco melhor como o conteúdo desta lição pode ser utilizado no dia a dia profissional, utilizaremos uma situação envolvendo a InnovateTech, uma empresa especializada em desenvolvimento de software corporativo que enfrentava desafios em seus projetos devido à falta de processos estruturados e padronizados, o que resultava em atrasos frequentes, inconsistências na qualidade e dificuldades na gestão de recursos, afetando diretamente a satisfação dos clientes, assim como a rentabilidade da empresa.
Para superar esses obstáculos, a empresa decidiu implementar o modelo MPS.br. Inicialmente, foi realizado um diagnóstico detalhado para avaliar o nível de maturidade atual dos processos internos. Com base nos resultados, foram identificadas áreas críticas que necessitavam de melhorias urgentes, como definição de papéis e responsabilidades, gestão de mudanças e controle de qualidade.
Com o apoio de consultores especializados e um plano estratégico bem definido, a empresa iniciou a implementação gradual das práticas recomendadas pelo MPS.br. Essa implementação incluiu a definição de processos claros, a adoção de ferramentas de gestão de projetos e a capacitação contínua dos colaboradores em novas metodologias. Ao longo do processo, foram estabelecidos mecanismos de monitoramento e avaliação para garantir a conformidade e a eficácia das mudanças implementadas. Ao finalizar o projeto de implementação, a empresa experimentou melhorias significativas em seus processos de desenvolvimento de software, conseguindo reduzir os prazos de entrega, aumentar a qualidade delas e melhorar a eficiência operacional.
Dessa forma, com esse case, mesmo apresentando uma situação hipotética, conseguimos notar o quanto as melhorias dos softwares são necessárias! Mas, para que possamos obter sucesso nesse processo, precisamos utilizar algum modelo de melhoria, como CMMI e MPS.br. Portanto, vamos entender melhor esses modelos de melhoria de software?
A melhoria contínua dos processos no desenvolvimento de software é fundamental para as organizações que buscam entregar produtos de alta qualidade, eficiência operacional e competitividade no mercado. No entanto engana-se quem pensa que essa melhoria se limita à simples implementação de metodologias e ferramentas, pois elas abrangem uma filosofia organizacional que visa aprimorar continuamente a forma como o software é concebido, desenvolvido, testado e mantido. Essas práticas estruturadas de melhoria ajudam a evitar problemas recorrentes, além de aumentarem a previsibilidade dos projetos e permitirem adaptações ágeis às mudanças de requisitos e às expectativas do cliente.
Ao explorar esses conceitos, você, futuro(a) Técnico(a) em Desenvolvimento de Sistemas, pode entender como a melhoria contínua dos processos é um diferencial estratégico para empresas que buscam excelência em seus produtos e serviços. Portanto, depois dessa breve introdução, vamos nos aprofundar!
O Capability Maturity Model Integration (CMMI) é um modelo de referência que descreve os elementos essenciais de processos eficazes para organizações que desenvolvem software e outros produtos. Estruturado em diferentes níveis de maturidade, o CMMI oferece uma trajetória clara para que as organizações melhorem continuamente seus processos e atinjam níveis crescentes de sofisticação e controle.
De acordo com Sommerville (2008), o CMMI é definido como uma abordagem integrada para o modelo de maturidade e de capacidade do processo que se baseia na adoção de boas práticas de engenharia de software e gerenciamento integrado de qualidade.
É importante você saber que o CMMI apresenta cinco níveis de maturidade, sendo eles: inicial, gerenciado, definido, quantitativamente gerenciado e otimizado. No nível inicial, as organizações frequentemente operam de maneira ad hoc (modo de trabalho informal, improvisado e, muitas vezes, não sistemático), com processos informais bem como não documentados, o que pode resultar em resultados inconsistentes e imprevisíveis.
Ao avançar para o nível gerenciado, as organizações começam a implementar práticas básicas de gerenciamento de projetos e processos. Aqui, a ênfase está na definição e na padronização dos processos para melhorar tanto a consistência quanto o controle. De acordo com Gallotti (2017), a fim de facilitar o entendimento do modelo, é interessante separá-lo em áreas de processo, representação contínua e representação por estágios.
No nível definido, os processos são bem documentados, padronizados e integrados dentro de toda a organização. Existe uma compreensão clara de como os processos se relacionam e contribuem para os objetivos organizacionais, o que permite maior previsibilidade, além de controle sobre os resultados dos projetos. Gallotti (2017) nos apresenta as áreas de processos desse nível: desenvolvimento de requisitos, solução técnica, integração de produto, verificação, validação, foco no processo organizacional, definição do processo organizacional, treinamento organizacional, gerência integrada de projeto, gerência de risco, construção de equipes integradas, gerência integrada de fornecedor, análise de decisão e resolução, ambiente organizacional para integração.
No nível quantitativamente gerenciado, as organizações utilizam métricas quantitativas para gerenciar e controlar seus processos, assim, realiza-se coleta de dados, análise estatística e uso de modelos preditivos, com intuito de prever o desempenho dos processos e tomar decisões informadas de melhoria com as áreas de processo. São elas, segundo Gallotti (2017): gerência de requisitos, planejamento de projeto, acompanhamento e controle de projeto, gerência de acordos com fornecedores, medição e análise, garantia da qualidade de processo e produto, gerência da configuração.
Por fim, no nível otimizado, as organizações alcançam um estado de melhoria contínua. Gallotti (2017) apresenta as áreas de processo desse nível como: inovação e melhoria organizacional, análise de causa e solução. Elas utilizam feedback dos processos e da experiência passada para aprimorar constantemente suas práticas e inovar. Aqui, a ênfase está na adaptação rápida às mudanças e na busca por excelência operacional.
Note que cada nível de maturidade no CMMI reflete a capacidade da organização de gerenciar seus processos de software de maneira estruturada e previsível, mas também indica seu compromisso com a melhoria contínua e a excelência operacional. Como resultado disso, temos o aumento tanto da eficiência quando da qualidade dos produtos de software entregues, sendo possível, ainda, fortalecer a posição competitiva da organização no mercado.
A Melhoria de Processo do Software Brasileiro (MPS.br) é um modelo nacional de referência que visa promover a melhoria contínua dos processos de desenvolvimento de software nas organizações brasileiras. Alinhado com práticas internacionais, como o CMMI (Capability Maturity Model Integration), o MPS.br oferece uma abordagem adaptável e escalável para organizações de diferentes tamanhos e segmentos.
Ao adotar o MPS.br, as organizações brasileiras podem estruturar seus processos de forma mais eficiente e previsível, melhorando tanto a qualidade quanto a produtividade na entrega de software. Seu objetivo, segundo Fernandes e Abreu (2014), é definir bem como aprimorar um modelo de melhoria e avaliação de processo de software e serviços, visando, preferencialmente, às micro, às pequenas e médias empresas, de forma a atender às necessidades de negócio e ser reconhecido nacional e internacionalmente como um modelo de software aplicável à indústria de software e serviços.
O modelo é projetado para ser flexível, permitindo que as empresas iniciem com práticas básicas e evoluam gradualmente para níveis mais altos de maturidade. No MPS.br, os processos são definidos e adaptados às necessidades específicas das organizações, levando em consideração fatores como: tamanho da equipe, complexidade dos projetos e requisitos de mercado. Em geral, o modelo facilita a implementação das práticas de melhoria de processo e promove a cultura de excelência operacional dentro das empresas brasileiras.
O MPS.br também proporciona um caminho claro para as organizações melhorarem sua competitividade no mercado global de desenvolvimento de software, pois, ao alinhar seus processos com padrões reconhecidos internacionalmente, como o CMMI, as empresas brasileiras podem demonstrar aos clientes e parceiros seu compromisso com a qualidade, a eficiência e a confiabilidade.
Portanto, o MPS.br facilita a implementação de práticas de melhoria de processo dentro das organizações brasileiras e também as capacita a alcançar níveis mais altos de desempenho e competitividade no cenário global de desenvolvimento de software, o que faz desse modelo uma ferramenta essencial para impulsionar a excelência operacional e promover o crescimento sustentável das empresas tanto no mercado nacional quanto no internacional.
As etapas de implementação do CMMI e MPS.br compartilham estruturas similares, as quais envolvem processos estruturados e contínuos que exigem planejamento, comprometimento e adaptações às particularidades de cada organização, considerando:
Diagnóstico inicial: avaliar a maturidade atual dos processos de software da organização; identificar lacunas entre as práticas atuais e os objetivos do modelo; definir prioridades na implementação.
Planejamento da implementação: definir os objetivos com metas claras e mensuráveis; fazer plano de ação com atividades detalhadas, indicando prazos, recursos e responsáveis; comunicar o plano de implementação a todos os envolvidos.
Implementação dos processos: adaptar o modelo à realidade da empresa; treinar a equipe; realizar novos procedimentos e ferramentas para apoiar a implementação.
Monitoramento e avaliação: estabelecer indicadores para medir o progresso e sucesso das operações; coletar dados, de forma regular, a fim de avaliar o desempenho dos processos; auditar a conformidade dos processos com o modelo adotado.
Melhoria contínua: analisar resultados e identificar oportunidades de melhoria; ajustar o processo para garantir sua eficiência e eficácia; implementar o ciclo PDCA (Planejar, Fazer, Verificar, Agir) para garantir a melhoria contínua.
Apesar da similaridade no processo de implementação dos modelos, eles possuem enfoques diferentes, sendo o CMMI uma metodologia internacional, e o MSP.br direcionado ao contexto brasileiro que propõe adaptações para negócios de diferentes portes. Outras diferenças podem ser observadas no Quadro 1:
Quadro 1 - Diferenças entre o CMMI e o MSP.br
Fonte: a autora.
#PraCegoVer: o quadro apresenta três colunas e 11 linhas. Na primeira linha, estão os nomes das colunas, da esquerda para a direita: “Aspectos”, “CMMI” e “MPS.br”. A partir da segunda linha, é apresentado um aspecto na primeira coluna e como ele é relacionado com “CMMI” e MPS.br”. Portanto, na segunda linhas, está “Origem”, seguido por “Internacional (originado nos EUA)” e “Nacional (desenvolvido no Brasil)”. Na terceira linha, “Objetivo”, seguido por “Melhorar processos em diversas áreas, não só em software” e “Focar na melhoria dos processos de desenvolvimento de software”. Na quarta linha, Eescalabilidade”, seguido por “Escalável para grandes organizações e diversas indústrias” e “Adaptável para diferentes tamanhos de empresas, com foco em micro, pequenas e médias empresas”. Na quinta linha, “Níveis de maturidade”, seguido por “Cinco níveis (inicial, gerenciado, definido, quantitativamente gerenciado, otimizado)” e “Três níveis de maturidade (fundamental, intermediário, avançado)”. Na sexta linha, “Estrutura de processos”, seguido por “Baseado em áreas de processos e práticas específicas para cada nível” e “Baseado em áreas de processo e práticas, com ênfase em adequação às necessidades locais”. Na sétima linha, “Modelo de avaliação”, em seguida, “Por meio de avaliações SCAMPI (Standard CMMI Appraisal Method for Process Improvement)” e “Por meio de avaliações realizadas por entidades certificadoras brasileiras”. Na oitava linha, “Flexibilidade”, seguido por “Alta flexibilidade e adaptabilidade aos diferentes contextos e necessidades” e “Adaptado ao contexto e às práticas brasileiras, mas menos flexível se comparado ao CMMI”. Na nona linha, “Foco regional”, seguido por “Global, aplicado em diversos países e contextos culturais” e “Foco no contexto e nas necessidades brasileiras, com adaptação para o mercado local”. Na décima linha, “Reconhecimento internacional”, seguido por “Amplamente reconhecido e utilizado de modo global” e “Reconhecimento predominantemente nacional, com crescente visibilidade internacional”. Por fim, na décima-primeira linha, “Adoção e implementação”, seguido por “Amplamente adotado em grandes empresas e organizações internacionais” e “Mais comum em empresas brasileiras, especialmente micro e pequenas empresas”.
Para explorar as aplicações práticas e os benefícios tangíveis da aplicação dos modelos CMMI e MPS.br, é fundamental analisar exemplos de empresas que implementaram, com sucesso, esses frameworks de melhoria de processo no desenvolvimento de software. Como vimos, esses modelos oferecem estruturas para aprimorar a qualidade e a eficiência dos processos, mas também sabemos que eles são reconhecidos por impulsionar resultados positivos em diversas organizações ao redor do mundo.
Um exemplo emblemático de aplicação bem-sucedida do CMMI é a Lockheed Martin, uma das maiores empresas de defesa e segurança do mundo. A Lockheed Martin implementou o CMMI para Desenvolvimento (CMMI-DEV) em suas práticas de engenharia de software. Ao adotar as diretrizes dessem nodelo, a empresa conseguiu padronizar e otimizar seus processos de desenvolvimento, melhorando significativamente a qualidade e a previsibilidade dos seus projetos, o que resultou em queda de custos operacionais, maior eficiência na entrega de projetos e aumento da satisfação do cliente, o qual valorizava a consistência e confiabilidade dos produtos entregues.
Segundo a PRNewswire-Firstcall (c2024, on-line), uma empresa pode atingir os níveis de maturidade de um a cinco, este sendo o mais prestigioso, e a Lockheed Martin é uma das poucas do mundo a ter uma unidade de negócios que atingiu a avaliação nível cinco.
No contexto brasileiro, o exemplo da Totvs, uma das maiores empresas de software da América Latina, destaca a implementação do MPS.br. A Totvs adotou o MPS.br como parte de sua estratégia para fortalecer seus processos internos e garantir a qualidade tanto de seus produtos quanto de seus serviços.
Na fábrica de software BH Mais (MPS.br [...], 2010, on-line), compara-se uma empresa de software sem um modelo de desenvolvimento a um escritor sem um bom roteiro ou uma boa ideia: suas palavras tornam-se vazias e sem sentido. Através do MPS.br, a Totvs conseguiu melhorar a gestão de seus projetos de desenvolvimento de software, aumentar a eficiência operacional e reduzir os índices de retrabalho. Como consequência, as melhorias trouxeram maior competitividade no mercado e fortaleceram a confiança dos clientes na capacidade da empresa em entregar soluções de alta qualidade e alinhadas com as suas necessidades.
Em síntese, a aplicação dos modelos CMMI e MPS.br ajuda as empresas a melhorarem a qualidade e eficiência dos seus processos de desenvolvimento de software bem como as posiciona estrategicamente para o crescimento sustentável e a excelência operacional. Esses modelos são essenciais para organizações que buscam sobreviver e prosperar em um ambiente competitivo e dinâmico, onde a inovação e a qualidade são diferenciais decisivos ao sucesso empresarial.
Implementar os modelos de melhoria de processos, como o CMMI e o MPS.br, pode ser um desafio e, claro, merece atenção, visto que impacta diretamente o sucesso e a sustentabilidade das iniciativas. Um dos desafios mais comuns é a resistência interna à mudança, especialmente em organizações onde os processos existentes são arraigados, e a cultura organizacional não favorece alterações significativas. A falta de entendimento claro dos benefícios esperados também pode desmotivar equipes e lideranças, dificultando a adesão aos novos métodos propostos.
Além disso, a complexidade na implementação e a necessidade de recursos adequados, tanto financeiros quanto humanos, também são obstáculos significativos. Outro desafio importante e que precisa ser considerado é a capacitação e o treinamento contínuo dos colaboradores, iniciativas essenciais para garantir que todos compreendam e possam implementar as novas práticas de forma eficaz. A mensuração adequada dos resultados também é um desafio, pois, muitas vezes, as métricas de sucesso não são claras desde o início do processo de implementação.
Não precisa ficar preocupado(a) com esses desafios! Podemos superá-los! Primeiramente, é fundamental envolver todos os níveis da organização, desde a alta administração até as equipes operacionais, para garantir o alinhamento e o comprometimento com a mudança. A comunicação transparente dos objetivos e benefícios da melhoria de processos também é outro ponto essencial para conquistar o apoio necessário e superar a resistência inicial. Ademais, a definição de metas realistas e mensuráveis, desde o início, permite que a organização acompanhe o progresso e ajuste as estratégias, conforme necessário. Outra opção é a utilização de pilotos, ou projetos-piloto, com intuito de ajudar a demonstrar os benefícios de forma prática antes da implementação em larga escala, aumentando a confiança e o entusiasmo das equipes envolvidas.
Claro, não podemos esquecer que investir na capacitação contínua dos colaboradores, tanto em habilidades técnicas quanto em conhecimento dos novos processos, é uma excelente opção para superar os desafios de implementação, pois permite a sustentabilidade da melhoria contínua ao longo do tempo. Entretanto é válido ressaltar que os treinamentos formais são importantes, mas a questão de incentivos e reconhecimento àqueles que demonstram engajamento e resultados positivos na adoção dos novos métodos também é válida.
Por fim, não podemos esquecer que a liderança forte e comprometida desempenha um papel fundamental na condução bem-sucedida da implementação. Os líderes devem ser exemplos de comprometimento com a melhoria contínua e estar disponíveis para apoiar as equipes em todas as etapas do processo de mudança. Portanto, de maneira geral, embora a implementação de modelos de melhoria de processos apresente desafios significativos, esses podem ser superados com abordagem estratégica, comunicação eficaz, comprometimento organizacional e liderança forte.
Ao enfrentar esses desafios e adotar práticas que promovam a colaboração bem como o aprendizado contínuo, as organizações são capazes de superar os obstáculos e colher os benefícios duradouros da melhoria contínua e da excelência operacional.
Compreender e aplicar os conceitos de melhoria do processo de software, especialmente através dos modelos CMMI e MPS.br, é fundamental para você, enquanto futuro(a) Técnico em Desenvolvimento de Sistemas. Como estudamos, esses modelos proporcionam uma estrutura clara e organizada para gerenciar e aprimorar processos de desenvolvimento, além de ajudarem a aumentar a eficiência, a qualidade e a previsibilidade dos projetos de software. Ao dominar esses conceitos, você será capaz de implementar práticas que garantem a sustentabilidade e a competitividade das organizações no mercado. Aprofundar-se nesses modelos capacita você a identificar e superar desafios comuns no desenvolvimento de software, promover a excelência operacional e, consequentemente, a agregar valor significativo ao seu papel e à sua equipe.
Agora, que tal colocar a mão na massa? Nesse “Saiba Aplicar”, você, como Técnico(a) em Desenvolvimento de Sistemas, terá a oportunidade de aplicar os conceitos de melhoria de processo de software, por meio dos modelos CMMI e MPS.br. Seu desafio de hoje é simular a implementação desses modelos em um ambiente de desenvolvimento de software, ajudando a compreender suas práticas e benefícios.
Para isso, considere que você faz parte de uma equipe de desenvolvimento de uma empresa que está enfrentando problemas com prazos e qualidade dos projetos. Seu objetivo é implementar melhorias no processo de software para resolver esses problemas! Portanto, você deve seguir o passo a passo:
Formação das equipes: divida-se, com seus colegas, em equipes de quatro a cinco membros. Cada equipe representará um departamento da empresa (Desenvolvimento, Qualidade, Gerenciamento de Projetos etc.).
Introdução ao cenário: cada equipe receberá um problema enfrentado na empresa: atrasos nos prazos, defeitos nos produtos e baixa satisfação dos clientes.
Estudo dos modelos: cada equipe pesquisará sobre os modelos CMMI e MPS.br, para entender os níveis de maturidade do CMMI e as práticas do MPS.br (pode ser uma leitura crítica desta lição ou então, se possível, uma busca mais ampla desse assunto).
Diagnóstico inicial: as equipes deverão realizar um diagnóstico inicial da situação da empresa, identificando áreas problemáticas, com base nos problemas fornecidos no item 2.
Definição dos objetivos: cada equipe deverá definir objetivos claros para a melhoria do processo de software. Exemplos: reduzir o tempo de entrega dos projetos, aumentar a qualidade do código, melhorar a satisfação dos clientes.
Planejamento da implementação: as equipes deverão elaborar um plano de implementação das melhorias, utilizando as práticas do CMMI ou MPS.br. Cada plano precisará incluir etapas específicas, responsabilidades, cronogramas e métricas para avaliação do progresso.
Simulação da implementação: cada equipe deverá realizar uma simulação da implementação dos planos. Isso pode ser feito através de apresentações ou dramatizações, nas quais cada equipe mostrará como aplicaria as melhorias no seu departamento.
Avaliação e feedback: após a simulação, as equipes avaliarão os resultados esperados e discutirão possíveis desafios enfrentados durante a implementação.
Ao cumprir esse desafio, seu aprendizado se tornará mais envolvente, visto que você terá uma experiência prática na implementação de melhorias de processos de software, preparando os técnicos para enfrentar desafios reais no mercado! Bom trabalho!
FERNANDES, A.; ABREU, V. Implantando a governança de TI: Da estratégia à gestão de processos e serviços. 4. ed. Rio de Janeiro: Brasport, 2014.
GALLOTTI, G. (org.). Qualidade de software. São Paulo: Pearson, 2017.
MPS.BR na fábrica de software BH Mais. TOTVS Connect, [s. l.], 2010. Disponível em: https://totvsconnect.blogspot.com/2010/09/mpsbr-na-fabrica-de-software-bh-mais.html. Acesso em: 18 set. 2024.
PRNEWSWIRE-FIRSTCALL. Lockheed Martin Information Systems Achieves CMMI(R) Level 4 Assessment. Lockheed Martin, [s. l.], c2024. Disponível em: https://news.lockheedmartin.com/news-releases?item=126277. Acesso em: 18 set. 2024.
SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson, 2018.