Processo de Implantação de Gestão de Qualidade de Software em Empresas Nacionais: O Estudo de Caso do Tribunal de Contas da

Tamanho: px
Começar a partir da página:

Download "Processo de Implantação de Gestão de Qualidade de Software em Empresas Nacionais: O Estudo de Caso do Tribunal de Contas da"

Transcrição

1 Universidade Católica de Brasília UCB Mestrado em Informática Qualidade de Software Processo de Implantação de Gestão de Qualidade de Software em Empresas Nacionais: O Estudo de Caso do Tribunal de Contas da União Tomás Roberto Cotta Orlandi Processo de Implantação de Gestão de Qualidade de Software em Empresas Nacionais: O Estudo de Caso do Tribunal de Contas da União Tomás Roberto Cotta Orlandi Resumo A proposta deste trabalho é demonstrar a viabilidade da implantação de um processo contínuo de avaliação de qualidade de software em empresas brasileiras, apresentando a abordagem GQM Goal, Question, Metric, situando-a no contexto de outras abordagens de avaliação e qualidade de software, que atende não só as expectativas em relação à uma melhora de qualidade dos produtos, mas também a um incremento na produtividade das equipes de trabalho. Palavras-chave abordagem GQM, CMM, Fábrica de Experiência, ISO, QIP, Qualidade de software, SPICE. Orientador Prof. Dr. Walcélio L. Melo Abstract The objective of this article is to show the viability of introducing a continuos evaluation process of software quality in Brazilian s companies, presenting the GQM Goal, Question, Metric approach, comparing it with others software s quality approaches, attending the wishes of a better software product s quality and best productivity of the team working. Keywords CMM, Experience Factory, GQM Approach, ISO, QIP, Software Quality, SPICE Brasília (DF), dezembro de

2 I. Introdução Objetivos Gerais : O presente trabalho tem por objetivo apresentar um exemplo da abordagem GQM Goal, Question, Metric, situando-a no contexto de outras abordagens de avaliação e qualidade de software como ISO,CMM, SPICE e QIP. A implantação da abordagem GQM em empresa nacional, será mostrada através da utilização de um processo padronizado de desenvolvimento, conversão e manutenção de software. A proposta é demonstrar a viabilidade da implantação de um processo contínuo de avaliação de software nas empresas nacionais, que atenda não só as expectativas em relação à uma melhora de qualidade dos produtos, mas também a um incremento na produtividade das equipes de trabalho, incorporando naturalmente a cultura de produzir software com testes, inspeções e medições de resultados. Será também demonstrada a viabilidade da manutenção de um programa permanente de qualidade de software, através do treinamento, implantação e aplicação da abordagem GQM, visando uma melhora contínua na qualidade e na produtividade de sistemas. Como produto final são gerados modelos quantitativos, baseados em dados captados, que viabilizam uma análise da qualidade dos software produzidos, possibilitando uma comparação qualitativa do processo de desenvolvimento de sistemas com organizações externas. Em decorrência da implantação dessa abordagem, demonstra-se a implementação e a manutenção de uma estrutura, separada logicamente do desenvolvimento de software, a Fábrica de Experiências. A Fábrica de Experiências (Experience Factory)[1] tem por objetivo armazenar as experiências dos projetos desenvolvidos, em termos de soluções e implementações adotadas, para que as equipes possam fazer reuso posterior das soluções e dos códigos já desenvolvidos. As soluções empacotadas na Fábrica de Experiências poderão ser utilizadas também por organizações semelhantes à estudada, ou seja, empresa nacional pública ou privada. Objetivos Específicos: Apresentar claramente a abordagem GQM e sua forma de aplicação; Situar a abordagem GQM no contexto geral da qualidade de software; Mostrar a viabilidade da implantação da abordagem GQM em empresas nacionais (utilizando o estudo de caso do Tribunal de Contas do Distrito Federal TCDF); Apresentar uma forma das equipes de trabalho incorporarem naturalmente, no desenvolvimento e manutenção de software, as atividades de testes, inspeções e medições de resultados; Mostrar o conceito e a forma de implementação da Fábrica de Experiências. II. Caracterização dos Produtos e dos Processos Este capítulo visa apresentar os modelos de qualidade de software mais aplicados em empresas ou setores, produtores de software, que de algum modo se preocupam em implementar e manter procedimentos de avaliação e medição, visando uma melhora na qualidade e produtividade dos projetos e sistemas desenvolvidos pela empresa. O Modelo ISO de Qualidade A norma ISO/IEC objetiva auxiliar organizações na definição de seus processos de software oferecendo uma guia para definição das atividades e tarefas a serem desempenhadas durante as principais etapas que envolvem a construção de um produto de software. A norma agrupa processos de software em três grandes classes processos fundamentais, processos de apoio e processos organizacionais. A categoria de processos fundamentais compreende os processos que executam as principais funções relacionadas ao ciclo de vida de software. Processos de apoio servem como auxiliares ao processo fundamental de construção, contribuindo para o sucesso e a qualidade do produto gerado. Processos organizacionais são responsáveis pelo acompanhamento do desenvolvimento, compreendendo processos para gerência, melhoria da qualidade, infra-estrutura e treinamento. Cada processo inserido nestas classes está dividido em um conjunto de atividades que, por sua vez, se dividem em um conjunto de tarefas para sua realização. Contudo, a norma não especifica detalhes de como implementar ou executar estas tarefas e atividades. Este é um dos motivos pelo qual o presente trabalho não abordará o modelo ISO de qualidade pois, no contexto de empresas nacionais em questão, necessitamos especificar os detalhes de como implementar processos de qualidade de software nas organizações. O Modelo SPICE (ISO/IEC 15504) de Qualidade A iniciativa de se estabelecer um padrão internacional para melhoria de processos de software levou a ISO/IEC a aprovar em 1993 um novo grupo de trabalho, denominado WG10, a partir do qual se organizou o projeto SPICE (Software Process Improvement and Capability determination) (ISO/IEC , 1996) [5]. Analogamente ao CMM, o objetivo principal do SPICE é a elaboração de um padrão ou infra-estrutura (framework) para avaliação de processos de software e para a determinação de sua capacitação - ISO/IEC

3 A futura norma ISO/IEC define processos e práticas que podem ser implementados para estabelecer e aprimorar a capacidade de aquisição, desenvolvimento, manutenção, operação e suporte de software em organizações. Estas práticas são organizadas utilizando-se uma arquitetura que combina duas perspectivas: uma perspectiva funcional (análoga à perspectiva da norma ISO/IEC 12207), compreendendo quais os processos que devem existir numa organização e uma outra perspectiva que avalia o nível de capacitação de cada um destes processos (análoga ao CMM). O uso da norma permite que as organizações possam perceber a existência ou não de processos específicos, bem como a capacitação dos que existem, traçando caminhos para a melhoria. O Modelo CMM O Capability Maturity Model (CMM) para Software, compilado pelo Software Engineering Institute SEI da Carnegie Mellon University (EUA), pode ser entendido como um modelo para avaliação do grau de maturidade das organizações quanto à capacidade produtiva de software. [13] O CMM representa uma proposição de recomendações para empresas, cujo negócio seja a produção de software, que pretendam incrementar a capacidade (ou qualidade) do processo de desenvolvimento de sistemas. O modelo apresentado pelo CMM não se preocupa em como a organização implementa, mas, antes, busca descrever o quê se espera do processo produtivo de software. O modelo CMM foi utilizado neste trabalho como caminho a ser seguido para nortear as ações de implementação de um modelo de qualidade de software em organizações brasileiras, pois, trata-se de um modelo consagrado e utilizado mundialmente por organizações produtoras de software. O CMM classifica as organizações produtoras de software em cinco grupos (ou níveis) de maturidade, identificando, para cada grupo, as áreas chave do processo de desenvolvimento de sistemas que devem ser observadas na busca da melhoria da capacidade produtiva. Cada área chave possui objetivos que precisam ser alcançados para que a organização seja considerada como tendo atingido determinado nível. Os cinco níveis de maturidade propostos pelo CMM, em grau crescente, são: inicial; repetitivo; definido; gerenciado; e otimizado.[13] Nível 1 - Inicial Nesse nível, o processo de produção de software é efetuado de maneira empírica e ocasionalmente, até mesmo, de forma caótica. Poucos processos são definidos e o sucesso dos projetos depende de esforços individuais e atitudes heróicas dos desenvolvedores. Uma característica das organizações classificadas nesse nível é o comprometimento além da capacidade. A dificuldade da organização em cumprir os compromissos estabelecidos é acompanhada pela sobrecarga do corpo técnico, que fica impossibilitado de seguir as práticas recomendadas para a engenharia de software, gerando, então, sucessivas crises. Durante as crises, normalmente, são abandonadas as fases de planejamento, havendo um incremento exagerado e desordenado das etapas de codificação e teste. Para esse nível, o CMM não apresenta áreas chave. A caracterização do comportamento no nível 1 é colocado apenas como base de comparação para os demais níveis. Nível 2 - Repetitivo Nesse nível de maturidade, existe um gerenciamento básico de projetos com a finalidade maior de acompanhar custos e cronogramas. Porém, o processo aplicado ao desenvolvimento de novos projetos constitui-se basicamente na repetição de práticas já experimentadas com sucesso em projetos similares anteriormente desenvolvidos. Os processos de desenvolvimento podem, assim, ser diferentes de projeto para projeto em organizações considerados no nível 2. O que deve existir, porém, é uma política que sirva como guia no estabelecimento de uma gerência apropriada de processos. Os compromissos assumidos, então, passam a ser mais realistas, pois baseiam-se, agora, em resultados observados em projetos anteriores. A gerência de projetos pode acompanhar melhor os custos, o cronograma e o atendimento aos requerimentos. As áreas chave para o nível 2 estão focadas nas práticas que concernem ao gerenciamento de projetos: gerência de requisitos; planejamento do projeto; acompanhamento do projeto e de desvios; gerenciamento de subcontratados; controle de qualidade; e gerência de configurações. Nível 3 - Definido No nível definido, um processo padrão (ou vários) para desenvolvimento e manutenção de software é documentado e usado por toda a organização. Esse padrão inclui as atividades de engenharia e gerenciamento de software integrados em um todo coerente. O processo padrão é utilizado (e modificado, se necessário) para auxiliar os gerentes e desenvolvedores em uma produção mais eficiente. Um programa de treinamento é implementado em toda a organização para assegurar que o corpo técnico e os gerentes adquiram o conhecimento e habilidade necessários à execução de suas tarefas. A medida que acontecem, os projetos utilizam-se do processo padrão e fazem adaptação desse modelo para ajustá-lo às suas peculiaridades. Sendo, então, esse processo ajustado o que realmente é usado nas atividades do projeto. 5 6

4 O que difere o nível 3 do nível anterior, além das áreas chave relacionadas a seguir, basicamente, é o fato de existir neste nível o processo padrão definido, documentado, integrado, ajustado e, principalmente, seguido por toda a organização. O nível 3 do CMM pode ser resumido pelas palavras padrão e consistência, uma vez que, nesse nível, as atividades de engenharia e gerenciamento no processo produtivo de software são estáveis e repetitivas. Com uma linha de produção estabelecida, os custos, o cronograma e as funcionalidades estão sob controle e qualidade do software é melhor acompanhada. As áreas chave definidas para o nível 3 estão voltadas aos aspectos da organização e do projeto, no sentido de prover uma infra-estrutura que possibilite a institucionalização de um efetivo processo de engenharia e gerência de software para todos os projetos. São áreas chave para o nível 3: foco no processo da organização (ou estabelecimento de responsabilidades na organização para atividades relativas à produção de software); definição do processo para a organização; programa de treinamento; gerenciamento integrado; engenharia de produtos; coordenação intergrupos (ou interação entre grupos de engenharia de software); revisão de pares. Nível 4 - Gerenciado Nesse nível, passam a ser coletadas e analisadas métricas detalhadas relativas ao processo e à qualidade do produto para acompanhamento e controle do processo. Nesse nível, processo e produto são quantitativamente entendidos e controlados. No nível gerenciado, a organização define objetivos de qualidade que devem ser alcançados para produtos e processos. As atividades de produção de software mais importantes são acompanhadas por meio de um programa de medidas da organização afim de que possam ser observadas a produtividade, a qualidade, etc. Um banco de dados para a organização como um todo é usado para coletar e analisar os dados disponíveis extraídos dos projetos. O processo de software é equipado com um processo de coleta de medidas consistente e bem definido. O nível 4 do CMM pode ser resumido como sendo quantificado e previsível porque os processos são medidos e as operações são realizadas dentro de limites quantitativos. Esse nível permite que a organização trabalhe com segurança na previsão do desempenho dos processos e da qualidade dos produtos. As áreas chave para o nível 4 estão direcionadas ao entendimento quantitativo do processo e do produto: gerenciamento quantitativo do processo; e gerenciamento da qualidade do produto. Nível 5 - Otimizado No nível otimizado, toda a organização está voltada para um contínuo processo de melhoria. A organização busca identificar, de forma pró-ativa, os pontos fortes e fracos do processo, com o objetivo de evitar erros e melhorar a eficiência. Dados reais de processos são usados para análise da relação custo/benefício, para implementação de novas tecnologias ou para propor mudanças ao processo produtivo. As equipes de software em organizações no nível 5 trabalham na análise de defeitos do processo afim de determinar suas causas, avaliar o processo e prevenir manifestações de erros conhecidos e recorrentes, e, ainda, disseminar os conhecimentos adquiridos pela organização. Em qualquer sistema, existe um desperdício contínuo, em forma de retrabalho, simplesmente por causa de imprevistos. Esforços no sentido de eliminar esses desperdícios resultam em mudanças no sistema pela recondução dessas causas comuns de ineficiência. Embora esses esforços para reduzir desperdícios ocorram em todos os níveis de maturidade, essa preocupação constitui o foco do nível 5. O nível 5 do CMM pode ser caracterizado como de melhoria contínua porque as organizações identificadas no nível 5 estão continuamente empenhadas em melhorar a capacidade de seus processos. A melhoria pode surgir tanto em função do progresso do próprio processo quanto da aplicação de novas tecnologias e métodos. A aplicação de novas tecnologias ou mudanças no processo são planejadas e gerenciadas como tarefas rotineiras. As áreas chave que constituem o nível 5 buscam enfocar os assuntos que os projetos precisam observar para promover um incremento contínuo e mensurável da qualidade do processo de software. São as seguintes as áreas chave para o nível otimizado: prevenção de erros; gerenciamento de mudança tecnológica; e gerenciamento de mudanças no processo. 7 8

5 Como mostra a figura 1, o CMM, pode ser representado como uma estrutura de cinco níveis de maturidade: Inicial 1 Repetitível 2 Definido 3 Gerenciado 4 foco no processo da organização; definição do processo para a organização; programa de treinamento; gerenciamento integrado; engenharia de produtos; coordenação intergrupos; revisão de pares. Figura 1 Otimizado 5 gerência de requisitos; planejamento do projeto; acompanhamento do projeto e de desvios; gerenciamento de subcontratados; controle de qualidade; e gerência de configurações. O Paradigma de Aperfeiçoamento da Qualidade - QIP prevenção de erros; gerenciamento de mudança tecnológica; e gerenciamento de mudanças no processo gerenciamento quantitativo do processo; e gerenciamento da qualidade do produto. O Quality Improvement Paradigm QIP (ou Paradigma do Aperfeiçoamento da Qualidade), desenvolvido por Victor Basili e outros [1], é o resultado da aplicação do método científico para resolução do problema de melhoria da qualidade de software. O QIP está diretamente relacionado ao Ciclo Plan/Do/Check/Act (PDCA) de Shewart-Deming[15] largamente utilizado na indústria para implementação de planos de gerenciamento da qualidade. A abordagem PDCA é articulada em quatro fases: [15] Planejar (Plan): Definir os objetivos e metas do aperfeiçoamento da qualidade, determinar métodos para alcançar esses objetivos e preparar um plano de implementação. 9 Executar (Do): executar a implementação do plano e a coleta de dados. Verificar (Check): verificar a melhoria do desempenho usando os dados coletados dos processos e tomando ações corretivas necessárias. Agir (Act): atuar no sentido de padronizar as melhorias e incorporá-las ao processo. Por sua vez, o QIP desenvolve-se por meio dos seguintes passos:[1] Caracterizar: conhecer o ambiente com base nos dados e modelos disponíveis e na instituição. Estabelecer os fundamentos com os processos existentes na organização e caracterizá-los criticamente. Definir os objetivos: com base na caracterização inicial e nas capacidades estratégicas da organização, definir com objetivos quantificáveis o que seriam projetos bem sucedidos e avaliar o desempenho e melhoria da organização. As exceções aceitáveis são definidas com base nos fundamentos estabelecidos no passo de caracterização. Escolher os processos: com base na caracterização do ambiente e dos objetivos definidos, escolher os processos apropriados para melhoria bem como as ferramentas e métodos de apoio, certificando-se que esses sejam consistentes com os objetivos. Executar: executar os processos elaborando os produtos e provendo retorno, a partir do projeto, dos dados que estão sendo coletados para avaliação do alcance dos objetivos. Analisar: ao final de cada projeto específico, analisar os dados e informações acumuladas para avaliar as práticas correntes, identificar problemas, registrar achados, e fazer recomendações para melhoria de futuros projetos. Empacotar: Consolidar a experiência adquirida em forma de refinamento do modelo praticado ou mesmo pela adoção de novos modelos e, ainda, por meio de outras formas de estrutura de conhecimento alcançadas no último ou em processos anteriores e armazená-las em uma base de experiências, disponível para uso futuro. Uma caracterização apropriada e sem ambigüidades do ambiente é um pré-requisito para a aplicação correta do paradigma. Essa caracterização requer a classificação minuciosa do projeto, permitindo a identificação de classes de projetos com características e objetivos similares. Assim, pode-se estabelecer o ambiente adequado ao projeto corrente. Com a correta caracterização obtém-se um contexto para a definição de objetivos, para a reutilização de experiências e produtos, para a seleção de processos, para a avaliação e comparação de resultados, e para uma maior exatidão nas previsões. O Processo do Paradigma de Aperfeiçoamento da Qualidade Há um grande número de características de projetos e de ambiente que afetam o processo de desenvolvimento e o produto de software, tais como: fatores de pessoal - números de empregados, nível de especialização, organização de grupo, experiências; fatores relacionados ao problema - domínio da aplicação, suscetibilidade a mudança, limites do problema; fatores do processo - modelos de processo, métodos, técnicas, ferramentas, linguagem de programação, outros documentos; fatores do produto - implantação/entrega, tamanho do sistema, qualidades requeridas; 10

6 fatores dos recursos - máquinas de produção e desenvolvimento, tempo calendário, orçamento, software existente. A definição realista dos objetivos é importante para a caracterização do ambiente. É preciso estabelecer modelos e objetivos para os processos e para os produtos. Esses objetivos precisam ser mensuráveis, dirigidos pelos modelos, e definidos para uma variedade de perspectivas, tais como, a do usuário, do cliente, do projeto, da organização, etc. A abordagem GQM - Goal/Question/Metric (demonstrada adiante) [2] é o mecanismo usado pelo Quality Improvement Paradigm para definir e avaliar um conjunto de objetivos operacionais usando métricas. Essa abordagem representa uma sistemática para ajuste e integração de objetivos com modelos de processos, produtos e perspectivas de qualidade de software, baseadas em necessidades específicas do projeto e da organização. Existe uma variedade de dados que podem ser coletados: Dados sobre recursos - incluem esforço por atividade, fase, tipo ou pessoal, tempo de computador, tempo calendário, etc; Dados de mudanças e falhas dizem respeito a mudanças e falhas por vários esquemas de classificação; Métricas do processo relativas à definição e à conformidade dos processos, e aos dados concernentes ao entendimento do domínio da aplicação; Dados do produto quanto às características lógicas e físicas do produto e quanto à utilização e contexto da informação. Como mostra a figura 2, o ciclo QIP, pode ser representado da seguinte forma: Empacotar Analisar Executar Figura 2 Caracterizar Definir objetivos Escolher processo 11 A Fábrica de Experiência O QIP baseia-se na idéia de que o aperfeiçoamento do processo e do produto de software requer uma acumulação contínua de experiências (aprendizado) em formato que pode ser efetivamente entendido e modificado (modelos de experiências) em um repositório integrado (base de experiências) que pode ser acessado e modificado em conformidade com as necessidades do projeto corrente (reutilização). Para apoiar o paradigma de aperfeiçoamento foi desenvolvida um estrutura distinta do desenvolvimento de software denominada Fábrica de Experiências (Experience Factory EF).[1] A Fábrica de Experiências é uma estrutura física e/ou lógica que apoia o desenvolvimento de sistemas por meio da análise e sintetização de todos os tipos de experiências, agindo como um repositório para essas experiências e fornecendo-as a outros projetos na medida da demanda, representa um paradigma de mudança do pensamento corrente de desenvolvimento de software. Ela separa os tipos de atividades que precisam ser executadas em diferentes estruturas, reconhecendo que elas verdadeiramente representam processos e enfoques diferentes. Assim, identificam-se duas unidades organizacionais distintas: a Organização Projeto, para o desenvolvimento de sistemas; e a Fábrica de Experiências, para o empacotamento de conhecimentos adquiridos. Na Organização Projeto, são resolvidos os problemas, na Fábrica de Experiência, são entendidas as soluções e empacotadas as experiências para futura reutilização.[1] O Processo da Fábrica de Experiências A Fábrica de Experiências representa o grupo que trabalha na base do conhecimento da engenharia de desenvolvimento de software como um bem da corporação, enquanto a Organização Projeto representa o grupo cujo trabalho é usar aquele conhecimento para produzir os mais avançados produtos da corporação. A Organização Projeto caracteriza o projeto e seu ambiente, define os objetivos para o projeto e escolhe o processo apropriado dadas as características e objetivos. O suporte ao projeto é provido pela Fábrica de Experiências pela articulação das características, formulação de objetivos e seleção do conjunto apropriado de experiências passadas para uso no projeto. [1] Pela abordagem da Fábrica de Experiências, a reutilização não representa apenas o reaproveitamento de código mas de todos os tipos de experiências e do contexto que envolve essas experiências, reconhecendo que as experiências nem sempre são reutilizáveis como foram concebidas, antes elas precisam ser ajustadas e empacotadas para tornar mais fácil o seu acesso e reutilização. Na prática, a abordagem QIP/EF é implementada colocando-se primeiramente a organização em seu lugar, a partir de sua caracterização. Isso significa a coleta de dados para estabelecimento dos fundamentos (baselines) e avaliação dos pontos fortes e fracos da organização a fim de se obter o enfoque nos negócios e objetivos da empresa para o processo de melhoria. A coleta inicial de dados é crítica também para a definição da qualidade do produto que deveria ser aprimorada pelo programa. Dessa forma, a organização define em si mesma um contínuo aperfeiçoamento, mesmo se o nível de maturidade não for muito alto, porque ela aprende a partir do seu próprio negócio, não de um modelo de processo ideal, externamente 12

7 concebido. Melhorias no processo serão baseadas na compreensão do relacionamento entre processo e produto na própria organização. A introdução de novas tecnologias será motivada por problemas locais e o corpo técnico estará mais disposto a utilizá-las. O Modelo Goal Question Metric (GQM) Esta apresentação da abordagem Goal/Question/Metric (GQM), utilizada como abordagem na definição do processo de desenvolvimento de software, toma por base o texto de Victor R. Basili, Gianluigi Caldiera e H. Dieter Rombach [2]. Os dois primeiros do Institute for Advanced Computer Science, da University of Maryland (EUA), e o último da FB Informatik, da Universitat Kaiserslautern (Alemanha). Como em qualquer disciplina de engenharia, o desenvolvimento de software requer um mecanismo de mensuração para avaliação e retorno. O procedimento de medir é uma forma de criar uma memória corporativa e um auxílio na resposta de várias questões associadas ao estabelecimento de um processo de software. Um processo de medidas estabelecido auxilia no planejamento de novos projetos, na determinação de pontos fortes e fracos de produtos e processos, na racionalidade para adoção ou refinamento de técnicas em uso, e ainda, na avaliação da qualidade de processos ou produtos específicos. Medir também ajuda, durante o curso de um projeto, a avaliar o seu progresso, tomar as medidas corretivas baseadas nesse julgamento, e avaliar o impacto de tal ação. Algumas questões que poderiam, por exemplo, ser respondidas a partir de um sistema de medida, seriam : Qual o custo de um novo projeto? Qual a freqüência de certos tipos de erros? Qual o impacto da aplicação de determinada técnica na produtividade dos projetos? De acordo com vários estudos realizados sobre a aplicação de métricas e modelos em ambiente industrial, o processo de medida para trazer resultados precisa ser: voltado para objetivos específicos; aplicado a todo o ciclo de vida dos produtos, processos e recursos; adaptado às características e ao contexto da organização, do ambiente e dos objetivos. Como na figura 3, o modelo hierárquico GQM, pode ser representado da seguinte forma: OBJETIVO 1 OBJETIVO 2 QUESTÃO QUESTÃO QUESTÃO MÉTRICA MÉTRICA MÉTRICA MÉTRICA Figura 3 13 A abordagem GQM A abordagem GQM parte da premissa de que para uma organização adotar um processo de medida definitivo é necessário primeiramente estabelecer os objetivos da própria organização e de seus projetos, definir esses objetivos operacionalmente e, finalmente, criar um ambiente de apoio capaz de interpretar os dados comparando-os com os objetivos estabelecidos. Assim, é importante deixar claro, pelo menos em termos gerais, qual a necessidade de informações da organização, se essas informações podem ser quantificadas e em que momento podem ser colhidas, e se podem ser analisadas em função dos objetivos.[2] A abordagem foi definida originalmente para avaliação de defeitos em um conjunto de projetos no ambiente da NASA Goddard Space Flight Center. A aplicação envolveu um conjunto de estudos de casos e foi expandida para incluir várias abordagens experimentais. Embora a abordagem tenha sido usada originalmente para definir e avaliar os objetivos de um projeto específico, seu uso foi expandido para contextos maiores. A abordagem foi usada como um passo dentro de outra técnica, o Quality Improvement Paradigm (discutido anteriormente neste trabalho), processo de melhoria da qualidade que se utiliza de um ambiente operacional restrito, a Fábrica de Experiência (Experience Factory), que pode, por sua vez, ser entendida como um ambiente experimental com o objetivo de produção e/ou avaliação de software e processos para uso nos demais projetos. Neste trabalho, a utilização de todas estas técnicas, será norteada pelo modelo CMM de qualidade de software. A correta utilização destas técnicas permitirá à organização galgar os níveis de maturidade, através da realização das suas áreas chave para cada nível alcançado. O resultado da aplicação da abordagem GQM é a especificação de um sistema de medidas objetivando um conjunto particular de casos e de regras na interpretação dos dados medidos. O modelo de mensuração resultante possui três níveis:[2 - p 3] 1. Nível Conceitual: no qual é definido um objetivo (Goal) para o objeto a ser medido levando-se em conta o modelo de qualidade que se pretende atingir e o ponto de vista da observação. Podem ser objetos de medida: Produtos - quaisquer documentos e produtos que são gerados durante o ciclo de vida do sistema: especificações, projetos, programas, lotes de testes etc. Processos - atividades relacionadas ao desenvolvimento de software normalmente associadas ao dispêndio de tempo: fase de especificação, de projeto, de teste, de interação etc. Recursos - itens consumidos no processo para gerar os produtos: pessoal, equipamentos, software, espaço físico etc. 2. Nível Operacional: diz respeito a um conjunto de questões (Question) usado para caracterizar a forma de julgamento e garantir que o objetivo, definido no modelo, será atingido. As questões tentam caracterizar o objeto a ser medido (produto, processo ou recurso) com respeito a um padrão de qualidade e buscam identificar a qualidade desse objeto a partir de determinado ponto de vista. 14

8 3. Nível Quantitativo: representa os dados que serão apurados/medidos (Metric). Um conjunto de dados é associado às questões formuladas a fim de que sejam traduzidas quantitativamente. Esses dados podem ser objetivos ou subjetivos. - Objetivos - se dependem apenas do objeto que está sendo medido e não do ponto de vista em que são tomados. Por exemplo: número de versões de um documento, horas de pessoal gastas em determinada tarefa, tamanho de um programa etc. - Subjetivos - se dependem, além do próprio objeto que está sendo medido, do ponto de vista em que será analisada a medida. Exemplo: facilidade de leitura de um texto, nível de satisfação do usuário etc. Assim, um modelo GQM é uma estrutura hierárquica que inicia com a definição de um objetivo (goal), especificando o propósito da medição, os objetos e aspectos desses objetos que serão avaliados, e o ponto de vista em que as medidas serão analisadas. O objetivo é, então, refinado em diversas questões (question). Cada questão é, por sua vez, delineada nas métricas (metric). Há que se observar que uma mesma métrica pode ser usada para responder diferentes questões de um mesmo objetivo; diversos modelos GQM podem, também, ter questões e métricas em comum, desde que seja assegurado que quando da coleta das métricas sejam observados os diversos pontos de vista a que se destinam, pois a mesma medida pode assumir valores diversos dependendo do ponto de vista em que será analisada. O processo GQM Um modelo GQM é desenvolvido a partir de um conjunto de objetivos acerca de qualidade e/ou produtividade definidos para a organização, para a divisão ou para o projeto, tais como satisfação do usuário, entrega de serviço no prazo, melhoria de desempenho.[2 p 5] A partir da identificação dos objetivos e com base em modelos do objeto em avaliação, derivam-se questões que possam definir esses objetivos de forma mais completa. Por exemplo, se o objetivo é caracterizar um software quanto a determinadas qualidades (e.g., portabilidade), então faz-se necessária a escolha de um modelo para o produto que qualifique esses interesses (e.g., relação de características funcionais que precisam ser implementadas para diferentes arquiteturas). O próximo passo consiste em especificar as medidas que devem ser coletadas a fim de responder às questões e acompanhar a conformidade dos produtos e processos aos objetivos. Por fim, há que se desenvolver os meios de coleta dos dados, incluindo-se mecanismos de avaliação e análise. O processo de identificação de objetivos é crítico para o sucesso da aplicação da abordagem GQM, e será apoiado por passos metodológicos específicos. Para a consecução de um objetivo concorrerão três fontes básicas de informação[2 p 6]. A primeira fonte diz respeito à política e à estratégia da organização que aplica a abordagem GQM. A partir dessa fonte, com a análise da política da corporação, dos planos estratégicos e, ainda, levando-se em conta os interesses relevantes na organização, derivam-se o aspecto e o propósito para o objetivo a ser perseguido. A segunda fonte de informações é a descrição dos processos e produtos da organização, ou, pelo menos, daqueles que estão dentro do escopo do programa de medidas que se pretende efetuar. A partir desse fonte, com a especificação dos modelos de processos e produtos, dentro da maior formalidade possível, deriva-se a coordenada do objeto para o objetivo em questão. A terceira fonte de informações é o modelo do negócio da organização, que fornece a coordenada ponto de vista. É evidente que nem todos os assuntos e processos são relevantes para todos os pontos de vista na organização. Assim, há que se fazer uma análise da relevância dos objetivos para a organização, antes de se considerar concluída a lista de objetivos. Dessa forma, conclui-se a definição dos objetivos para o modelo GQM, tomando-se em conta a estrutura e os objetivos da organização. A partir da especificação de cada objetivo podem-se derivar questões significantes que quantificam o objetivo. Geralmente, são feitos pelo menos três grupos de questões: G 1. Como se pode caracterizar o objeto (produto, processo ou recurso) com o respeito ao objetivo global de determinado modelo GQM? Exemplo: Q 1: Qual o prazo corrente no atendimento às solicitações de mudanças num sistema em manutenção? Q 2: Existe um processo (documentado) no atendimento às solicitações de mudanças? G 2. Como se podem caracterizar os atributos relevantes do objeto em observação num modelo GQM específico? Exemplo: Q 1: Qual o desvio do prazo no atendimento de solicitações em função do estimado? Q 2: O desempenho da equipe no atendimento de solicitações vem melhorando? G 3. Como podem ser avaliadas as características do objeto que são relevantes com respeito ao aspecto tratado no modelo GQM? Exemplo: Q1: O desempenho tem sido satisfatório sob o ponto de vista do gerente de projeto? Q2: Há melhoria visível no desempenho? Uma vez que as questões tenham sido formuladas, deve-se proceder a associação destas com as métricas apropriadas. Diversos fatores devem ser considerados, dentre eles: Volume e quantidade dos dados existentes - deve-se buscar maximizar o uso das fontes de dados existentes, desde que estejam disponíveis e sejam confiáveis. Maturidade dos objetos em medição - devem-se aplicar medidas objetivas para objetos com maior nível de maturidade, e avaliações subjetivas quando se trabalha com objetos instáveis ou informais. Aprendizado do processo - o uso de modelos QGM requer sempre refinamento e adaptação. Assim, as medidas definidas devem auxiliar não somente na análise do objeto medido, mas também na avaliação do próprio modelo

9 Como exemplo de aplicação da abordagem Goal/Question/Metric, apresenta-se a suposição de modelo em que se pretenda melhorar o prazo no atendimento às solicitações de mudança para um determinado sistema em fase de manutenção. O objetivo definido deverá explicitar o propósito (melhorar), o processo (atendimento de solicitações de mudança), o ponto de vista (gerente de projeto), e o aspecto a ser observado (prazo de execução). Esse objetivo deve ser refinado em uma série de questões, que serão respondidas a partir da comparação do tempo coletado com média. O modelo GQM completo seria: [2 p 8] Objetivo Propósito Melhoria Aspecto Objeto (processo) Ponto de vista Prazo Atendimento das solicitações Gerente de projetos Questão Q1 Qual o tempo corrente no atendimento de solicitações de mudança? Métricas M1 Média de tempo de cada fase M2 M3 Desvio padrão % de casos acima do limite superior Questão Q2 O processo (documentado) no atendimento de solicitações é fielmente seguido? Métricas M4 Avaliação subjetiva do gerente de projetos M5 % de exceções identificado durante as revisões Questão Q3 Qual o desvio do prazo no atendimento de solicitações em função do estimado? Métricas M6 Média da execução média prevista * 100 Média da execução M7 Avaliação subjetiva do gerente de projeto Métricas M8 Média de tempo de execução * 100 Padrão de tempo para a fase Uma vez que o modelo GQM esteja definido, faz-se necessária a seleção das técnicas, ferramentas e procedimentos apropriados à coleta de dados. Os dados coletados devem ser mapeados para o modelo e interpretados de acordo com esquemas previamente definidos pela organização. Conclui-se, então, que a abordagem Goal/Question/Metric é uma abordagem para definição de um mecanismo de mensuração que possibilite o acompanhamento e avaliação do processo operacional de produção de software. Questão Q4 O desempenho está melhorando? Métricas M8 Média de tempo de execução * 100 Padrão de tempo para a fase Questão Q5 O desempenho tem sido satisfatório sob o ponto de vista do gerente de projeto? Métricas M7 Avaliação subjetiva do gerente de projeto Questão Q4 Há melhoria visível no desempenho? 17 18

10 III. O Ambiente em que foi Implementado o Modelo GQM Neste capítulo são apresentadas as principais características e a missão institucional da instituição aonde foi implantado o processo de melhoria contínua usando o QIP/GQM - o Tribunal de Contas do Distrito Federal e, inserida nessa missão, o papel desenvolvido pelo setor de informática. A missão do TCDF As competências constitucionais do Tribunal de Contas do Distrito Federal são:[3] apreciar, mediante emissão de parecer prévio, as contas anuais do Governador e julgar aquelas relativas aos administradores e demais responsáveis por dinheiro, bens e valores públicos; apreciar, para fins de registro, a legalidade dos atos de admissão de pessoal e de concessão de aposentadorias, reformas e pensões; avaliar a execução das metas estabelecidas no plano plurianual, nas diretrizes orçamentárias e no orçamento anual; realizar inspeções e auditorias de natureza contábil, financeira, orçamentária, operacional e patrimonial nas unidades administrativas dos Poderes Executivo e Legislativo; fiscalizar as aplicações do Poder Público em empresas de cujo capital social o Distrito Federal participe de forma direta ou indireta; fiscalizar a aplicação de recursos repassados ou recebidos pelo Distrito Federal, a qualquer título; atender às solicitações da Câmara Legislativa relativas às atividades de Controle Externo; aplicar, em caso de ilegalidade ou irregularidade de contas, as sanções previstas em lei e sustar, se o Tribunal não for atendido, a execução de ato impugnado. No planejamento estratégico para o período de 1999 a 2003 [7] é dado especial relevo ao estabelecimento da missão institucional do TCDF com base nas competências constitucionais acima e nos arts. 77 e 78 da Lei Orgânica do Distrito Federal (LODF) [3]. Esses artigos elucidam que a fiscalização contábil, financeira, orçamentária, operacional e patrimonial dos órgãos e entidades da administração do Distrito Federal, quanto à legalidade, legitimidade, economicidade, aplicação das subvenções e renúncia de receitas é exercida pela Câmara Legislativa - mediante controle externo e pelo sistema de controle interno de cada Poder - com o auxílio do Tribunal de Contas do Distrito Federal. Assim, inferida da essência dos citados dispositivos legais, a missão do Tribunal pode ser enunciada como: Exercer o controle externo da administração dos recursos públicos do Distrito Federal, em auxílio à Câmara Legislativa, zelando pela legalidade, legitimidade, efetividade, eficácia, eficiência e economicidade na gestão desses recursos. Releva notar que o atributo principal do papel da Corte de Contas Distrital é garantir à sociedade segurança quanto à transparência e boa gestão dos recursos arrecadados e gastos pelo Governo do Distrito Federal. O papel do setor de informática A política de informatização do Tribunal tem se pautado pela adoção de soluções que associem qualidade, funcionalidade e economicidade. Nesse contexto, ao setor de informática do Tribunal, denominado Núcleo de Informática e Processamento de Dados NIPD, compete apoiar a atividade de fiscalização por meio da criação de sistemas de informação para acompanhamento dos gastos públicos, avaliação de riscos e identificação de pontos críticos para auditoria, produção, organização e divulgação de súmulas, decisões, votos, pareceres e instruções. Para auxiliar essas atividades foram desenvolvidos, em especial a partir de 1996, vários sistemas integrados em repositório de informações único.[8] Ao NIPD compete também administrar a rede de microcomputadores, executar e acompanhar a manutenção dos equipamentos de informática, bem como propor a compra de bens e serviços relativos a tecnologia. Adicionalmente, o setor mantém atualizado, com o apoio de diversas Unidades do TCDF, o site que permite a qualquer cidadão consultar os documentos públicos produzidos no exercício do controle externo. Por ser um ente público com especial apreço pela boa gestão dos recursos, antes de efetuar investimentos são feitas análises de alternativas com vistas a encontrar a melhor relação custo x benefício. Essa prática, aplicada ao setor de informática será, como apresentado a seguir, motivadora do desenvolvimento de um processo de produção de software. Motivação para o estabelecimento do processo de desenvolvimento Devido ao esforço necessário ao estabelecimento de um processo de desenvolvimento, em especial quando se conta com poucos recursos humanos e materiais, foi fundamental para o empenho na produção do mesmo a existência das motivações a seguir relacionadas. Melhoria da qualidade de produtos Sendo o TCDF um órgão de informatização relativamente recente, a partir de 1995, a equipe responsável pelo desenvolvimento de sistemas teve a oportunidade de construir todo um conjunto de aplicações corporativas, com base nas necessidades identificadas junto aos usuários, integrado e homogêneo. No entanto, o processo de construção dessas soluções foi fortemente influenciado pela experiência profissional dos técnicos e, apesar de ter sido um processo repetitivo, não era explicitado formalmente. Hoje, contando com mais de dez aplicações em produção ( linhas de código fonte em Visual Basic, VB Script, Java, Java Script e HTML), que, portanto, requerem manutenção, e sem modificação no quadro de desenvolvedores (2 analistas e 4 programadores), faz-se necessário aprimorar o processo de trabalho visando a elaboração 19 20

11 de produtos com menor número de erros possível, que observem a integração e a homogeneidade dos sistemas já desenvolvidos. Planejamento de novas demandas Da forma atual, as estimativas de prazo para desenvolvimento ou manutenção de sistemas são baseadas somente na experiência pessoal dos técnicos, sem um acompanhamento efetivo dos prazos. Essa situação, apesar de bastante comum nas organizações, é fator de risco para a credibilidade do setor no caso de falha. Felizmente, desde 1995, os técnicos tem acertado em suas previsões à administração da Casa. No entanto, o acompanhamento sistemático do processo de desenvolvimento de software será fundamental para aperfeiçoar as estimativas de prazos e recursos de novas demandas de sistemas. Mudança de plataforma computacional Com a relativa estabilização da demanda por desenvolvimento de novos serviços e programas ao setor de informática do TCDF, a partir do final de 1998, a equipe técnica iniciou trabalho de busca de alternativas com vistas a reduzir a necessidade de investimentos em informática e identificou grupos de programas que, se substituídos, levariam a essa redução. Esse trabalho subsidiou a Presidência do Tribunal a decidir substituir, até o final do ano de 2002, o sistema operacional Windows 95 pelo Linux nas estações de trabalho do TCDF, proporcionando elevada redução de investimentos com hardware e software [8]. Assim, com vistas a possibilitar essa substituição, será necessário converter todos os sistemas desenvolvidos e configurar aplicativos de escritório que possibilitem ao usuário final usufruir das mesmas funcionalidades hoje disponíveis. Esse fato gerará intenso esforço de codificação que, sem acompanhamento formalizado por meio de um processo de desenvolvimento definido e utilizado por todos os técnicos, poderá inviabilizar a substituição da plataforma computacional proposta pelo fracasso na conversão dos sistemas. Para que seja possível substituir gradualmente as aplicações, optou-se por utilizar a linguagem Java como padrão para a execução dessa tarefa. A linguagem de programação Java permite disponibilizar os sistemas tanto para estações Windows 95 como Linux e irá facilitar a reutilização de código. IV. Implementando Um Processo De Melhoria Contínua Metodologia Empregada Conforme podemos observar em, um processo contínuo de melhoria pode ser implementado institucionalmente, independente se a atividade fim da empresa é produzir software ou outra qualquer, seguindo-se alguns passos descritos detalhadamente a seguir:[5] - Montar uma Equipe de Melhoria do Processo: A primeira e mais crítica atividade ao montar uma equipe é a aprovação da gerência para todo o processo de melhoria do software na organização. É importante destacar que nesse processo uma série de recursos devem ser alocados. A equipe designada para essa tarefa, preferencialmente em tempo integral, deve ser composta de técnicos experientes, com credibilidade dentro da organização, podendo contar também com a participação de pesquisadores e consultores externos. Hoje já é amplamente reconhecido que uma equipe de melhoria dos processos da organização deve ser mantida em uma estrutura separada do desenvolvimento de software. Essa equipe deve ter um mandato, ou tempo de duração bem definido, por exemplo: o tempo de ser implantado um processo de qualidade com certificação ISO Nesse ambiente em que foi implementado o Modelo GQM, a montagem da equipe de melhoria dos processos foi o primeiro passo dos trabalhos. Os profissionais mais experientes foram alocados e levantaram todos os processos do TCDF, propondo melhorias nos que não se enquadravam plenamente no novo processo de informatização da organização. O levantamento desses processos foi feito por 6 (seis) analistas de sistemas durante um mês, dedicados exclusivamente à esta tarefa. - Modelar os Processos Existentes: Modelar os processos existentes em uma organização pode servir para vários propósitos e agregar diversos benefícios. No contexto de melhoria de processos, modelos de processos descritivos são úteis para se entender a maneira como as coisas funcionam e para comunicar esse entendimento. Algumas questões básicas que necessitam serem respondidas em uma modelagem de processos são: - Quais são as atividades do processo? - Quais são as dependências entre essas atividades? - Quando as atividades iniciam e terminam? - Quem são os atores que executam essas atividades? - Quais são as interdependências entre estes atores? 21 22

12 Fontes de informação para responder essas questões indicam que devem ser utilizadas entrevistas com os membros da organização, inspeções nas documentações dos processos (quando existirem), inspeções nas documentações de gerência do projeto e também observações diretas na equipe de desenvolvimento. Os modelos de processos que foram desenvolvidos serão usados em passos subsequentes do processo de melhoria. Um bom sinal é quando os desenvolvedores penduram partes dos modelos em seus ambientes de trabalho, significa que estão sendo úteis para o dia a dia dos seus trabalhos. No TCDF, os prováveis processos a serem informatizados, foram modelados e descritos de forma a explanar claramente as atividades intrínsecas de cada um, as dependências entre essas atividades, o tempo de duração de cada uma delas, os atores que as executam e as interdependências entre estes atores. - Conduzir uma Análise Qualitativa: A meta desse estágio é identificar as causas e os mecanismos internos que indiquem os problemas de custos e riscos elevados, relacionados à qualidade dos produtos entregues e à eficiência do processo de desenvolvimento de software. A equipe de melhoria de processos da organização, citada anteriormente, poderá ser responsável pela análise contínua desse problemas. Uma modelagem dos processos bem definida, ajudará a diferenciar os verdadeiros problemas dos aspectos irrelevantes. Nesse contexto, existem três técnicas principais para se fazer a análise qualitativa: entrevistas estruturadas, análise eventual dos problemas e questionários bem definidos e bem desenhados. No contexto da análise qualitativa, essas técnicas se complementam, pois, permitem uma checagem cruzada das informações levantadas. A análise eventual é usualmente iniciada quando é reportado um problema vindo da fase de testes, ou já da operação, de um determinado sistema. Para executar a análise eventual alguns procedimentos são recomendados: - Selecione um sistema, ou versão, relevante para a organização; - Obtenha todos os relatórios de problemas; - Classifique as falhas de programas de acordo com tipos e níveis de gravidade; - Determine as causas de maior gravidade de falhas em termos de erros humanos e falhas nos processos; - Desenvolva recomendações para mudanças de processos e valide-as com os participantes da análise eventual; - Refine as linhas gerais da análise eventual e a nomenclatura utilizada para auxiliar futuras análises. A execução destes procedimentos assume que a organização tem processos bem definidos e modelos organizacionais. No TCDF, como os processos já haviam sido modelados e bem definidos, nesta fase foram elaborados também os procedimentos de coleta de dados e desenhados os 23 formulários. Foi selecionado o Sistema de Acompanhamento de Processos para uma análise preliminar da metodologia a ser empregada. Foram levantados os problemas apresentados na versão do sistema e classificadas a s falhas segundo critérios de gravidade estabelecidos pelo gerente de informática. - Definir e Documentar um Plano de Ação: Uma vez que os processos estão modelados e seus pontos fortes e fracos estão bem entendidos, um plano de ação deve ser definido. Para o Software Engineering Process Group Guide o plano de ação é definido como: Uma resposta formal, escrita da avaliação (do processo) e o mapa para sua melhoria. O plano de ação é extremamente importante por várias razões, dentre elas podemos citar: é solicitado para conseguir uma mudança do orçamento para as próximas fases (avaliação das soluções, mudanças nos processos), é crucial para transferir as informações corretas para a gerência e para os desenvolvedores sobre a importância e as dificuldades do que será realizado. Um possível esboço de alto nível de plano de ação pode ter o seguinte formato: - Melhora corporativa dos objetivos e motivações; - O plano de ação dos diversos grupos e participantes do processo de melhoria, suas responsabilidades e prerrogativas; - Os passos da melhoria, suas conexões com os objetivos corporativos e seus critérios de entrada e saída; - As fases que conduzem para os critérios de saída de cada passo de melhoria, os riscos e incertezas associados a cada fase e os planos de contingência correspondentes, os gerentes encarregados de monitorar e organizar as fases de execução; - O conjunto de atividades envolvidas em cada fase de cada passo, os participantes em cada atividade e suas responsabilidades; - O esforço e o custo para cada passo e fase, com intervalos indeterminados; - Os benefícios esperados baseados em experiências externas e em informações existentes sobre qualidade e produtividade da organização. Como Plano de Ação para o TCDF foi estabelecida uma metodologia que contempla: procedimentos de desenvolvimento e manutenção de sistemas, estabelecimento de um fluxo de solicitações de sistemas, o Sistema de Acompanhamento do Desenvolvimento de Sistemas SADS, que permite o registro do processo e a extração das métricas estabelecidas (todos estes itens podem ser vistos no Anexo I deste documento). - Montar um Programa de Medição: A princípio um programa de medição é geralmente projetado para: prover uma base quantitativa de comparações para futuras mudanças de processos, melhor entendimento dos requisitos que tenha ou não sido identificados na análise qualitativa precedendo a medição, e finalmente, fazer com que o processo de tomada decisões seja menos arriscado provendo informações gerenciais corretas e no tempo certo sobre produtos de software e os processos utilizados para desenvolvê-los. Em várias ocasiões já foi percebido que o êxito de um 24

13 programa de medições está no seu direcionamento para as metas e objetivos da organização. Os passos usuais de um processo de medição podem ser resumidos da seguinte forma: - Definir metas corporativas e de medidas; - Derivar modelos e medidas que pareçam adequados no contexto específico de medições; - Definir procedimentos de coleta de dados para coletar dados válidos e corretos; - Treinar os participantes em procedimentos de coleta de dados; - Testar a coleta de dados e validar os procedimentos em projetos piloto, simplificando e refinando-os quando necessário; - Expandindo o uso das medições em toda a organização; - Analisar os dados coletados para verificar a utilidade destes dados e a exatidão dos modelos; - Refinar modelos, medidas e procedimentos de coleta de dados, voltar ao passo 4. Algumas fontes usuais de problemas quando são implementados programas de medição: - A coleta de dados não voltada para as metas; - As metas de medição não estão claramente especificadas e/ou claramente comunicadas aos colaboradores; - Muitas metas a serem coletadas de uma só vez. Conflito entre as metas da alta gerência com as metas operacionais e vice-versa; - Desenvolvedores têm que coletar muitos dados; - A equipe encarregada do programa de medição não teve o treinamento adequado e/ou não tem experiência suficiente. Para transferir a tecnologia para a memória da organização, alguns pré-requisitos devem ser observados. Primeiro, a estrutura de recompensa deve ser mudada para refletir as metas da tecnologia transferida. Por exemplo, se a cultura atual da organização recompensa a produtividade, então a introdução de métodos estruturados de análise e projeto, que diminuem a rapidez da execução das primeiras fases do projeto, são improváveis de serem adotados pela organização ou, caso sejam adotadas pela organização, o seu uso efetivo será improvável. Segundo, deve haver um número de consultores especialistas na tecnologia disponível para resolver os problemas e, se necessário, prover treinamento para os membros da organização. Por ser o TCDF uma organização pública, que contém processos e procedimentos estabelecidos em leis, as mudanças dos processos muitas vezes tornam-se problemáticas e até impossíveis de serem realizadas. Neste cenário, mudar a organização é praticamente inviável. O que é factível, e que já está em curso, é a proposição de mudanças sistemáticas e paulatinas na execução de processos e procedimentos. Esta proposição é feita demonstrando-se os aspectos favoráveis e desfavoráveis destas mudanças, encaminhandoas para posterior decisão das autoridades competentes, gestoras destes processos. Neste capítulo os autores apresentaram uma abordagem ascendente para a melhoria prática do processo de produção de software e seus produtos. Estes passos devem ser vistos como uma implantação do Paradigma de Aperfeiçoamento da Qualidade QIP. A fim de facilitar sua aplicação em diferentes organizações de desenvolvimento e manutenção de software, os autores montaram um conjunto de passos e diretrizes deste paradigma, baseados em suas experiências adquiridas, conduzindo estudos quantitativos e qualitativos, em diversas organizações públicas e privadas. Neste passo da metodologia foram feitas as entrevistas recomendadas na abordagem GQM, onde foram definidas as metas corporativas e de medidas. Foram aplicados os procedimentos de coleta de dados e implantadas as rotinas de utilização formulários desenhados anteriormente, sendo treinados os funcionários responsáveis pela captação e alimentação dos dados. Este passo não apresentou problemas, pois, a coleta dos dados foi voltada para as metas estabelecidas nas entrevistas, as metas de medição foram claramente especificadas. Não houve uma sobrecarga no trabalho dos desenvolvedores para coletar os dados toda a equipe foi treinada no processo de coleta de dados. - Mudar os Processos e a Organização: Após o Projeto Piloto e a revisão dos seus resultados, a tecnologia deve ser transferida para a memória da organização. Tudo que pôde ser observado no Projeto Piloto deve ser usado para ensinar a tecnologia, as formas e materiais de seu treinamento para a organização. Também os procedimentos de coleta de dados talvez tenham de ser modificados para levar em conta as lições aprendidas no Projeto Piloto

14 V. Conclusão, Perspectivas e Futuros Trabalhos O presente trabalho tem por objetivo apresentar a fundamentação teórica e um caso prático da abordagem QIP/GQM aplicada em uma empresa brasileira, o Tribunal de Contas do Distrito Federal TCDF. Nos principais modelos de qualidade de software apresentados neste trabalho, o modelo CMM foi o escolhido por nortear de forma objetiva e direta, as ações de implementação de modelos de qualidade de software em empresas nacionais. O Paradigma de Aperfeiçoamento da qualidade QIP estabelece premissas fundamentais para que uma organização possa melhorar cada processo de software: caracterizar o ambiente, definir os objetivos, escolher os processos, analisar os dados e informações e finalmente empacotar as experiências adquiridas nesse projeto realizado. Essas experiências devem ser armazenadas na Fábrica de Experiências, para que possa ser estabelecida uma continuidade do processo de melhoria de software nas organizações. A abordagem GQM, objeto de estudo deste trabalho, é utilizada como mecanismo ou técnica, para que seja implementado um programa permanente de avaliação e melhoria da qualidade de software das organizações. Esta técnica foi escolhida principalmente pela sua abordagem objetiva e abrangente na condução dos trabalhos de melhoria da qualidade de software dentro das organizações. Conforme foi citado anteriormente, o presente trabalho será a parte inicial da dissertação de mestrado que versará sobre a viabilidade de se implantar e manter modelos de qualidade de software em empresas brasileiras, visando a melhoria contínua dos produtos de software dessas empresas. Para tanto, pretende-se implementar a abordagem GQM. com todas as suas implicações, em outra empresa nacional. Contaremos com a colaboração da equipe do Núcleo de Informática do TCDF para orientar a implantação de todo o processo, que deverá se dar primeiramente em uma equipe de desenvolvimento de software provavelmente da ECT -Correios do Brasil. Bibliografia [1] BASILI, Victor R.; CALDIERA, Gianluigi; ROMBACH, H. Dieter. The Experience Factory. Institute for Advanced Computer Studies / Department of Computer Science / University of Maryland (EUA); & FB Informatik / Universität Kaiserlautern (Alemanha). In: tame.html. [2]. The Goal Question Metric Approach. Institute for Advanced Computer Studies / Department of Computer Science / University of Maryland (EUA); & FB Informatik / Universität Kaiserlautern (Alemanha). In: tame.html. [3] BRASIL. CÂMARA LEGISLATIVA - DF. Lei Orgânica do Distrito Federal, Brasília: Câmara Legislativa, [4] BRASIL. CONGRESSO NACIONAL. Constituição Federal, Brasília: Congresso Nacional, [5] BRIAND, Lionel; EL EMAM, Khaled; MELO, Walcélio L. An Inductive Method for Software Process Improvement: Concrete Steps and Guidelines. In: Elements of Software Process Assessment and Improvement. Los Alamitos, California (EUA): IEEE Computer Society, p. p [6] DION, Ray. Starting the Climb Towards the CMM Level 2 Plateau. In: Elements of Software Process Assessment and Improvement. Los Alamitos, California (EUA): IEEE Computer Society, p. p [7] DISTRITO FEDERAL (Brasil). Tribunal de Contas do Distrito Federal - DF. Plano Estratégico do Tribunal: PLANEST; Período , Brasília: TCDF/DIPLAN, [8]. Tecnologia da Informação Triênio , Brasília: TCDF/NIPD, [9] JOHNSON, Donna L.; BRODMAN, Judith G. Tailoring the CMM for Small Businesses, Small Organizations, and Small Projects. In: Elements 27 28

15 of Software Process Assessment and Improvement. Los Alamitos, California (EUA): IEEE Computer Society, p. p [10] MCGARRY, Frank; PAGE, Gerald; BASILI, Victor; et al. Software Process Improvement in The NASA Software Engineering Laboratory. Technical Report CMU/SEI-94-TR-22. ESC-TR Dezembro,1994. NASA/Goddard Space Flight Center; Computer Sciences Corporation (EUA); & University of Maryland (EUA). In: tame/tame.html. [11] NASA. Sample SEL Data Collection Forms: Development Estimates Form and Report Form. In: forms.htm. [12] NASA. Software Process Improvement Guidebook. NASA Janeiro, NASA-GB In: [13] PAULK, Mark C.; WEBER, Charles V.; CHRISSIS, Mary Beth. The Capability Maturity Model for Software. In: Elements of Software Process Assessment and Improvement. Los Alamitos, California (EUA): IEEE Computer Society, [14] PRESSMAN, Roger S. Engenharia de Software. Tradução de José Carlos Barbosa dos Santos. São Paulo: Makron Books, p. p [15] EDWARD DEMING, Out of the Crisis, MIT Center of Advanced Engineering Study, MIT Press, Cambridge, MA,

16 ANEXO I Modelo GQM aplicado ao desenvolvimento de sistemas no TCDF Considerando o contexto e as razões acima descritos estabeleceu-se o seguinte modelo Goal, Question, Metric, adiante detalhado, para a área de desenvolvimento de sistemas do Tribunal de Contas do DF. Objetivo Propósito Melhoria G1 Aspecto Qualidade Objeto Ponto de vista Sistemas Desenvolvidos (produto) Gerente Questão Q1 Quantidade de erros encontrados pelo usuário? Métricas M1 # mensal de ocorrências de manutenções corretivas M2 M3 M4 M5 # mensal de ocorrências de erros que afetam o desempenho dos sistemas # mensal de ocorrências de erros que afetam o funcionamento de pelo menos uma função # mensal de ocorrências de erros que afetam o funcionamento de pelo menos um sistema # mensal de ocorrências de erros que geram informações inconsistentes Questão Q2 A qualidade dos produtos está melhorando? Métricas M6 % de variação do último mês com relação a média acumulada para M1 M7 M8 M9 M10 % de variação do último mês com relação a média acumulada para M2 % de variação do último mês com relação a média acumulada para M3 % de variação do último mês com relação a média acumulada para M4 % de variação do último mês com relação a média acumulada para M5 Objetivo Propósito Avaliar G2 Aspecto Tempo Objeto Ponto de vista Conversão dos sistemas em Visual Basic (VB) para Java Gerente Questão Q3 Qual o tamanho do sistemas originais (VB)? Métricas M11 Quantidade de arquivos dos sistemas originais M12 Quantidade de linhas de código (LOC) dos sistemas Questão Q4 Qual o tamanho dos sistemas convertidos? Métricas M13 Quantidade de arquivos dos sistemas convertidos para Java M14 Quantidade de linhas de código (LOC) dos sistemas convertidos para Java Questão Q5 Qual o tempo necessário para conversão? Métricas M15 Tempo total de conversão por sistema em VB M16 Métricas M17 M16 por arquivo VB Objetivo Propósito Avaliar G3 Aspecto Planejamento Objeto Ponto de vista Tempo médio de conversão de uma LOC em VB para Java Processo de Desenvolvimento de Sistemas Gerente

17 Questão Q6 Qual a diferença entre o esforço (tempo) estimado e o realizado? Métricas M18 (Esforço real - Esforço estimado) por ocorrência e fase M19 M20 (M18 / Esforço estimado) * 100 por ocorrência e fase Média de M19 por objetivo e fase Questão Q7 Qual a diferença entre os prazos previstos e realizados? Métricas M21 (Data de início real - Data de início estimada) em dias por ocorrência e fase M22 M23 M24 Objetivo Propósito Avaliar G4 Aspecto Qualidade Objeto Ponto de vista Média de M21 por objetivo e fase (Data de fim real - Data de fim estimada) em dias por ocorrência e fase Média de M23 por objetivo e fase Processo de Desenvolvimento de Sistemas Gerente Questão Q8 Qual o número de erros identificados pela equipe de desenvolvimento durante a elaboração do sistema? Métricas M25 # mensal de erros encontrados na leitura de código M26 # mensal de erros encontrados na leitura de código que afetam o desempenho dos sistemas M27 M28 M29 M30 M31 M32 M33 M34 # mensal de erros encontrados na leitura de código que afetam o funcionamento de pelo menos uma função # mensal de erros encontrados na leitura de código que afetam o funcionamento de pelo menos um sistema # mensal de erros encontrados na leitura de código que que geram informações inconsistentes # mensal de erros encontrados nos testes de integração e implantação #mensal de erros encontrados nos testes de integração e implantação que afetam o desempenho dos sistemas # mensal de erros encontrados nos testes de integração e implantação que afetam o funcionamento de pelo menos uma função # mensal de erros encontrados nos testes de integração e implantação que afetam o funcionamento de pelo menos um sistema # mensal de erros encontrados nos testes de integração e implantação que que geram informações inconsistentes Questão Q9 Qual a relação entre os erros encontrados pelo usuário e os erros identificados durante a elaboração do sistema? M35 M1 / (M25 + M30) M36 M2 / (M26 + M31) M37 M3 / (M27 + M32) M38 M4 / (M28 + M33) M39 M5 / (M29 + M34) Questão Q10 Qual a origem (fonte) dos erros encontrados? M40 M41 M42 # mensal de erros encontrados pelos usuários por fonte de erro # mensal de erros encontrados na leitura de código por fonte de erro # mensal de erros encontrados nos testes de integração e implantação por fonte de erro M43 M40 / (M41 + M42)

18 Objetivo G1 - Melhoria da Qualidade dos Sistemas Desenvolvidos Procura-se aqui ter condições de dimensionar a melhoria dos produtos entregues aos usuários finais, utilizando-se como indicador principal a quantidade de erros percebida pelos usuários. Para esse objetivo foram definidas duas questões: 1. Q1 - Qual a quantidade de erros encontrados pelos usuário? - procura dimensionar os vazamentos de erros não encontrados na produção do sistema, permitindo quantificar os transtornos causados aos usuários. Em resposta a essa questão foram extraídas as seguintes medidas: 1.1. M1 = Número mensal de ocorrências de manutenções corretivas - contabiliza todas as ocorrências de erros encontradas pelos usuários independentemente de sua gravidade; 1.2. M2 = Número mensal de ocorrências de erros que afetam o desempenho dos sistemas - constituem um subgrupo de M1 e foram destacadas pois prejudicam o desempenho do sistema; 1.3. M3 = Número mensal de ocorrências de erros que afetam o funcionamento de pelo menos uma função - constituem outro subgrupo de M1 e foram destacadas pois prejudicam o desempenho de pelo menos uma função (tipicamente uma tela de transação) do sistema; 1.4. M4 = Número mensal de ocorrências de erros que afetam o funcionamento de pelo menos um sistema - constituem outro subgrupo de M1 e foram destacadas pois prejudicam o desempenho de pelo menos um sistema (toda uma aplicação); e 1.5. M5 = Número mensal de ocorrências de erros que geram informações inconsistentes - constituem outro subconjunto de M1 e foram destacadas pois provocam o armazenamento ou exibição de informações inconsistentes. 2. Q2 - A qualidade dos produtos está melhorando? - visa avaliar a evolução da qualidade dos produtos entregues por meio da comparação das métricas da Q1 acima descritas ao longo do tempo. Em resposta a essa questão foram extraídas as métricas abaixo: 2.1. M6 = Percentual de variação do último mês com relação a média acumulada para M1 - obtida pela divisão da medida de M1 para o último mês pela média de M1 nos meses anteriores ao último mês multiplicado por 100; 2.2. M7 = Percentual de variação do último mês com relação a média acumulada para M2 - cálculo idêntico ao de M6 utilizando como parâmetro M2; 2.3. M8 = Percentual de variação do último mês com relação a média acumulada para M3 - cálculo idêntico ao de M6 utilizando como parâmetro M3; 2.4. M9 = Percentual de variação do último mês com relação a média acumulada para M4 - cálculo idêntico ao de M6 utilizando como parâmetro M4; e 2.5. M10 = Percentual de variação do último mês com relação a média acumulada para M5 - cálculo idêntico ao de M6 utilizando como parâmetro M5. Objetivo G2 - Avaliar o tempo de conversão de sistemas em Visual Basic para Java Tendo em vista a mencionada estratégia de substituição do sistema operacional utilizado no TCDF, faz-se necessário reescrever todos os sistemas em produção na linguagem Java para que os mesmos possam continuar sendo utilizados. Esse objetivo visa aperfeiçoar as estimativas de conversão dos sistemas por meio da análise das seguintes questões: 1. Q3 - Qual o tamanho dos sistemas originais em Visual Basic? - essa questão é relevante para dimensionar a tarefa a ser executada. Para respondê-la são medidos: 1.1. M11 = Número de arquivos fonte por sistema - agrupam-se os arquivos dos sistemas desenvolvidos e em desenvolvimento em diretórios de trabalho específicos e procede-se a contagem. Essa métrica é extraída por apuração automática em lote, pelo próprio sistema de apoio ao processo, não necessitando de preenchimento de formulários; e 1.2. M12 = Número de linhas de código por sistema - somam-se as linhas de código, observada a sintaxe do Visual Basic, dos arquivos que compõem os sistemas de informação. Essa métrica é extraída por apuração em lote não necessitando de preenchimento de formulários. 2. Q4 - Qual o tamanho dos sistemas convertidos em Java? - assim, pode-se avaliar o impacto de substituição da linguagem em termos de tamanho (LOC) dos sistemas convertidos e acompanhar o progresso do processo de conversão. Para responder a essa questão são medidos: 2.1. M13 = Número de arquivos dos sistemas - contagem efetuada de forma idêntica a M11 para os diretórios dos sistemas em Java; e 2.2. M14 = Número de linhas de código por sistema - soma efetuada de forma idêntica a M12 para os diretórios dos sistemas em Java. 3. Q5 - Qual o tempo para conversão dos sistemas? - questão principal para o objetivo pretendido pois informa o esforço realizado até o momento e permite estimar a tarefa restante. Para responder a essa questão são extraídas as seguintes medidas: 3.1. M15 = Tempo total de conversão por sistema - soma das horas de trabalhadas para conversão de cada sistema até o momento; 3.2. M16 = Tempo médio de conversão de uma linha de código em VB para Java -

19 soma de todo o tempo de codificação em Java para conversão dividida pelo tamanho (em linhas de código VB) de todos os arquivos convertidos até o momento; e 3.3. M17 = Tempo médio de conversão de uma linha de código em VB para Java por arquivo VB - soma de todo o tempo de codificação em Java para conversão do arquivo dividida pelo tamanho (em linhas de código VB) do arquivo - possibilita avaliar a evolução da eficiência do trabalho e a complexidade da conversão de cada arquivo. Objetivo G3 - Avaliar o planejamento do processo de desenvolvimento de sistemas O processo de desenvolvimento de sistemas implantado contempla o planejamento de prazos e recursos. No entanto, para a efetividade do planejamento é necessário avaliar o seu grau de precisão e efetuar as correções necessárias. 1. Q6 - Qual a diferença entre o esforço (tempo) estimado e o realizado? - questão que possibilita verificar a precisão do planejamento de recursos; no caso do TCDF, o principal recurso para desenvolvimento de sistemas é a hora de trabalho dos técnicos. Assim, foram estabelecidas as seguintes medidas: 1.1. M18 = (esforço real - esforço estimado) agrupado por ocorrência e fase (entendase fase do processo de desenvolvimento como: especificação, codificação, leitura de código, e teste de integração e implementação) - diferença em minutos entre o esforço real e o esforço estimado - valores negativos expressam estimativas a maior e valores positivos estimativas a menor; 1.2. M19 = (M18 / esforço estimado) * 100 agrupado por ocorrência e fase - indica o percentual de erro das estimativas com relação ao esforço previsto; 1.3. M20 = Média de M19 agrupada por objetivo (entenda-se objetivo da ação da equipe de desenvolvimento em cada ocorrência: manutenção corretiva, manutenção evolutiva ou desenvolvimento de um novo sistema) e fase - permite avaliar se há discrepâncias significativas entre as previsões feitas para cada tipo de objetivo e dentro de cada objetivo por fase do processo de desenvolvimento de sistemas. 2. Q7 = Qual a diferença entre os prazos previstos e reais? - possibilita aferir a precisão das estimativas de datas de início e fim de cada fase do processo de desenvolvimento. Para essa aferição são computados: 2.1. M21 = (data de início real - data de início estimada) em dias agrupado por ocorrência e fase - mede a precisão no planejamento do início de cada fase do processo de desenvolvimento - valores negativos indicam fases iniciadas antes da data estimada; 2.2. M22 = Média de M21 agrupada por objetivo e fase - indica se há variação sensível entre as previsões de início por objetivo e/ou fase do processo de desenvolvimento de sistemas; 2.3. M23 = (data de fim real - data de fim estimada) em dias agrupado por ocorrência e fase - mede a precisão no planejamento do fim de cada fase do processo de desenvolvimento - valores negativos indicam fases concluídas antes da data estimada; e 2.4. M24 = Média de M23 agrupada por objetivo e fase - indica se há variação sensível entre as previsões de término por objetivo e/ou fase do processo de desenvolvimento de sistemas. Objetivo G4 - Avaliar a qualidade do processo de desenvolvimento de sistemas Com a implantação do processo de desenvolvimento de sistemas pretende-se reduzir o número de erros encontrados pelo usuário, ou seja, erros após a entrada do sistema em produção, estabelecendo-se pontos de teste no processo de desenvolvimento de sistemas com a execução das atividades de leitura de código e teste de integração e implantação. Assim, para avaliar a efetividade do processo em termos de identificação de erros e redução de vazamentos (erros encontrados pelos usuários) foram definidas as seguintes questões: 1. Q8 - Qual o número de erros identificados pela equipe de desenvolvimento durante a elaboração do sistema? - possibilita aferir a eficácia das atividades de teste implantadas com o processo de desenvolvimento de sistemas. Para essa questão são medidos: 1.1. M25 = Número mensal de erros encontrados na leitura de código - totaliza a quantidade de erros identificados na fase de leitura de código pela equipe de desenvolvedores a cada mês; 1.2. M26 = Número mensal de erros encontrados na leitura de código que afetam o desempenho dos sistemas - indica a quantidade de erros identificados na fase de leitura de código que prejudicam o desempenho do sistema pela equipe de desenvolvedores a cada mês; 1.3. M27 = Número mensal de erros encontrados na leitura de código que afetam o funcionamento de pelo menos uma função - indica a quantidade de erros identificados na fase de leitura de código que prejudicam o desempenho de pelo menos uma função (tipicamente uma tela de transação) do sistema pela equipe de desenvolvedores a cada mês; 1.4. M28 = Número mensal de erros encontrados na leitura de código que afetam o funcionamento de pelo menos um sistema - indica a quantidade de erros identificados na fase de leitura de código que prejudicam o desempenho de pelo menos um sistema (toda uma aplicação) pela equipe de desenvolvedores a cada mês; 1.5. M29 = Número mensal de erros encontrados na leitura de código que geram informações inconsistentes - indica a quantidade de erros identificados na fase de

20 leitura de código que provocam o armazenamento ou exibição de informações inconsistentes pela equipe de desenvolvedores a cada mês; 1.6. M30 = Número mensal de erros encontrados nos testes de integração e implantação - totaliza a quantidade de erros identificados na fase testes de integração e implantação pela equipe de desenvolvedores a cada mês; 1.7. M31 = Número mensal de erros encontrados nos testes de integração e implantação que afetam o desempenho dos sistemas - indica a quantidade de erros identificados na fase testes de integração e implantação que prejudicam o desempenho do sistema pela equipe de desenvolvedores a cada mês; 1.8. M32 = Número mensal de erros encontrados nos testes de integração e implantação que afetam o funcionamento de pelo menos uma função - indica a quantidade de erros identificados na fase testes de integração e implantação que prejudicam o desempenho de pelo menos uma função (tipicamente uma tela de transação) do sistema pela equipe de desenvolvedores a cada mês; 1.9. M33 = Número mensal de erros encontrados nos testes de integração e implantação que afetam o funcionamento de pelo menos um sistema - indica a quantidade de erros identificados na fase testes de integração e implantação que prejudicam o desempenho de pelo menos um sistema (toda uma aplicação) pela equipe de desenvolvedores a cada mês; M34 = Número mensal de erros encontrados nos testes de integração e implantação que geram informações inconsistentes - indica a quantidade de erros identificados na fase testes de integração e implantação que provocam o armazenamento ou exibição de informações inconsistentes pela equipe de desenvolvedores a cada mês; erros que afetam o funcionamento de pelo menos um sistema; e 2.5. M39 = M5 / (M29 + M34) - análoga a métrica M36 limitando a comparação aos erros que geram informações inconsistentes 3. Q10 - Qual a origem (fonte) dos erros encontrados? - visa caracterizar a origem dos erros para auxiliar na redução dos mesmos. As fontes de erro possíveis no processo de desenvolvimento implantado são: codificação, especificação, modificação anterior e requerimentos do usuário. Para caracterizar as origens dos erros são medidos: 3.1. M40 = Número mensal de erros encontrados pelos usuários por fonte de erro - agrupa mensalmente os erros encontrados pelos usuários de acordo com a fonte de erro indicada pelo analista responsável pela resolução da ocorrência; 3.2. M41 = Número mensal de erros encontrados na leitura de código por fonte de erro - agrupa mensalmente os erros encontrados pela equipe de desenvolvimento na fase de leitura de código classificados de acordo com o técnico responsável; 3.3. M42 = Número mensal de erros encontrados nos testes de integração e implantação por fonte de erro - agrupa mensalmente os erros encontrados na fase de testes de integração e implantação pela equipe de desenvolvimento de sistema classificados de acordo com o técnico responsável; e 3.4. M43 = M40 / (M41 + M42) - compara os erros encontrados pelos usuários e pela equipe técnica de acordo com a fonte de erro indicada. Todas essas métricas são obtidas automaticamente por meio dos sistemas de apoio ao processo de desenvolvimento implantado, descrito no próximo capítulo. 2. Q9 - Qual a relação entre o número de erros identificados pelo usuário e os erros identificados durante a elaboração do sistema? - possibilita a comparação entre as quantidades de erros encontrados pelos usuários dos sistemas (vazamentos) e de erros encontrados pela equipe de desenvolvimento de sistemas nas fases de leitura de código e testes de integração e implantação. Para efetuar essa comparação são extraídas: 2.1. M35 = M1 / (M25 + M30) - compara o total de erros encontrados pelo usuário com o total de erros encontrados pela equipe de desenvolvimento a cada mês. Valores acima de 1 indicam que os usuários estão encontrando mais erros do que a equipe de desenvolvimento; 2.2. M36 = M2 / (M26 + M31) - análoga a métrica anterior limitando a comparação aos erros que afetam o desempenho dos sistemas; 2.3. M37 = M3 / (M27 + M32) - análoga a métrica anterior limitando a comparação aos erros que afetam o funcionamento de pelo menos uma função; 2.4. M38 = M4 / (M28 + M33) - análoga a métrica M36 limitando a comparação aos

Qualidade de. Software. Definições. Qualidade do Produto ISO 9126. Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

Qualidade de. Software. Definições. Qualidade do Produto ISO 9126. Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207 Qualidade de : Visão Geral ISO 12207: Estrutura s Fundamentais Aquisição Fornecimento s de Apoio Documentação Garantia de Qualidade Operação Desenvolvimento Manutenção Verificação Validação Revisão Conjunta

Leia mais

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI INTRODUÇÃO Aumento da Importância do Software Software está em tudo: Elemento crítico

Leia mais

Gerência de Projetos de Software CMM & PMBOK

Gerência de Projetos de Software CMM & PMBOK Gerência de Projetos de Software CMM & PMBOK http://www.sei.cmu.edu/ Prefácio do CMM Após várias décadas de promessas não cumpridas sobre ganhos de produtividade e qualidade na aplicação de novas metodologias

Leia mais

QUALIDADE DE SOFTWARE AULA N.7

QUALIDADE DE SOFTWARE AULA N.7 QUALIDADE DE SOFTWARE AULA N.7 Curso: SISTEMAS DE INFORMAÇÃO Disciplina: Qualidade de Software Profa. : Kátia Lopes Silva 1 CMM: DEFINIÇÃO Capability Maturity Model Um modelo que descreve como as práticas

Leia mais

CMM - Capability Maturity Model

CMM - Capability Maturity Model Tema da Aula Normas e Padrões de Qualidade em II CMM Prof. Cristiano R R Portella portella@widesoft.com.br CMM - Capability Maturity Model Desenvolvido pelo SEI (Instituto de Engenharia de ) Carnegie Mellon

Leia mais

Avaliação do Processo de atendimento de demandas de produtos de software da Embrapa

Avaliação do Processo de atendimento de demandas de produtos de software da Embrapa Avaliação do Processo de atendimento de demandas de produtos de software da Embrapa Edméia Leonor Pereira de Andrade Embrapa edmeia.andrade@embrapa.br AngélicaToffano Seidel Calazans Caixa Econômica Federal

Leia mais

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Evandro Polese Alves Ricardo de Almeida Falbo Departamento de Informática - UFES Av. Fernando Ferrari, s/n, Vitória - ES - Brasil

Leia mais

Qualidade de Software: Visão Geral

Qualidade de Software: Visão Geral Qualidade de Software: Visão Geral Engenharia de Software 1 Aula 05 Qualidade de Software Existem muitas definições de qualidade de software propostas na literatura, sob diferentes pontos de vista Qualidade

Leia mais

Métricas de Software. Sistemas de Informação

Métricas de Software. Sistemas de Informação Métricas de Software Sistemas de Informação Objetivos Entender porque medição é importante para avaliação e garantia da qualidade de software Entender as abordagens principais de métricas e como elas são

Leia mais

Gerenciamento de Qualidade

Gerenciamento de Qualidade UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Qualidade Engenharia de Software 2o. Semestre de

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Unidade IV Introdução aos Padrões de PDS Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo da Unidade 1. CMM / CMMI 2. SPICE 3. ISO 12207 4. MPS/BR CMM - Capability Maturity Model CMM Capability

Leia mais

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) APARECIDA DE GOIÂNIA 2014 LISTA DE TABELAS Tabela 1 Áreas de processo por

Leia mais

Qualidade de Processo de Software Normas ISO 12207 e 15504

Qualidade de Processo de Software Normas ISO 12207 e 15504 Especialização em Gerência de Projetos de Software Qualidade de Processo de Software Normas ISO 12207 e 15504 Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto

Leia mais

Engenharia de Software Qualidade de Software

Engenharia de Software Qualidade de Software Engenharia de Software Qualidade de Software O termo qualidade assumiu diferentes significados, em engenharia de software, tem o significado de está em conformidade com os requisitos explícitos e implícitos

Leia mais

Qualidade de Software. Anderson Belgamo

Qualidade de Software. Anderson Belgamo Qualidade de Software Anderson Belgamo Qualidade de Software Software Processo Produto Processo de Software Pessoas com habilidades, treinamento e motivação Processo de Desenvolvimento Ferramentas e Equipamentos

Leia mais

Implantação de um Processo de Medições de Software

Implantação de um Processo de Medições de Software Departamento de Informática BFPUG Brazilian Function Point Users Group Implantação de um Processo de Medições de Software Claudia Hazan, MSc., CFPS claudinhah@yahoo.com Agenda Introdução Processo de Medições

Leia mais

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY)

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY) Universidade Federal de Santa Catarina Departamento de Informática e Estatística INE Curso: Sistemas de Informação Disciplina: Projetos I Professor: Renato Cislaghi Aluno: Fausto Vetter Orientadora: Maria

Leia mais

F U N D A Ç Ã O E D U C A C I O N A L S Ã O J O S É. MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI)

F U N D A Ç Ã O E D U C A C I O N A L S Ã O J O S É. MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI) 1 MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI) Teresinha Moreira de Magalhães 1 Lúcia Helena de Magalhães 2 Fernando Machado da Rocha 3 Resumo Este trabalho visa apresentar uma

Leia mais

PLANEJAMENTO - ESCOPO - TEMPO - CUSTO

PLANEJAMENTO - ESCOPO - TEMPO - CUSTO PLANEJAMENTO - ESCOPO - TEMPO - CUSTO PAULO SÉRGIO LORENA Julho/2011 1 Planejamento escopo, tempo e custo PROGRAMA DA DISCIPLINA Apresentação professor Programa da disciplina Avaliação Introdução Processos

Leia mais

C O B I T. Gerenciamento dos Riscos Mitigação. Aceitação. Transferência. Evitar/Eliminar.

C O B I T. Gerenciamento dos Riscos Mitigação. Aceitação. Transferência. Evitar/Eliminar. C O B I T Evolução Estratégica A) Provedor de Tecnologia Gerenciamento de Infra-estrutura de TI (ITIM) B) Provedor de Serviços Gerenciamento de Serviços de TI (ITSM) C) Parceiro Estratégico Governança

Leia mais

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e fortes, que serão utilizados para a criação de um plano

Leia mais

Qualidade de software

Qualidade de software Faculdade de Ciências Sociais e Aplicadas de Petrolina - FACAPE Curso: Ciência da Computação Disciplina:Projeto de Sistemas Qualidade de software cynaracarvalho@yahoo.com.br Qualidade de software Qualidade

Leia mais

AS CARACTERÍSTICAS DO CMM E O DESENVOLVIMENTO DE SOFTWARE COM QUALIDADE

AS CARACTERÍSTICAS DO CMM E O DESENVOLVIMENTO DE SOFTWARE COM QUALIDADE REVISTA ELETRÔNICA DE ADMINISTRAÇÃO ISSN 1676-6822 PERIODICIDADE SEMESTRAL EDIÇÃO NÚMERO 8 JUNHO DE 2005 AS CARACTERÍSTICAS DO CMM E O DESENVOLVIMENTO DE SOFTWARE COM QUALIDADE Kleber ALMEIDA Docente da

Leia mais

Prof. Dr. Ivanir Costa. Unidade IV QUALIDADE DE SOFTWARE

Prof. Dr. Ivanir Costa. Unidade IV QUALIDADE DE SOFTWARE Prof. Dr. Ivanir Costa Unidade IV QUALIDADE DE SOFTWARE introdução As mudanças que estão ocorrendo nos clientes e nos ambientes de negócios altamente competitivos têm motivado as empresas a modificarem

Leia mais

Introdução ao BPM e CBOK. Decanato de Planejamento e Orçamento DPO Diretoria de Processos Organizacionais - DPR

Introdução ao BPM e CBOK. Decanato de Planejamento e Orçamento DPO Diretoria de Processos Organizacionais - DPR Introdução ao BPM e CBOK Decanato de Planejamento e Orçamento DPO Diretoria de Processos Organizacionais - DPR BPM CBOK O Guia para o Gerenciamento de Processos de Negócio - Corpo Comum de Conhecimento

Leia mais

Políticas de Qualidade em TI

Políticas de Qualidade em TI Políticas de Qualidade em TI Aula 05 MPS.BR (ago/12) Melhoria de Processo do Software Brasileiro Prof. www.edilms.eti.br edilms@yahoo.com Agenda Descrição sumária do MPS.BR - Melhoria de Processo do Software

Leia mais

Padrões de Qualidade de Software

Padrões de Qualidade de Software Universidade Federal do Vale do São Francisco Padrões de Qualidade de Software Engenharia de Software I Aula 4 Ricardo Argenton Ramos Agenda da Aula Introdução (Qualidade de Software) Padrões de Qualidade

Leia mais

Processo de Software

Processo de Software Processo de Software Uma importante contribuição da área de pesquisa de processo de software tem sido a conscientização de que o desenvolvimento de software é um processo complexo. Pesquisadores e profissionais

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 GERENCIAMENTO DA QUALIDADE DE PROJETOS DE SOFTWARE ATRAVÉS DA MEDIÇÃO. Valmor Aguiar Barreto RESUMO A medição de um software está diretamente ligada ao processo de produção do mesmo, pois através dela

Leia mais

CobiT: Visão Geral e domínio Monitorar e Avaliar. Daniel Baptista Dias Ernando Eduardo da Silva Leandro Kaoru Sakamoto Paolo Victor Leite e Posso

CobiT: Visão Geral e domínio Monitorar e Avaliar. Daniel Baptista Dias Ernando Eduardo da Silva Leandro Kaoru Sakamoto Paolo Victor Leite e Posso CobiT: Visão Geral e domínio Monitorar e Avaliar Daniel Baptista Dias Ernando Eduardo da Silva Leandro Kaoru Sakamoto Paolo Victor Leite e Posso CobiT O que é? Um framework contendo boas práticas para

Leia mais

Professor: Disciplina:

Professor: Disciplina: Professor: Curso: Disciplina: Marcos Morais de Sousa marcosmoraisdesousa@gmail.com marcosmoraisdesousa.blogspot.com Sistemas de informação Engenharia de Software II Gerenciamento de Qualidade CMMI e MPS.BR

Leia mais

Governança e Qualidade em Serviços de TI COBIT Governança de TI

Governança e Qualidade em Serviços de TI COBIT Governança de TI Governança e Qualidade em Serviços de TI COBIT Governança de TI COBIT Processos de TI Aplicativos Informações Infraestrutura Pessoas O que é o CObIT? CObIT = Control Objectives for Information and Related

Leia mais

O Controle Externo na Área de Auditoria de Tecnologia da Informação

O Controle Externo na Área de Auditoria de Tecnologia da Informação O Controle Externo na Área de Auditoria de Tecnologia da Informação José Auriço Oliveira Analista de Controle Externo 1 AGENDA Apresentação Institucional Ações do TCE na área de Auditoria de TI Discussão

Leia mais

Introdução CMMI. Qualidade e Teste de Software CMMI 1

Introdução CMMI. Qualidade e Teste de Software CMMI 1 Introdução CMMI O propósito da qualidade é estabelecer um diferencial competitivo, através de contribuições como redução de defeitos, redução de custos, redução de retrabalho e aumento da produtividade,

Leia mais

Padrões de Qualidade de Software e Métricas de Software

Padrões de Qualidade de Software e Métricas de Software Universidade Federal do Vale do São Francisco Padrões de Qualidade de Software e Métricas de Software Engenharia de Software I Aula 3 e 4 Ricardo Argenton Ramos Agenda da Aula Introdução (Qualidade de

Leia mais

Fatores humanos de qualidade CMM E CMMI

Fatores humanos de qualidade CMM E CMMI Fatores humanos de qualidade CMM E CMMI Eneida Rios¹ ¹http://www.ifbaiano.edu.br eneidarios@eafcatu.gov.br Campus Catu 1 Curso de Análise e Desenvolvimento de Sistemas Conteúdos Fatores humanos de qualidade

Leia mais

Qualidade de Software Aula 6 / 2010. luis@garcia.pro.br www.garcia.pro.br

Qualidade de Software Aula 6 / 2010. luis@garcia.pro.br www.garcia.pro.br Qualidade de Software Aula 6 / 2010 Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br www.garcia.pro.br Introdução As três dimensões críticas Introdução Começando MAL CMMI Impeditivos CMMI Desculpas CMMI

Leia mais

Sistemas de Informação Empresarial

Sistemas de Informação Empresarial Sistemas de Informação Empresarial Governança de Tecnologia da Informação parte 2 Fonte: Mônica C. Rodrigues Padrões e Gestão de TI ISO,COBIT, ITIL 3 International Organization for Standardization d -

Leia mais

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com)

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com) CMMI Conceitos básicos 113 CMMI integra as disciplinas de engenharia de sistemas e de engenharia de software em um único framework de melhoria de processos. 114 No tocante às disciplinas de engenharia

Leia mais

MSF- MICROSOFT SOLUTIONS FRAMEWORK. Cesar Eduardo Freitas Italo Alves

MSF- MICROSOFT SOLUTIONS FRAMEWORK. Cesar Eduardo Freitas Italo Alves MSF- MICROSOFT SOLUTIONS FRAMEWORK Cesar Eduardo Freitas Italo Alves A ORIGEM DO MSF (MICROSOFT SOLUTIONS FRAMEWORK) Baseado na experiência da empresa na construção de softwares como Office e Windows e

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo QUALIDADE DE SOFTWARE - PROCESSO Introdução: desenvolvimento

Leia mais

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009) CMMI Governo do ES (CESPE 2009) Na versão 1.2 do CMMI, 111 os níveis de capacidade são definidos na abordagem de estágios. 112 os níveis de maturidade são definidos na abordagem contínua. 113 existem seis

Leia mais

A NOVA POLÍTICA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO DO ESTADO DO ESPÍRITO SANTO

A NOVA POLÍTICA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO DO ESTADO DO ESPÍRITO SANTO Centro de Convenções Ulysses Guimarães Brasília/DF 4, 5 e 6 de junho de 2012 A NOVA POLÍTICA DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO DO ESTADO DO ESPÍRITO SANTO Pablo Sandin Amaral Renato Machado Albert

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

SIMPLIFICAÇÃO DE PROCESSOS

SIMPLIFICAÇÃO DE PROCESSOS SIMPLIFICAÇÃO DE PROCESSOS 1 FINALIDADE DO PROJETO ESTRATÉGICO Simplificar e padronizar os processos internos, incrementando o atendimento ao usuário. Especificamente o projeto tem o objetivo de: Permitir

Leia mais

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM M P S. B R : M E L H O R I A D E P R O C E S S O D O S O F T W A R E B R A S I L E I R O A

Leia mais

RESOLUÇÃO - TCU Nº 247, de 7 de dezembro de 2011

RESOLUÇÃO - TCU Nº 247, de 7 de dezembro de 2011 RESOLUÇÃO - TCU Nº 247, de 7 de dezembro de 2011 Dispõe sobre a Política de Governança de Tecnologia da Informação do Tribunal de Contas da União (PGTI/TCU). O TRIBUNAL DE CONTAS DA UNIÃO, no uso de suas

Leia mais

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação CobiT 5 Como avaliar a maturidade dos processos de acordo com o novo modelo? 2013 Bridge Consulting All rights reserved Apresentação Sabemos que a Tecnologia da

Leia mais

CMM Capability Maturity Model. Silvia Regina Vergilio

CMM Capability Maturity Model. Silvia Regina Vergilio CMM Capability Maturity Model Silvia Regina Vergilio Histórico O DoD patrocinou a fundação do SEI (Software Engineering Institute) na Universidade de Carnegie Mellon (Pittsburg) com o objetivo de propor

Leia mais

O Modelo Processo de Software Brasileiro MPS-Br

O Modelo Processo de Software Brasileiro MPS-Br O Modelo Processo de Software Brasileiro MPS-Br Prof. Pasteur Ottoni de Miranda Junior Disponível em www.pasteurjr.blogspot.com 1-Estrutura do MPS-Br ( Softex, 2009) O MPS.BR1 é um programa mobilizador,

Leia mais

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 Renan J. Borges 1, Késsia R. C. Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí, PR Brasil renanjborges@gmail.com, kessia@unipar.br

Leia mais

QUALIDADE DE SOFTWARE

QUALIDADE DE SOFTWARE QUALIDADE DE SOFTWARE MODULO 3 SISTEMA DE GARANTIA DA QUALIDADE CONTEÚDO 3.1 A ABORDAGEM NBR ISO 9000 3.2 MODELOS DE QUALIDADE DE PRODUTO DE SOFTWARE 3.2.1 NBR ISO/IEC 9126 (SOFTWARE) 3.2.2 NBR ISO/IEC

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

CMMI (Capability Maturity Model Integration) Thiago Gimenez Cantos. Bacharel em Sistemas de Informação

CMMI (Capability Maturity Model Integration) Thiago Gimenez Cantos. Bacharel em Sistemas de Informação CMMI (Capability Maturity Model Integration) Thiago Gimenez Cantos Bacharel em Sistemas de Informação Faculdade de Informática de Presidente Prudente Universidade do Oeste Paulista (UNOESTE) thiago@visioncom.com.br;

Leia mais

PODER JUDICIÁRIO TRIBUNAL REGIONAL DO TRABALHO DA 3ª REGIÃO

PODER JUDICIÁRIO TRIBUNAL REGIONAL DO TRABALHO DA 3ª REGIÃO Controle de Versões Autor da Solicitação: Subseção de Governança de TIC Email:dtic.governanca@trt3.jus.br Ramal: 7966 Versão Data Notas da Revisão 1 03.02.2015 Versão atualizada de acordo com os novos

Leia mais

fagury.com.br. PMBoK 2004

fagury.com.br. PMBoK 2004 Este material é distribuído por Thiago Fagury através de uma licença Creative Commons 2.5. É permitido o uso e atribuição para fim nãocomercial. É vedada a criação de obras derivadas sem comunicação prévia

Leia mais

Capítulo 5: CMM, o Capability Maturity Model

Capítulo 5: CMM, o Capability Maturity Model Capítulo 5: CMM, o Capability Maturity Model Capítulo 1: Introdução Capítulo 2: Conceitos Básicos Capítulo 3: Qualidade de Produto (ISO9126) Capítulo 4: ISO9001 e ISO9000-3 Capítulo 5: CMM Capítulo 6:

Leia mais

Qualidade de software

Qualidade de software Qualidade de software É cada dia maior o número de empresas que buscam melhorias em seus processos de desenvolvimento de software. Além do aumento da produtividade e da diminuição do retrabalho, elas buscam

Leia mais

TREINAMENTO ITAIM INTERPRETAÇÃO DA NORMA NBR ABNT ISO 9001:2008. Maria das Graças Ferreira mgferreira@prefeitura.sp.gov.

TREINAMENTO ITAIM INTERPRETAÇÃO DA NORMA NBR ABNT ISO 9001:2008. Maria das Graças Ferreira mgferreira@prefeitura.sp.gov. TREINAMENTO ITAIM INTERPRETAÇÃO DA NORMA NBR ABNT ISO 9001:2008 Maria das Graças Ferreira mgferreira@prefeitura.sp.gov.br 11 3104-0988 Este treinamento tem por objetivo capacitar os participantes para

Leia mais

Qualidade de Software

Qualidade de Software Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br A expressão ISO 9000 (International Organization for Standardization) designa um grupo de normas técnicas que estabelecem

Leia mais

Qualidade de Software. Prof. Natália Oliveira M.Sc queiroz.nati@gmail.com

Qualidade de Software. Prof. Natália Oliveira M.Sc queiroz.nati@gmail.com Qualidade de Software Prof. Natália Oliveira M.Sc queiroz.nati@gmail.com Ementa Conceitos sobre Qualidade Qualidade do Produto Qualidade do Processo Garantida da Qualidade X Controle da Qualidade Conceitos

Leia mais

Definição do Framework de Execução de Processos Spider-PE

Definição do Framework de Execução de Processos Spider-PE Definição do Framework de Execução de Processos Spider-PE 1. INTRODUÇÃO 1.1 Finalidade Este documento define um framework de execução de processos de software, denominado Spider-PE (Process Enactment),

Leia mais

GESTÃO DE T.I. COBIT. José Luís Padovan jlpadovan@gmail.com

GESTÃO DE T.I. COBIT. José Luís Padovan jlpadovan@gmail.com GESTÃO DE T.I. COBIT José Luís Padovan jlpadovan@gmail.com COBIT Control Objectives for Information and Related Technology Copyright 1996, 1998, 2000 Information Systems Audit and Control Foundation. Information

Leia mais

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR Modelos de gerência CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR Modelo de maturidade: CMM CMM (Capability Maturity Model) é um modelo subdividido em 5 estágios

Leia mais

Questionário de Governança de TI 2014

Questionário de Governança de TI 2014 Questionário de Governança de TI 2014 De acordo com o Referencial Básico de Governança do Tribunal de Contas da União, a governança no setor público compreende essencialmente os mecanismos de liderança,

Leia mais

Engenharia de Software

Engenharia de Software UFES - Universidade Federal do Espírito Santo Engenharia de Software Notas de Aula E-mail: falbo@inf.ufes.br 2005 Capítulo 1 - Introdução UFES - Universidade Federal do Espírito Santo 1 Capítulo 1 Introdução

Leia mais

MBA em Gestão de Empreendimentos Turísticos

MBA em Gestão de Empreendimentos Turísticos Prof. Martius V. Rodriguez y Rodriguez, DSc martius@kmpress.com.br MBA em Gestão de Empreendimentos Turísticos Gestão do Conhecimento e Tecnologia da Informação Gestão do Conhecimento evolução conceitual.

Leia mais

Qualidade em Projetos aperfeiçoamento de processos Entendimento/Monitoração e Controle. 0 - Generalidades

Qualidade em Projetos aperfeiçoamento de processos Entendimento/Monitoração e Controle. 0 - Generalidades * AMARAL, J.A. Modelos para gestão de projetos: como utilizar adequadamente conceitos, ferramentas e metodologias. São Paulo: Scortecci: 2004 * http://www.rcgg.ufrgs.br/cap14.htm (visitado em 05/2006)

Leia mais

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto Gerais Processo Produto Propostas NBR ISO 9000:2005 define principios e vocabulário NBR ISO 9001:2000 define exigências para sistema de gerência de qualidade NBR ISO 9004:2000 apresenta linha diretivas

Leia mais

Gestão da qualidade do software

Gestão da qualidade do software Gestão da qualidade do software Empenhada em assegurar que o nível de qualidade requerido de um produto de software é atingido Envolve a definição de normas e procedimentos de qualidade apropriados, e

Leia mais

Trilhas Técnicas SBSI - 2014

Trilhas Técnicas SBSI - 2014 brunoronha@gmail.com, germanofenner@gmail.com, albertosampaio@ufc.br Brito (2012), os escritórios de gerenciamento de projetos são importantes para o fomento de mudanças, bem como para a melhoria da eficiência

Leia mais

O Modelo de Maturidade de Processos: como maximizar o retorno dos investimentos em melhoria da qualidade e produtividade.

O Modelo de Maturidade de Processos: como maximizar o retorno dos investimentos em melhoria da qualidade e produtividade. O Modelo de Maturidade de Processos: como maximizar o retorno dos investimentos em melhoria da qualidade e produtividade. Jairo Siqueira 1 Resumo Este estudo apresenta um modelo para avaliação do grau

Leia mais

Padrões de Qualidade e Métricas de Software. Aécio Costa

Padrões de Qualidade e Métricas de Software. Aécio Costa Padrões de Qualidade e Métricas de Software Aécio Costa Qual o Principal objetivo da Engenharia de Software? O principal objetivo da Engenharia de Software (ES) é ajudar a produzir software de qualidade;

Leia mais

Proposta de Implementação de Qualidade de Software na Organização

Proposta de Implementação de Qualidade de Software na Organização Proposta de Implementação de Qualidade de Software na Organização Daniel Gonçalves Jacobsen 1 Faculdade Dom Bosco de Porto Alegre Porto Alegre RS Brasil daniel@flete.com.br Abstract. This article describes

Leia mais

Avaliação e Melhorias no Processo de Construção de Software

Avaliação e Melhorias no Processo de Construção de Software Avaliação e Melhorias no Processo de Construção de Software Martim Chitto Sisson Centro Tecnológico Universidade Federal de Santa Catarina (UFSC) Florianópolis SC Brasil martim@inf.ufsc.br Abstract. This

Leia mais

Lista de Exercícios - COBIT 5

Lista de Exercícios - COBIT 5 Lista de Exercícios - COBIT 5 1. O COBIT 5 possui: a) 3 volumes, 7 habilitadores, 5 princípios b) 3 volumes, 5 habilitadores, 7 princípios c) 5 volumes, 7 habilitadores, 5 princípios d) 5 volumes, 5 habilitadores,

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

GESTÃO DA QUALIDADE DE SOFTWARE

GESTÃO DA QUALIDADE DE SOFTWARE GESTÃO DA QUALIDADE DE SOFTWARE Fernando L. F. Almeida falmeida@ispgaya.pt Principais Modelos Capability Maturity Model Integration (CMMI) Team Software Process and Personal Software Process (TSP/PSP)

Leia mais

O processo de melhoria de processo

O processo de melhoria de processo O processo de melhoria de processo Prof.ª Dra. Aida Araújo Ferreira aidaferreira@recife.ifpe.edu.br Modelos de Melhoria de Processo de Software Tecnologia em Análise e Desenvolvimento de Sistemas IFPE

Leia mais

COBIT. Governança de TI. Juvenal Santana, PMP tecproit.com.br

COBIT. Governança de TI. Juvenal Santana, PMP tecproit.com.br COBIT Governança de TI Juvenal Santana, PMP tecproit.com.br Sobre mim Juvenal Santana Gerente de Projetos PMP; Cobit Certified; ITIL Certified; OOAD Certified; 9+ anos de experiência em TI; Especialista

Leia mais

MATURIDADE NA GERÊNCIA DE PROJETOS DE EMPRESAS DE TECNOLOGIA DA INFORMAÇÃO: UM ESTUDO ANALÍTICO E EXPLORATÓRIO

MATURIDADE NA GERÊNCIA DE PROJETOS DE EMPRESAS DE TECNOLOGIA DA INFORMAÇÃO: UM ESTUDO ANALÍTICO E EXPLORATÓRIO MATURIDADE NA GERÊNCIA DE PROJETOS DE EMPRESAS DE TECNOLOGIA DA INFORMAÇÃO: UM ESTUDO ANALÍTICO E EPLORATÓRIO Claudiane Oliveira Universidade Federal de Lavras/Brasil claudianeo@gmail.com Ramon Abílio,

Leia mais

Professor Ricardo Argenton Ramos. Material baseado na apresentação: Rosely Sanches e Rosana T. Vaccare Braga (USP-São Carlos)

Professor Ricardo Argenton Ramos. Material baseado na apresentação: Rosely Sanches e Rosana T. Vaccare Braga (USP-São Carlos) ENGENHARIA DE SOFTWARE 1 PLANEJAMENTO DO PROJETO Professor Ricardo Argenton Ramos 2011 Material baseado na apresentação: Rosely Sanches e Rosana T. Vaccare Braga (USP-São Carlos) Atividades da Engenharia

Leia mais

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS GESTÃO DE PROJETOS Prof. Me. Luís Felipe Schilling "Escolha batalhas suficientemente grandes para importar, suficientemente pequenas para VENCER." Jonathan Kozol GERÊNCIA DA INTEGRAÇÃO PMBOK 1 GERÊNCIA

Leia mais

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI Profa. Celia Corigliano Unidade IV GERENCIAMENTO DE PROJETOS DE TI Agenda da disciplina Unidade I Gestão de Projetos Unidade II Ferramentas para Gestão de Projetos Unidade III Gestão de Riscos em TI Unidade

Leia mais

PLANO DE CARGOS & SALÁRIOS UNIMED ANÁPOLIS

PLANO DE CARGOS & SALÁRIOS UNIMED ANÁPOLIS PLANO DE CARGOS & SALÁRIOS UNIMED ANÁPOLIS 1 ÍNDICE APRESENTAÇÃO... 02 1 OBJETIVO DO MANUAL... 03 2 CONCEITOS UTILIZADOS... 04 3 POLÍTICA DE CARGOS E SALÁRIOS... 06 4 POLÍTICA DE CARREIRA... 07 5 AVALIAÇÃO

Leia mais

21. Qualidade de Produto ou Qualidade de Processo de Software?

21. Qualidade de Produto ou Qualidade de Processo de Software? 21. Qualidade de Produto ou Qualidade de Processo de Software? Qualidade de software é uma preocupação real e esforços têm sido realizados na busca pela qualidade dos processos envolvidos em seu desenvolvimento

Leia mais

Introdução ao MPS.BR Guia Geral. Prof. Elias Batista Ferreira

Introdução ao MPS.BR Guia Geral. Prof. Elias Batista Ferreira Introdução ao MPS.BR Guia Geral Prof. Elias Batista Ferreira IMPORTANTE Este NÃO é um curso oficial do MPS.BR. Este curso NÃO é apoiado pela Softex. Objetivo deste Curso Descrever os processos e resultados

Leia mais

Tribunal Regional Eleitoral de Santa Catarina

Tribunal Regional Eleitoral de Santa Catarina Planejamento Estratégico de Tecnologia da Informação e Comunicação (PETI) Secretaria de Tecnologia da Informação Florianópolis, março de 2010. Apresentação A informatização crescente vem impactando diretamente

Leia mais

14 Os principais documentos de um projeto são: o termo de. 15 Elemento integrante do gerenciamento do escopo do projeto,

14 Os principais documentos de um projeto são: o termo de. 15 Elemento integrante do gerenciamento do escopo do projeto, De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

No que se refere a conceitos básicos do gerenciamento de projetos, segundo o PMBoK, julgue os itens a seguir.

No que se refere a conceitos básicos do gerenciamento de projetos, segundo o PMBoK, julgue os itens a seguir. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi CAPABILITY MATURITY MODEL INTEGRATION Prof. Késsia R. C. Marchi Modelos de maturidade Um modelo de maturidade é um conjunto estruturado de elementos que descrevem características de processos efetivos.

Leia mais

Capítulo 4: ISO9001 e ISO9000-3

Capítulo 4: ISO9001 e ISO9000-3 Capítulo 4: ISO 9001 e ISO 9000-3 Capítulo 1: Introdução Capítulo 2: Conceitos Básicos Capítulo 3: Qualidade de Produto (ISO9126) Capítulo 4: ISO9001 e ISO9000-3 Capítulo 5: CMM Capítulo 6: PSP Capítulo

Leia mais

Gerenciamento de Escopo na Gestão de Projetos

Gerenciamento de Escopo na Gestão de Projetos Gerenciamento de Escopo na Gestão de Projetos Airton Eustaquio Braga Junior aebjr@terra.com.br MBA Gestão de Projetos em Engenharia e Arquitetura Instituto de Pos-Graduação IPOG Goiania, GO, 02 de Setembro

Leia mais

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1 Qualidade Plácido A. S. Neto 1 1 Gerência Educacional de Tecnologia da Informação Centro Federal de Educação Tecnologia do Rio Grande do Norte 2006.1 - Planejamento e Gerência de Projetos Agenda Introdução

Leia mais

Modelos de Qualidade de Produto de Software

Modelos de Qualidade de Produto de Software CBCC Bacharelado em Ciência da Computação CBSI Bacharelado em Sistemas de Informação Modelos de Qualidade de Produto de Software Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo

Leia mais

RESOLUÇÃO Nº 542, DE 13 DE JANEIRO DE 2015

RESOLUÇÃO Nº 542, DE 13 DE JANEIRO DE 2015 Publicada no DJE/STF, n.10, p. 1-3 em 16/01/2015 RESOLUÇÃO Nº 542, DE 13 DE JANEIRO DE 2015 Dispõe sobre as prerrogativas, as responsabilidades, a competência e a atuação da Secretaria de Controle Interno

Leia mais

SENAC GO. Gestão da Tecnologia da Informação. Tópicos especiais em administração. Professor Itair Pereira da Silva. Alunos: Eduardo Vaz

SENAC GO. Gestão da Tecnologia da Informação. Tópicos especiais em administração. Professor Itair Pereira da Silva. Alunos: Eduardo Vaz SENAC GO Gestão da Tecnologia da Informação Tópicos especiais em administração Professor Itair Pereira da Silva Alunos: Eduardo Vaz Jalles Gonçalves COBIT COBIT (CONTROL OBJETIVES FOR INFORMATION AND RELATED

Leia mais

Governança de TI com COBIT, ITIL e BSC

Governança de TI com COBIT, ITIL e BSC {aula #2} Parte 1 Governança de TI com melhores práticas COBIT, ITIL e BSC www.etcnologia.com.br Rildo F Santos rildo.santos@etecnologia.com.br twitter: @rildosan (11) 9123-5358 skype: rildo.f.santos (11)

Leia mais