Antes de listarmos algumas metodologias de desenvolvimento de software é interessante conceituar o que significa este termo e suas divisões.

Conceitos

  • Metodologia:  é um conjunto de métodos, técnicas e ferramentas que determinam como um processo deve ser desempenhado.
  • Método é uma maneira sistemática de realizar uma tarefa
  • Técnica é uma maneira, não sistemática, de realizar uma tarefa.

Portanto, pode-se entender por metodologia a organização e orientação de como utilizar uma ou várias técnicas, empregando métodos bem definidos e, em alguns casos, definindo uma sequência de passos necessários a serem seguidos.

Porém, é bom entender que muitas metodologias de desenvolvimento descrevem os métodos e ferramentas que os compõem, mas o uso de cem por cento deles, na maioria dos casos, não é obrigatório, podendo a equipe de desenvolvimento empregar parte ou, até mesmo, realizar adaptações deles para a realidade ou necessidade da empresa ou projeto.



Metodologias de desenvolvimento de software

Os objetivos das metodologias de desenvolvimento de software são vários, vamos descrever dois como os principais:

Gestão de projetos de software

Auxiliar a gestão de projetos de software, definindo etapas e disciplinas a serem seguidas pelas equipes, permitindo que não somente as atividades de codificação, mas também as de gestão de pessoas, contratos, integração, recursos, tempo, etc., empreguem métodos bem definidos para seu controle e qualidade.

Qualidade do software

Garantir a qualidade final do produto, que é o aplicativo ou sistema desenvolvido de acordo com as necessidades do cliente, mas também dentro do prazo ideal/acordado, e utilizando os recursos necessários, sem desperdiçá-los, onerando assim o custo final ou de manutenção do software como um produto.

Referência de metodologias

Vamos listar nesta seção uma listagem contendo referências de material e web sites oficiais de metodologias consolidadas no mercado de construção de sistemas de computação. Algumas não são metodologias completas ou não são, necessariamente, focadas apenas no processo de desenvolvimento de software.

CMMI

O CMMI (Capability Maturity Model Integration – Modelo Integrado de Maturidade e de Capacidade) foi criado pelo SEI (Software Engineering Institute – Instituto de Engenharia de Software). Trata-se de um modelo com um enfoque voltado para a capacidade de maturidade de processos de software.

Leia mais em:

MPS.BR

O MPS.BR ou Melhoria de Processos do Software Brasileiro é um movimento para a melhoria da qualidade e um modelo de qualidade de processo. Tendo como público alvo pequenas e médias empresas de desenvolvimento de software no Brasil, ele é baseado nas normas ISO/IEC 12207 e ISO/IEC 15504 e compatível com o CMMI. O projeto tem apoio do Ministério da Ciência e Tecnologia, da FINEP e do Banco Interamericano de Desenvolvimento. Sendo suportado pela Softex, interagindo com as universidades e com o Governo Federal. Uma das principais vantagens do modelo é seu custo reduzido de certificação em relação as normas estrangeiras.

Leia mais em:

Processo Unificado (PU)

O Processo Unificado (PU) foi criado para o desenvolvimento de software visando a construção de sistemas orientados a objetos (o RUP – Rational Unified Process é um refinamento do PU). É um processo iterativo e adaptativo de desenvolvimento que possui uma maneira organizada e consistente de condução de projetos de desenvolvimento de software

Leia mais em:


eXtreme Programming – XP

Programação extrema (do inglês eXtreme Programming), XP, é uma metodologia ágil para equipes de desenvolvimento de software com requisitos vagos e em constante mudança. Trabalha com cinco valores fundamentais: comunicação, simplicidade, feedback, coragem e respeito. Com base nestes valores define como princípios básicos: feedback rápido, presumir simplicidade, mudanças incrementais, abraçar mudanças e trabalho de qualidade. Dentre as variáveis de controle em projetos (custo, tempo, qualidade e escopo), há um foco explícito em escopo; recomendando a priorização de funcionalidades que representem maior valor possível para o negócio, assim funcionalidades menos valiosas podem ser adiadas ou canceladas em mudanças de prazo ou até mesmo escopo.

Leia mais em:

SCRUM

O Scrum foi criado inicialmente para o gerenciamento de projetos em empresas de fabricação de automóveis e produtos de consumo, por Takeuchi e Nonaka. Nele implementaram a ideia de que projetos que empregam equipes pequenas e multidisciplinares produzem os melhores resultados. Jeff Sutherland, John Scumniotales e Jeff McKenna então conceberam, documentaram e implementaram o Scrum e em 1995 Ken Schwaber formalizou a definição de Scrum e ajudou a implantá-lo no desenvolvimento de softwares. Porém, teoricamente pode ser aplicado em qualquer contexto no qual um grupo de pessoas necessitem trabalhar juntas em um projeto.

Leia mais em:

ISO/IEC 12207

A ISO/IEC 12207 é a norma ISO/IEC que define processo de desenvolvimento de software. Tem como objetivo principal estabelecer uma estrutura comum para os processos de ciclo de vida e de desenvolvimento de softwares visando ajudar as organizações a compreenderem todos os componentes quando em processos de aquisição ou de fornecimento de software – implementação.

Leia mais em :

SPICE – ISO/IEC 15504

A ISO/IEC 15504, também conhecida como SPICE, é a norma internacional ISO/IEC que define processo de desenvolvimento de software. É uma evolução da ISO/IEC 12207,  possuindo níveis de capacidade para cada processo assim como o CMMI. Ela define um modelo de referência de processo e descreve um conjunto universal para a boa prática da engenharia de software. Com seis níveis de capacidade, para aplicação de métrica avaliativa e guia para melhoria.

Espero que esta lista de métodos e metodologias o auxilie a aprofundar e determinar qual a melhor organização de processos para o desenvolvimento de software de sua equipe.


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Complete a fórmula para verificação * Time limit is exhausted. Please reload CAPTCHA.

Pin It on Pinterest

Share This

Share This

Share this post with your friends!