Artigos Engenharia de Software MPS.BR níveis G e F com Scrum
MPS.BR níveis G e F com Scrum: Este artigo tem como finalidade identificar como empresas de pequeno e médio porte, que utilizem como metodologia de desenvolvimento de software o Scrum podem alcançar os níveis de maturidade G e F do MPS.BR. O objetivo do artigo é verificar a viabilidade de utilizar o Scrum como metodologia de gerenciamento de projetos, mapeando e adaptando as características do método ágil em relação ao modelo de maturidade de forma que os níveis de maturidade iniciais possam ser atingidos.
Em que situação o tema é útil: A discussão deste tema é útil para todos aqueles que trabalham com metodologias ágeis e modelos de maturidade e gostariam de entender como as duas abordagens podem ser trabalhadas em conjunto com objetivo de evoluir as práticas de desenvolvimento de software já estabelecidas na organização.
As empresas de desenvolvimento de software se encontram em um cenário de extrema competitividade. Além disso, é comum ter clientes com mais experiência e conhecimento na área de TI acarretando em novas exigências e projetos mais complexos. Por outro lado, o tempo para o desenvolvimento da solução a ser entregue está cada vez mais curto. Para lidar com isto, estas empresas têm adotado padrões e modelos que buscam apoiá-las a atender a essa demanda, padronizando o seu processo de desenvolvimento, diminuindo o seu retrabalho em novos projetos, aumentando a qualidade do seu produto final e lhe garantindo um diferencial competitivo no mercado de software.
Muitas empresas têm encontrado a solução para parte destes problemas nas metodologias ágeis que têm como ponto central a entrega de um produto pronto em um "curto" espaço de tempo. Para isso, as metodologias ágeis abdicam de uma série de processos, algumas vezes considerados burocráticos, mas que estão presentes em outras metodologias de desenvolvimento de software.
Por outro lado, também por necessidade de reconhecimento pelo mercado, as empresas que desejam expandir o seu negócio e, em alguns casos, garantir a sua permanência, necessitam de algo que lhe diferencie diante de seus concorrentes tanto na forma como desenvolve seu produto, como na qualidade final do mesmo e é exatamente nesse ponto que os modelos de maturidade têm se mostrado úteis.
Estes modelos seguem a premissa de níveis de maturidade onde cada nível em que uma empresa se encontra define como é estruturado o seu processo de desenvolvimento de software. Isto permite que os clientes, no momento de contratação de uma empresa, saibam em qual nível de maturidade ela está e se este condiz com a seus níveis de exigência. Além disso, se for analisado pela perspectiva das empresas, as que possuem um alto nível de maturidade poderão utilizar do nível em que se encontram como um diferencial.
Porém, uma das dificuldades encontradas pelas empresas não está em usar um determinado método ágil ou aderir a um modelo de maturidade, mas sim em conseguir utilizar as duas soluções ao mesmo tempo. O desafio é usufruir da praticidade e objetividade dos métodos ágeis para desenvolver software e padronizar e gerenciar o seu processo de desenvolvimento com os modelos de maturidade, aumentando as chances de atingir a qualidade final do produto satisfazendo as necessidades e expectativas dos cliente, em um tempo hábil.
Neste artigo foi utilizado como referência de modelo de maturidade o MPS.BR, focando apenas em atingir os níveis iniciais desse modelo, G e F, em virtude de que no Brasil a maioria das empresas de TI são de pequeno e médio porte e o custo de implantação deste modelo é relativamente mais barato que o modelo internacional CMMI. Como metodologia ágil foi considerado o Scrum que será utilizado como metodologia de gerenciamento de projetos. A escolha dessa metodologia foi feita em virtude dela possuir atividades de gerenciamento de projetos e ações de monitoramento que possibilitam identificar eventuais problemas que impeçam o seguimento do projeto. Estas duas características estão diretamente ligadas aos dois níveis iniciais do MPS.BR.
Como aplicação prática do resultado da análise que será realizada neste artigo, a empresa Advance Engenharia, que é uma empresa de construção civil, porém desenvolve um software que gerencia e administra as suas construções, utilizará deste estudo para adequar o seu processo atual de desenvolvimento de software ao modelo de maturidade. Em virtude das características da empresa e de seu processo, as áreas de processo do nível F Gerência de Aquisição e Gerência de Portfólio de Projeto, de acordo com a possibilidade que é dada no guia geral do MPS.BR, foram excluídas da análise.
O modelo MPS.BR (Melhoria de Processo de Software Brasileiro)
Possuindo um foco voltado para as empresas brasileiras de pequeno e médio porte, o MPS.BR foi desenvolvido em dezembro de 2003 pela Softex com o intuito de facilitar às empresas brasileiras atingirem uma padronização e melhoria no seu processo de produção de software com um custo menor do que o CMMI.
Semelhante ao CMMI, o modelo MPS.BR é baseado nos conceito de maturidade e capacidade de processo para a avaliação e melhoria da qualidade e produtividade de produtos de software e serviços. O MPS.BR é constituído de três componentes: o Modelo de Referência (MR-MPS), Método de Avaliação (MA-MPS) e Modelo de Negócios (MN-MPS), que são explicados através de guias que devem ser utilizados para implantação:
Guia Geral: possui uma visão geral do modelo tendo um detalhamento maior no Modelo de Referência e seus componentes;
Guia de Aquisição: descreve como deve ser realizado um processo de aquisição de software e serviços além de servir como auxílio às organizações que desejam adquirir softwares apoiando-se no MR-MPS;
Guia de Avaliação: define como deve ser o processo e o método de avaliação MA-MPS, voltado para as instituições avaliadoras e seus respectivos avaliadores líderes;
Guia de Implementação: divido em onze documentos que contêm as orientações sobre como implementar nas empresas os níveis de maturidade presentes no modelo.
Os níveis de maturidade definem qual o nível de evolução do processo dentro da organização, ou seja, o quão bem estruturado e padronizado está o processo de desenvolvimento de software da empresa. Possuindo um total de sete níveis de maturidade, no MPS.BR eles são caracterizados como letras onde em escala crescente são organizados da seguinte maneira: o 1º nível G (Parcialmente Gerenciado), o 2º nível F (Gerenciado), 3º nível E (Parcialmente Definido), 4º nível D (Largamente Definido), 5º nível C (Definido), 6º nível B (Gerenciado Quantitativamente) e por fim o 7º e último nível A (Em Otimização). Cada nível possui um conjunto de processos no qual a empresa deverá colocar seu esforço de melhoria e atender as exigências de cada um deles.