IGTI Blog

Por que conhecer um modelo de Maturidade de Processos de Software?

Se você trabalha direta ou indiretamente com desenvolvimento de software é interessante que você conheça um modelo de maturidade de processos de desenvolvimento de software.

Ao contrário do que muitos pensam, desenvolver software não é apenas programar. Há diversas outras atividades de grande importância, que precisam ser bem executadas para que o produto final tenha qualidade e alcance as expectativas de quem o contratou. Essas atividades compõem a Engenharia de Software.

A Engenharia de Software é dividida em várias áreas de conhecimento igualmente importantes para entregar um produto de software de qualidade. A principal referência na Engenharia de Software é o SWEBOK (Software Engineering Body of Knowledge), que divide a Engenharia de Software em 10 áreas de conhecimento:

  1. Requisitos de Software
  2. Projeto de Software
  3. Construção de Software
  4. Teste de Software
  5. Manutenção de Software
  6. Gerência de Configuração de Software
  7. Gerência da Engenharia de Software
  8. Processos de Engenharia de Software
  9. Ferramentas e Métodos da Engenharia de Software
  10. Qualidade de Software

Num cenário ideal, uma empresa desenvolvedora de software deve entender muito bem sobre cada uma dessas áreas de conhecimento e ser capaz de executar com primor as atividades relativas a elas. Porém, sabemos que não é sempre assim na prática, pois pode ser muito difícil para uma empresa ter especialistas em todas essas áreas de conhecimento, afinal, são profissionais caros.

É aí que entram em cena os modelos de maturidade. Mesmo sem especialistas, as empresas e os profissionais desenvolvedores de software não devem negligenciar as atividades da Engenharia de Software se quiserem produzir software de qualidade.

Modelos de maturidade são uma boa referência sobre o que é consolidado em relação às atividades que envolvem desenvolvimento de software. Dessa forma, mesmo que uma empresa não tenha especialistas em todas as áreas, ela pode recorrer a um modelo de maturidade para conhecer as melhores práticas para cada uma das áreas essenciais da Engenharia de Software. Lá poderão ser encontrados os principais resultados esperados da execução de um determinado processo, sendo possível contrastar o que está no modelo, com o que é executado na prática e, assim, descobrir os pontos de melhoria. Essa é uma forma de usar o modelo como fonte de conhecimento para os processos que a empresa ainda não sabe executar bem.

O principal modelo de maturidade para o mercado brasileiro é o MPS.Br, criado com o objetivo de ser mais barato de se implementar do que os modelos internacionais. Os guias do MPS.Br podem ser encontrados neste link.

Até mesmo uma empresa que já possui especialistas pode recorrer aos modelos de maturidade para aprimorar seus processos ou para tirar uma certificação, se for interessante para o seu mercado. Uma certificação vai demonstrar que aquela empresa executa todos os processos exigidos e produz os resultados esperados de cada processo de acordo com o modelo de maturidade em questão.

A carreira do Engenheiro de Software é generalista, já que envolve conhecer um pouco de cada área da Engenharia de Software. Nessa carreira conhecer um modelo de maturidade é importante, pois ele apresenta questões práticas da execução dos processos de desenvolvimento. Mesmo que uma empresa ou projeto decida não executar todos os processos ou práticas, é importante que essa decisão seja tomada de maneira estratégica. O conhecimento dos processos de um modelo de maturidade pode ajudar nessa decisão.

Portanto, se você trabalha direta ou indiretamente com desenvolvimento de software é interessante que você conheça um modelo de maturidade de processos de desenvolvimento de software. Isso pode te ajudar a perceber as principais falhas na sua organização e a propor melhorias para alcançar melhores resultados.

Professor autor: Augusto Campos Farnese