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.