O que um processo processo uma seqncia de

  • Slides: 48
Download presentation
O que é um processo? • processo - uma seqüência de passos realizados para

O que é um processo? • processo - uma seqüência de passos realizados para um determinado propósito. (IEEE) • processo de software - um conjunto de atividades, métodos, práticas e tecnologias que as pessoas utilizam para desenvolver e manter software e produtos relacionados. (CMM)

Definição de Processo de Software Procedimentos e métodos que definem o relacionamento de tarefas.

Definição de Processo de Software Procedimentos e métodos que definem o relacionamento de tarefas. B A D C PROCESSO Pessoas com habilidades, treinamento e motivação Ferramentas e Equipamentos

Normas e Modelos de Processo • NBR ISO/IEC 12207 • CMM • SPICE –

Normas e Modelos de Processo • NBR ISO/IEC 12207 • CMM • SPICE – ISO/IEC 15504

NBR ISO/IEC 12207 Processos de ciclo de vida de software Processos Fundamentais Processos de

NBR ISO/IEC 12207 Processos de ciclo de vida de software Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Verificação Validação Desenvolvimento Revisão Manutenção Auditoria Resolução de Problemas Processos Organizacionais Gerência Infra-estrutura Melhoria Treinamento Adaptação Operação

Visão Funcional da Norma Processos Fundamentais Processo de Aquisição Processo de Fornecimento Processo de

Visão Funcional da Norma Processos Fundamentais Processo de Aquisição Processo de Fornecimento Processo de Operação Processo de Manutenção Processos de Apoio • Documentação • Gerência de configuração • Garantia de qualidade • Verificação Processo de Desenvolvimento Visão do Contrato Visão Operacional Visão de Engenharia • Validação • Revisão • Auditoria • Resolução de problemas Processos Organizacionais • Gerência • Infra-estrutura • Melhoria • Treinamento Visão de Suporte Adquirente, fornecedor Operador, usuário Desenvolvedor, Mantenedor Pessoa que emprega processos de suporte

A Norma não especifica • • • Detalhes de implementação; Detalhes de documentação; Modelo

A Norma não especifica • • • Detalhes de implementação; Detalhes de documentação; Modelo de ciclo de vida de desenvolvimento; Método de desenvolvimento de software; e Não se aplica a “software de prateleira”; Não é certificadora.

Trabalhos da ISO/IEC SC 7 em relação a Processos • Série 12207 – ISO/IEC

Trabalhos da ISO/IEC SC 7 em relação a Processos • Série 12207 – ISO/IEC 12207: Visão Geral; – ISO/IEC 14764. : Processo de Manutenção – TR 15846 : Gerência de Configuração – ISO/IEC 15288 - Processos de Ciclo de Vida de Sistemas • Norma 15504 - Avaliação e Capacitação de Processos de Software

Premissa para gerenciamento do Processo de Software • A qualidade de um sistema de

Premissa para gerenciamento do Processo de Software • A qualidade de um sistema de software é altamente influenciada pela qualidade do processo utilizado no seu desenvolvimento e manutenção. • Essa premissa implica no foco tanto no processo quanto no produto.

Um Processo imaturo • Ad hoc; processo improvisado por profissionais e gerências. • Não

Um Processo imaturo • Ad hoc; processo improvisado por profissionais e gerências. • Não é rigorosamente seguido e o cumprimento não é controlado. • Altamente dependente dos profissionais atuais. • Baixa visão do progresso e da qualidade. • A funcionalidade e a qualidade do produto podem ficar comprometidas para que prazos sejam cumpridos. • Arriscado do ponto de vista do uso de nova tecnologia. • Custos de manutenção excessivos. • Qualidade difícil de se prever.

Um Processo maduro • Coerente com as linhas de ação, o trabalho é efetivamente

Um Processo maduro • Coerente com as linhas de ação, o trabalho é efetivamente concluído. • Definido, documentado e melhorando constantemente: – compreendido – utilizado – vivo e ativo • Com o apoio visível da alta administração e outras gerências. • Bem controlado - fidelidade ao processo é objeto de auditoria e de controle. • São utilizadas medições do produto e do processo. • Uso disciplinado da tecnologia.

Quais são os benefícios de um processo maduro ? • Cerca de 85% dos

Quais são os benefícios de um processo maduro ? • Cerca de 85% dos problemas são causados pelo sistema, não pelas pessoas. • As pessoas desenvolvem mais suas potencialidades e são mais eficientes dentro da organização. • Através da definição, medição e controle do processo, melhorias têm mais sucesso e são mantidas ao longo do tempo. • Há uma crescente introdução bem sucedida de tecnologias, técnicas e ferramentas.

Processo institucionalizado • Construindo uma infra-estrutura que possui processos eficazes, utilizáveis e consistentemente aplicados

Processo institucionalizado • Construindo uma infra-estrutura que possui processos eficazes, utilizáveis e consistentemente aplicados em toda organização. • A cultura organizacional deve transmitir o processo. • A alta administração deve cuidar da educação cultural. • Se ninguém se importa, todos se esquecem. • Cultura é transmitida com modelos na vida real e recompensas. • Processos institucionalizados permanecem, mesmo depois que as pessoas que originalmente os definiram, deixam a organização.

O que é uma Organização ? 1. Empresa ou uma unidade dentro de uma

O que é uma Organização ? 1. Empresa ou uma unidade dentro de uma empresa na qual projetos são gerenciados como um todo. – uma agência governamental – a divisão de uma grande empresa – uma seção de um serviço • Todos os projetos dentro de uma organização partilham um gerente de alto nível e política comuns.

Análise Organizacional Qual é a organização que está sendo apreciada ou aperfeiçoada ? Aspectos

Análise Organizacional Qual é a organização que está sendo apreciada ou aperfeiçoada ? Aspectos que devem ser levados em conta ao se determinar o foco: – levantamento de recursos financeiros – comprometimento – revisão e supervisão – estrutura organizacional

Gerenciamento da qualidade total • Gerenciamento da Qualidade Total (TQM) é a aplicação de

Gerenciamento da qualidade total • Gerenciamento da Qualidade Total (TQM) é a aplicação de métodos quantitativos e recursos humanos para melhorar: - o material e serviços fornecidos por uma organização - todos os processos dentro de uma organização - o nível de atendimento das necessidades do cliente , no presente e no futuro

Organizações são sistemas complexos Sistema Organizacional Subsistema Estratégico Inputs: Recursos Humanos, Financeiros, Tecnológicos, e

Organizações são sistemas complexos Sistema Organizacional Subsistema Estratégico Inputs: Recursos Humanos, Financeiros, Tecnológicos, e Materiais. Subsistema Tecnológico Subsistema Gerencial Subsistema Humano/Cultural Subsistema Estrutural Fluxo de entrada/saída de materiais, energia e informações. Outputs: Produtos e Serviços

Pontos Comuns no Movimento da Qualidade • Melhoria tem o seu foco em ajustar

Pontos Comuns no Movimento da Qualidade • Melhoria tem o seu foco em ajustar o processo e não em culpar as pessoas. • Melhoria deve ser medida e ter sua implementação periodicamente controlada. • Melhoria requer constância de investimentos, recompensas e incentivos. • Melhoria é um processo contínuo. • Se o nível de desconforto não é suficientemente alto, as coisas não mudarão.

Aplicando TQM ao Software Organização Projeto A Projeto X Projeto B Projeto C TQM

Aplicando TQM ao Software Organização Projeto A Projeto X Projeto B Projeto C TQM hardware software CMM • • O O processo dede melhoria sese aplica emem todo o contexto processo melhoria aplica todo o o CMM se aplica docontexto negócio do - o negócio CMM se- aplica especificamente ao software.

Quais são os benefícios de uma melhoria baseada em um modelo? 1. Estabelece uma

Quais são os benefícios de uma melhoria baseada em um modelo? 1. Estabelece uma linguagem comum. 2. Constrói uma visão compartilhada. 3. Constrói um conjunto de processos e procedimentos desenvolvidos com sugestões de uma ampla participação da comunidade de software. 4. Oferece uma estrutura para se priorizar as ações. 5. Provê uma estrutura para se realizar avaliações confiáveis e consistentes. 6. Auxilia comparações em diversas indústrias.

Quais são os riscos de uma melhoria baseada em um modelo? • Modelos são

Quais são os riscos de uma melhoria baseada em um modelo? • Modelos são simplificações do mundo real. • Modelos não suficientemente abrangentes. • Interpretação e adaptação à situações particulares devem estar ajustadas aos objetivos do negócio. • É necessário bom senso para se utilizar modelos corretamente e com visão.

Maturidade do Processo de Software - Resumo • O CMM aplica os princípios do

Maturidade do Processo de Software - Resumo • O CMM aplica os princípios do TQM ao software. • O CMM é um modelo e portanto, uma simplificação do mundo real

A Comunidade CMM • O CMM oferece um modelo público, com base em princípios,

A Comunidade CMM • O CMM oferece um modelo público, com base em princípios, para avaliação da capacidade no desenvolvimento de software. • O CMM é propriedade da comunidade de software nacional (EUA), e está sendo aceito em outros países. • O SEI atua como administrador do CMM: – evoluindo o CMM a partir de experiências da indústria – realizando pesquisas empíricas – desenvolvendo métodos de melhoria baseados no CMM

O que é o Capability Maturity Model - CMM • Uma aplicação criteriosa de

O que é o Capability Maturity Model - CMM • Uma aplicação criteriosa de conceitos de gerenciamento de processos e de melhoria da qualidade ao desenvolvimento e manutenção de software. • Um guia de propriedade da comunidade. • Um modelo para melhoria organizacional. • A estrutura básica para métodos confiáveis e coerentes de avaliação.

“M” é para modelo Modelos são visões simplificadas do mundo real. O MUNDO REAL

“M” é para modelo Modelos são visões simplificadas do mundo real. O MUNDO REAL Engenharia de Sistemas Cultura da Organização ML Questões de pessoal CMM para software KPA KP Tecnologia Marketing Descrição de processo, modelos e instruções estão abaixo do nível de detalhe do CMM.

O que o CMM não cobre • O CMM não aborda todos os processos

O que o CMM não cobre • O CMM não aborda todos os processos de software e todas as questões ligadas à qualidade. • Questões que são abordadas indiretamente ou por conseqüência, incluem: – – – ferramentas específicas, métodos e tecnologias engenharia concorrente e trabalho em equipe engenharia de sistemas, marketing, etc. . . recursos humanos comportamento organizacional

Motivação para o CMM Comunicar a visão de: • o que significa modelo de

Motivação para o CMM Comunicar a visão de: • o que significa modelo de maturidade • como ele resulta em melhoria da qualidade • como ele faz a relação entre maturidade de processo e competência (capacitação) Fornecer um fundamento para: • dar suporte à avaliações baseadas no CMM • testar e aperfeiçoar o modelo de maturidade

Capacidade versus Desempenho Capacidade de processo - conjunto de resultados esperados que podem ser

Capacidade versus Desempenho Capacidade de processo - conjunto de resultados esperados que podem ser alcançados seguindo-se um processo, inicialmente estabelecido a nível organizacional. Um instrumento para previsão de resultados de projetos futuros. Desempenho de processo - uma medida de resultados reais alcançados ao se seguir um processo. Está relacionado com um projeto em particular na organização.

Os Níveis de Maturidade Otimização (5) Foco na melhoria contínua do processo Gerenciado (4)

Os Níveis de Maturidade Otimização (5) Foco na melhoria contínua do processo Gerenciado (4) Processo medido e controlado Definido (3) Processo é caracterizado e claramente bem entendido Repetível (2) Pode repetir tarefas executadas com sucesso Inicial (1) Pobremente controlado e imprevisível

Evolução do processo Nível 5 Gerenciado 4 Otimização 3 Definido 2 Inicial 1 Repetível

Evolução do processo Nível 5 Gerenciado 4 Otimização 3 Definido 2 Inicial 1 Repetível Características do processo Melhoria do processo é institucionalizada. Produto e processo são controlados quantitativamente. Engenharia de software e gerenciamento de processos definidos e integrados. Sistema de gerenciamento de projetos em vigor; desempenho é repetido. Processo é informal e imprevisível.

Compreendendo o Nível Inicial 1. Desempenho basicamente em função da competência e heroísmo das

Compreendendo o Nível Inicial 1. Desempenho basicamente em função da competência e heroísmo das pessoas que fazem o trabalho. 2. Alta qualidade e desempenho excepcional possíveis contanto que as melhores pessoas possam ser contratadas no mercado 3. Imprevisível - tanto para o positivo quanto para o negativo. 4. Os maiores problemas com os quais se defrontam as organizações de software são gerenciais e não técnicos.

Gerenciamento de software é uma Caixa Preta In Out • Requisitos fluem para dentro.

Gerenciamento de software é uma Caixa Preta In Out • Requisitos fluem para dentro. • Um produto de software é (normalmente) produzido através de algum processo disforme. • O produto flui para fora e (espera-se) funciona.

Áreas-chave de processo (KPA) Nível Inicial (1) Não possui KPA

Áreas-chave de processo (KPA) Nível Inicial (1) Não possui KPA

Compreendendo o Nível Repetível • A necessidade predominante é estabelecer um gerenciamento eficaz de

Compreendendo o Nível Repetível • A necessidade predominante é estabelecer um gerenciamento eficaz de projeto de software. • Processos de gerenciamento de software são documentados e acompanhados. • Políticas organizacionais orientam os projetos estabelecendo processos de gerenciamento. • Práticas bem sucedidas desenvolvidas em projetos anteriores podem ser repetidas.

Sistema de gerenciamento de projeto em vigor In Out Processo de construção de software

Sistema de gerenciamento de projeto em vigor In Out Processo de construção de software é uma série de caixas pretas com pontos de verificação definidos.

Áreas-chave de processo (KPA) Nível Repetível (2) Gerenciamento da Configuração de Software Garantia da

Áreas-chave de processo (KPA) Nível Repetível (2) Gerenciamento da Configuração de Software Garantia da Qualidade de Software Gerenciamento de Subcontrato de Software Acompanhamento de Projeto de Software Planejamento de Projeto de Software Gerenciamento de Requisitos

Compreendendo o Nível Definido 1. É construído sobre o fundamento do gerenciamento de projeto

Compreendendo o Nível Definido 1. É construído sobre o fundamento do gerenciamento de projeto de software. 1. Para se controlar um processo, deve-se defini-lo, documentá-lo e compreendê-lo. 1. As saídas de uma atividade fluem naturalmente para as entradas da próxima atividade. 1. Construir processos que dêem poderes as pessoas para realizarem o trabalho.

Gerenciamento de acordo com um processo bem definido. In Out Funções e responsabilidades no

Gerenciamento de acordo com um processo bem definido. In Out Funções e responsabilidades no processo são bem entendidas. A produção do produto de software é visível através do processo de software.

Áreas-chave de processo (KPA) Nível Definido (3) Revisões (peer review) Coordenação de Intergrupos Engenharia

Áreas-chave de processo (KPA) Nível Definido (3) Revisões (peer review) Coordenação de Intergrupos Engenharia de Produto de Software Gerenciamento de Software Integrado Programa de Treinamento Definição do Processo da Organização Foco no Processo da Organização

Compreendendo o Nível Gerenciado • Aplica os princípios de controle estatístico de processo. •

Compreendendo o Nível Gerenciado • Aplica os princípios de controle estatístico de processo. • Aponta causas especiais da variação do processo • Identifica o problema no processo • Gráfico de controle com causas especiais

Produto e processo são gerenciados quantitativamente In Out • A Gerência tem bases objetivas

Produto e processo são gerenciados quantitativamente In Out • A Gerência tem bases objetivas para tomada de decisão. • A gerência é capaz de prever o desempenho dentro de limites quantificados.

Áreas-chave de processo (KPA) Nível Gerenciado (4) Gerenciamento da Qualidade de Software Gerenciamento Quantitativo

Áreas-chave de processo (KPA) Nível Gerenciado (4) Gerenciamento da Qualidade de Software Gerenciamento Quantitativo do Processo

Compreendendo o Nível de Otimização Identifica e elimina causas crônicas da baixa performance. Planejamento

Compreendendo o Nível de Otimização Identifica e elimina causas crônicas da baixa performance. Planejamento da qualidade Gráfico de controle com causas comuns Zona original de controle da qualidade perda crônica Nova Zona de controle da qualidade Melhoria contínua do processo de software.

Foco na melhoria contínua do processo In Out Mudança disciplinada é um meio de

Foco na melhoria contínua do processo In Out Mudança disciplinada é um meio de vida.

Áreas-chave de processo(KPA)- Nível de Otimizacão Otimização (5) Gerenciamento da Mudança no Processo Gerenciamento

Áreas-chave de processo(KPA)- Nível de Otimizacão Otimização (5) Gerenciamento da Mudança no Processo Gerenciamento da Mudança Tecnológica Prevenção de Defeito

Estrutura do CMM Componentes do CMM • Níveis de maturidade (Maturity levels - ML)

Estrutura do CMM Componentes do CMM • Níveis de maturidade (Maturity levels - ML) • Áreas-chave de processo (Key process areas - KPA) • Características comuns (Common features) • Práticas-chave (Key practices)

Estrutura do CMM A Estrutura do CMM capacidade do processo indica Níveis de Maturidade

Estrutura do CMM A Estrutura do CMM capacidade do processo indica Níveis de Maturidade contém realiza Áreas-chave de processo meta s organizado por endereça Características comuns implementação ou institucionalização contém descreve infra-estrutura ou atividades Práticas-chave

Visão Geral do CMM - Resumo 1. O CMM tem o seu foco nas

Visão Geral do CMM - Resumo 1. O CMM tem o seu foco nas questões de gerenciamento de software. 2. A visibilidade no processo depende da maturidade do processo. 3. O CMM é um modelo de cinco níveis e os níveis são por sua vez subdivididos em áreas -chave de processo. 4. Cada nível é construído em cima da capacidade do nível precedente.

Modelo SPICE (Software Process Improvement and Capability d. Etermination) - ISO 15504 • Definir

Modelo SPICE (Software Process Improvement and Capability d. Etermination) - ISO 15504 • Definir processo de avaliação de sw para ajustar expectativas de contratação de sw e serviços • Objetivos: – Determinar a capacidade de um fornecedor – Auxiliar na melhoria do processo de sw – Instrumento de auto-avaliação • 5 dimensões de processo x diversas operações: – – – Fornecimento a clientes Engenharia Suporte Gestão Organização