Como produzir software consumindo menos recursos, em menos tempo e com mais qualidade. - PowerPoint PPT Presentation

About This Presentation
Title:

Como produzir software consumindo menos recursos, em menos tempo e com mais qualidade.

Description:

Como produzir software consumindo menos recursos, em menos tempo e com mais qualidade. Reinaldo Cabral cabral_at_cos.ufrj.br Como? COMO? Melhoria de Processos de ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 26
Provided by: reinaldo
Category:

less

Transcript and Presenter's Notes

Title: Como produzir software consumindo menos recursos, em menos tempo e com mais qualidade.


1
Como produzir software consumindo menos recursos,
em menos tempo e com mais qualidade.
  • Reinaldo Cabral
  • cabral_at_cos.ufrj.br

2
Como?
Como?
COMO?
COMO?
  • COMO?

Como?
Como?
COMO?
Como?
É possível?
COMO?
Como?
COMO?
COMO?
Como?
Como?
COMO?
3
Melhoria de Processos de Software
  • Reinaldo Cabral
  • cabral_at_cos.ufrj.br

4
Objetivos de Aprendizagem
  • Ao final, todos devem estar aptos
  • Definir processos
  • Executar processos
  • Identificar oportunidades de melhorias
  • Identificar potenciais ações de melhoria
  • Testar ações de melhorias antes de
    institucionalizar as mudanças nos processos
  • Institucionalizar melhorias

5
O curso
  • PARTE I
  • Definição e Execução de Processos de Software
  • PARTE II
  • Execução e Melhoria de Processos de Software
  • PARTE III
  • Melhoria Radical em Processos de Software

6
Roteiro - Parte I
  • 1. Definição de Processos de Software
  • Notas Introdutórias
  • Conceitos gerais
  • Identificando objetivos e motivação
  • Uso de modelos e normas
  • Elicitação
  • Especificação
  • Verificação, Validação e Testes
  • Institucionalização
  • 2. Exercícios (Torneio 1ª etapa)
  • 3. Lições Aprendidas
  • 4. Fatores de Sucesso
  • 5. Referências
  • 6. Verificação do Alcance dos Objetivos de
    Aprendizagem

7
1. Definição de Processos de Software
  • Notas Introdutórias
  • O resultado da definição de um processo é uma
    descrição de um processo. (SEI, 2002)
  • Processo de software também é software.
    (Osterweil, 1997)
  • A criação de um modelo de processo ajuda a
    equipe de desenvolvimento a encontrar
    inconsistências, redundâncias e omissões no
    processo e em suas partes constituintes.
    (Pfleger, 2002)

8
1. Definição de Processos de Software
  • Conceitos gerais
  • Processo
  • Uma seqüência de passos executadas para um
    determinado propósito por exemplo, o processo de
    desenvolvimento de software. (IEEE, 1990)
  • Conjunto de recursos e atividades
    inter-relacionadas que transformam insumos
    (entradas) em produtos (saídas). (ISO, 1990)
  • Conjunto de atividades inter-relacionadas, que
    transformam entradas em saídas. (Pfleger, 2002)

Entradas
Saídas
Processo
9
1. Definição de Processos de Software
  • Conceitos Gerais
  • Atividade passo de um processo
  • Método descreve o que fazer para produzir um
    artefato em determinada atividade
  • Técnica descreve como fazer para que o artefato
    da atividade seja produzido e dotado de
    características específicas.
  • Artefato produto final do processo ou produto
    intermediário produzido ou consumido pelas
    atividades.
  • Fases, Macro-atividades, Subprocessos

10
1. Definição de Processos de Software
  • Identificando objetivos e motivação
  • Quais os objetivos organizacionais e necessidades
    do negócio?
  • Quais as estratégias?
  • Quais as áreas prioritárias?
  • Qual a situação atual?
  • Uso de Modelos e Normas
  • CMMI, MPS.BR, ...
  • ISO/IEC 12207, 15504, 90003, ...

11
  • MPS.BR

12
  • Níveis de Maturidade no MPS.BR

13
1. Definição de Processos de Software
  • Elicitação
  • Formalizar processo não definido
  • Conhecimento sobre processos não definidos,
    geralmente estão dispersos e são inconsistentes
  • Múltiplas visões do mesmo processo
  • Principais fontes
  • Análise dos artefatos produzidos
  • Observação do processo sendo executado
  • Entrevistas com os executores do processo

14
1. Definição de Processos de Software
  • Especificação

Atributos do Modelo de Processo Atributos da Atividade
Nome Versão Autoria Propósito Responsável Participantes Insumos do processo (Entradas) Critérios de entrada Produtos de trabalho (Saídas) Critérios de saída Lista de atividades e especificações Fluxo do processo Lições aprendidas Relacionamento com outros processos Métricas Procedimentos de monitoração e controle Nome Objetivo Responsável Participantes Descrição Técnicas/Métodos Insumos Critérios de Entrada Produtos Critérios de Saída Recursos
15
1. Definição de Processos de Software
  • Especificação
  • Modelos dos artefatos a serem gerados
  • Guia de apoio a execução (exemplo de uso)
  • Diretrizes para execução
  • Guia de adaptação do processo
  • Especificação das técnicas e métodos
    referenciados
  • Descrição dos papéis envolvidos

16
1. Definição de Processos de Software
  • Verificação, Validação e Testes
  • O processo está especificado conforme o padrão
    para especificação de processos da organização?
  • O processo produz os artefatos adequados de
    acordo com fim para o qual foi criado?
  • Há possibilidade de conter alguma informação que
    possa gerar dúvida ou má interpretação na
    descrição do processo e suas atividades?

17
1. Definição de Processos de Software
  • Verificação, Validação e Testes
  • Quanto mais cedo os problemas forem identificados
    menos onerosa será sua correção.
  • A incapacidade de compreender, executar,
    gerenciar ou mensurar o processo pode implicar em
    sérios prejuízos.
  • Abordagens
  • Grau de aderência a modelos de qualidade
  • Uso de checklists
  • Simulação dinâmica de processos
  • Verificação formal
  • Inspeção de processos
  • Execução de pilotos

18
1. Definição de Processos de Software
  • Institucionalização
  • Treinar as pessoas
  • Publicar os modelos de processo
  • Fornecer apoio ao uso
  • Problemas típicos na execução
  • Adequação
  • Aderência

19
2. Exercícios (Torneio 1ª etapa)
  • Definir processos

20
3. Lições Aprendidas
  • Definição
  • Por onde começaram?
  • O que foi mais fácil de fazer?
  • Dificuldades?
  • Sugestões?
  • Execução
  • Processo ajudou?
  • Dificuldades?
  • Sugestões?

21
4. Fatores de Sucesso
  • Na definição
  • Conhecimento do domínio
  • A corrente forma de trabalho como ponto de
    partida
  • Documentação e disseminação
  • Comprometimento da gerência
  • Verificação e validação

22
4. Fatores de Sucesso
  • Na gerência/execução
  • Gerência de mudanças
  • Sincronização entre processos
  • Envolvimento do usuário
  • Comprometimento da gerência.
  • Apoio à execução
  • Monitoramento constante

23
5.Referências
  • (Osterweil, 1997) Osterweil, L. Software Process
    Are Software Too, Proceedings in International
    Conference on Software Engineering, IEEE Computer
    Society Press, Setembro,1987
  • (SEI, 2002) Software Engineering Institute,
    Capability Maturity Model Integration (CMMI)
    Version 1.1 Staged Representation, Carnegie
    Mellon University, 2002.
  • (Pfleeger, 2004) Pfleeger, S. L., Engenharia de
    Software Teoria e Prática, 2ª ed., Prentice
    Hall, 2004.
  • (DiBasio, 1999) DiBasio, D, How to Define a
    Process, International Conference on Software
    Quality, Vol. 9, No. 0, p. 199-209, Outubro,
    1999.
  • (IEEE, 1990) IEEE, IEEE STD 610.12-1990,
    Standard Glossary of Software Engineering
    Terminology, 1990.
  • (ISO,1990) ISO, Quality Concepts and Terminology
    Part One Generic Terms and Definition, ISO
    8402, 1990.
  • (Madhavji, 1994) Madhavji, N. H., Höltje, D.,
    Hong, W., Bruckhaus, T., Elicit A Method for
    Eliciting Process Models. In D. E. Perry,
    editor, Proceedings of the Third International
    Conference on the Software Process, pages
    111122. IEEE Computer Society, Press, October
    1994.
  • (Berander e Wohlin, 2003) Berander, P., Wohlin,
    C., "Identification of Key Factors in Software
    Process Management - A Case Study", Proceedings
    of the 2003 International Symposium on Empirical
    Software Engineering (ISESE03)

24
6. Verificação do Alcance dos Objetivos de
Aprendizagem
  • Como definir processos de software?
  • Como executar processos?

25
Melhoria de Processos de Software
  • Reinaldo Cabral
  • cabral_at_cos.ufrj.br
Write a Comment
User Comments (0)
About PowerShow.com