Melhores Práticas em Desenvolvimento de Software

Classificado em Computação

Escrito em em português com um tamanho de 5,83 KB.

Organizacionais

  • Administração Geral

    • Gerências: Gerências da empresa - projetos, financeira, marketing e outros.
    • Infraestrutura: Rede, máquinas, espaço, banco de dados e outros.
    • Melhoria: Análise de processos, ferramentas e propostas de melhorias.
    • Treinamento ou RH: Foco no aperfeiçoamento contínuo dos colaboradores.
    • Gestão de Ativos: Patrimônio - visando reuso/lucro.
    • Programa de Reuso: Foco em refatoração e componentização de módulos de sistemas de modo a viabilizar o reuso entre módulos de projetos distintos no longo prazo.

Atividades Primárias

  • Aquisição (Proposta -> Análise): Capacidade de analisar as propostas dos terceiros.
  • Fornecimento (Proposta -> Elaboração): Competência para elaborar proposta.
  • Desenvolvimento: Desde levantamento de requisitos até análise, implantação.

ISO 15504 - 5 Dimensões de Processos

Dimensão de Processo - Categoria

  • CON (Consumidor e Fornecedor): Levantamento de requisitos, operação e uso do produto ou serviço provido.
  • ENG (Engenharia): Análise de requisitos, projeto da arquitetura, construção, integração e teste do produto.
  • SUP (Suporte): Revisões, auditorias e processos de solução de problemas.
  • MAN (Administração): Gerências, inclusive de projetos.
  • ORG (Organização): Infraestrutura, RH e treinamentos.

Dimensão de Capacidade do Processo (Categoria)

  • Nível 1 - Incompleto: Caos.
  • Nível 2 - Executado: Cronograma/Custos/Escopo 100%.
  • Nível 3 - Estabelecido: Totalmente gerenciado para todos os projetos da empresa.
  • Nível 4 - Previsível: Uso de métricas e estatísticas para avaliar os projetos.
  • Nível 5 - Otimizado: Melhoria contínua por inovação tecnológica ou dos processos.

MPS.BR - Níveis de Maturidade, Categorias e Atividades

Níveis de Maturidade (A-G)

  • A - Otimização: Inovação e tecnologias e de processos.
  • B - Gerenciado Quantitativamente: Métricas e estatísticas.
  • C - Definido: Adota processo de desenvolvimento usado pela empresa para todos os projetos, 100%.
  • D - Largamente Definido: Adota parcialmente o processo de desenvolvimento da empresa, >=70%.
  • E - Parcialmente Definido: Adota bem pouco do processo de desenvolvimento da empresa, >=30%.
  • F - Gerenciado: Controla cronograma, custos e escopo do projeto, 100%.
  • G - Parcialmente Gerenciado: Controla parcialmente o cronograma, custos e escopo do projeto, <100%.

Categorias de Processos

  • Processos Fundamentais (Construção do Software): Aquisição, Gerência de Requisitos, Desenvolvimento de Requisitos, Solução Técnica, Integração do Produto, Instalação do Produto, Liberação do Produto.
  • Processos Organizacionais: Gerência de Projeto, Adaptação do Processo para Gerência do Projeto, Análise de Riscos, Avaliação e Melhoria do Processo Organizacional, Definição do Processo Organizacional, Desempenho do Processo Organizacional, Gerência Quantitativa do Projeto, Análise e Resolução de Causas, Inovação e Implantação na Organização.
  • Processos de Apoio (Testes, Auditoria e Release): Gerência da Qualidade, Gerência de Configuração, Validação, Medição, Verificação e Treinamento.

Exemplos de Atividades de Processos Organizacionais

  • Gerência de Riscos: Análise de riscos e plano B.
  • Gerência Quantitativa de Projeto.
  • Análise e Resolução de Causas: Critérios para avaliar ferramentas novas e as causas de rejeição ou aceitação.

IRUP - Fases, Princípios e Melhores Práticas

Fases do Processo

  • Concepção: Ênfase no escopo do sistema, conjunto de funcionalidades que deverão ser providas pelo software, culminando na elaboração dos casos de uso e seus detalhamentos iniciais com prototipação (telas/páginas/relatórios).
  • Elaboração: Ênfase na arquitetura do sistema, complementação e refinamento dos casos de uso e elaboração dos demais diagramas da UML (estruturais e comportamentais) que complementem e completem a modelagem do sistema.
  • Construção: Ênfase na construção física do sistema, isto é, na implementação do software na linguagem de programação escolhida mediante o uso de uma IDE mais adequada.
  • Transição: Ênfase na implantação do software.

Princípios e Melhores Práticas

  • Desenvolvimento Iterativo: A partir da fase de elaboração, o IRUP admite várias iterações para possibilitar a construção incremental do sistema.
  • Gerenciamento de Requisitos: Garantir a rastreabilidade entre as implementações e os requisitos do software, incluindo sua modelagem.
  • Uso de Arquitetura Baseada em Componentes: Mediante a refatoração, possibilitar o reuso de componentes de software dentro de um mesmo projeto ou entre projetos diferentes.
  • Modelagem Visual de Software: Uso intensivo dos diagramas da UML da concepção inicial ao desenvolvimento.

Entradas relacionadas: