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) Project Management Book of Knowledge (PMBOK) IT Service Management (ITIL) Expreme Programming e Métodos Ágeis (SCRUM e XP)
PMBOK Visão Geral Um guia que pretende reunir o conhecimento geral sobre metodologias de gestão de projetos; Compilado pelo PMI - Project Management Institute (New York) Apresenta melhores práticas geralmente aceitas conforme contributos de grupos de estudos formados em diversas entidades; Fornece uma referência para qualquer profissional interessado na actividade de Gestão de Projetos.
PMBOK Visão Geral O principal objetivo do PMBOK é identificar um conjunto de conhecimentos de gestão de projetos amplamente reconhecido como boa prática. Não é uma metodologia de gestão de projetos. A ênfase é sobre gestão de projetos e não sobre a engenharia de desenvolvimento do produto. Estrutura a gestão de projetos em 9 áreas de conhecimento, constituídas de 44processos.
PMBOK Visão Geral
PMBOK As várias áreas A) Gestão de integração do projeto: integração dos diversos elementos do gestão de projetos, que são identificados, definidos, combinados, unificados e coordenados. desenvolver o termo de abertura do projeto desenvolver a declaração do escopo preliminar do projeto desenvolver o plano de gestão do projeto
PMBOK As várias áreas A) Gestão de integração do projeto (cont.) orientar e gerir a execução do projeto monitorizar e controlar o trabalho do projeto controle integrado de mudanças encerrar o projeto
PMBOK As várias áreas B) Gestão do escopo do projeto: verificação de que o projeto inclui todo o trabalho necessário, e apenas o trabalho necessário, para que seja concluído com sucesso planeamento do escopo descrição do escopo criar Estrutura Analítica do Projeto - EAP (ou Work Breakdown Structure - WBS) verificação de escopo controle do escopo
PMBOK As várias áreas C) Gestão do tempo do projeto: descrição dos processos necessários para alcançar o término do projeto no prazo correto. definição de atividades sequenciamento de atividades estimativa de recursos da atividade estimativa de duração da atividade desenvolvimento do cronograma controle do cronograma
PMBOK As várias áreas D) Gestão dos custos do projeto: descrição dos processos envolvidos em planeamento, estimativa, orçamentação e controle de custos, de modo que o projeto termine dentro do orçamento aprovado. estimativa de custos orçamentação controle de custos
PMBOK As várias áreas E) Gestão da qualidade do projeto: descrição dos processos envolvidos na garantia de que o projeto irá satisfazer os objetivos para os quais é realizado. planeamento da qualidade realizar a garantia da qualidade realizar o controle da qualidade
PMBOK As várias áreas F) Gestão de recursos humanos do projeto: descrição dos processos que organizam e gerenciam a equipe do projeto planeamento de RH contratar ou mobilizar a equipa do projeto desenvolver a equipa do projeto gestão da equipa do projeto
PMBOK As várias áreas G) Gestão das comunicações do projeto: descrição dos processos relativos à geração, coleta, disseminação, armazenamento e destinação final das informações do projeto de forma oportuna e adequada planeamento das comunicações distribuição das informações relatórios de desempenho gestão das partes interessadas
PMBOK As várias áreas H) Gestão de riscos do projeto: descrição dos processos relativos à realização da gestão de riscos em um projeto planeamento da gestão de riscos identificação de riscos análise qualitativa de riscos análise quantitativa de riscos planeamento de respostas a riscos monitorização e controle de riscos
PMBOK As várias áreas I) Gestão de aquisições do projeto: descrição dos processos que compram ou adquirem produtos, serviços ou resultados, além dos processos de gestão de contratos. planeamento de compras e aquisições planeamento de contratações solicitar respostas de fornecedores selecionar fornecedores administração do contrato encerramento do contrato
ITIL Visão Geral Responsáveis: Escritório de Comércio do governo do Reino Unidos, Pink Elephant e outros. O que é: Conjunto de melhores práticas para operações e gestão de serviços de TI (como gestão de service desk, mudança, capacidade, nível de serviço e segurança). Especialmente popular na Europa. O ITIL rastreia problemas em áreas de serviço de TI como help desk, suporte a aplicações, distribuição de software e apoio a sistemas de contato com o cliente; se sobrepõe ao CMMI em determinadas áreas, como gestão de configuração.
ITIL Visão Geral O ITIL acompanha, por exemplo, as mudanças feitas em sistemas operacionais, mas a qualidade dessas mudanças em termos do número e da gravidade de problemas resultantes delas é uma métrica de CMM. Pontos fortes: Bem estabelecido, amadurecido, detalhado e focado em questões de qualidade operacional e produção de TI. Pode ser combinado a CMMI para cobrir tudo relacionado a TI. Limitações: Não aborda o desenvolvimento de sistemas de gestão de qualidade. Não é voltado para processos de desenvolvimento de software.
ITIL Abrangência
ITIL Estrutura
ITIL Estrutura Sevice Desk é uma função e não um processo, e tem como principal objetivo disponibilizar um único ponto de contato, com comunicação eficiente, entre o utilizador e as áeras de serviço de TI. Incident Management Tem como principal objetivo restabelecer à normalidade operacional no menor tempo possível. Problem Management Este processo tem como prinicipal meta diagnosticar as causas dos incidentes identificados pelo Service Desk e atuar na correção de erros na infraetrutura de TI de forma preventiva e pró-ativa. Change Management Este processo assegura o correto uso de padrões e processos para um rápido e eficiênte atendimento de todas as mudanças. Release Management Visa assegurar que somente versões autorizadas e corretas, serão disponibilizadas e que apenas os softwares com licenças, estejam instalados nas máquinas dos usuários. Configuration Management É o processo de controle dos itens de configuração que compõem a infra-estrutura de Tecnologia da Informação, considerando suas características físicas, conexões e configurações lógicas, desde seu recebimento até sua ativação no ambiente a ser disponibilizado. Tem como função controlar a infra-estrutura de TI assegurando o somente o uso do hardware e software homologado.
ITIL Estrutura Service Level Management - É o processo de planeamento, coordenação, elaboração, monitoração e reporte dos Acordos de Níveis de Serviço (SLA) e, adicionalmente, às revisões dos indicadores constantes dos acordos celebrados de forma a garantir que os requerimentos de qualidade e custos estão mantidos e gradualmente melhorados. IT Service Continuity Management - É o processo de Gestão dos recursos organizacionais, técnicos e humanos - que logicamente ordenados, garantam a manutenção dos serviços que suportam os negócios da organização, dentro de níveis de serviço acordados, incluindo, o suporte mínimo necessário para a continuidade das operações no caso de uma interrupção. Financial Management - É o processo que define o método e as atividades para especificação das peças orçamentárias e seu acompanhamento, e tem como meta tornar visível os custos referentes aos serviços de TI para a empresa. Capacity Management Este processo habilita a organização a gerir os recursos nas crises e predizer com antecipação a necessidade de recusros adicionais. Availability Management - É o processo que visa otimizar a capacidade da infra-estrutura de TI, serviços e suporte para prover, a custo efetivo, um nível de disponibilidade que permita ao negócio atender seus objetivos.
ITIL Alguns aspectos importantes Objetivo da entrega de serviços: Planear e entregar serviços de qualidade para atender às necessidades do negócio SLM Financeira Capacidade Disponibilidade Continuidade de Serviços Gestão de Níveis de Serviço Gestão Financeira Gestão de Capacidade Gestão de Disponibilidade Gestão da Continuidade Nota: SLM Service Level Management
ITIL Alguns aspectos importantes Objetivo de suporte de serviços: Garantir o acesso dos utilizadores aos serviços de TI, de acordo com os níveis de serviço estabelecidos SD Incidentes Problemas Mudanças e Liberação Configuração Service Desk Gestão de Incidentes Gestão de Problemas Gestão de Mudanças Gestão de Liberação Gestão de Configuração
ITIL Service Desk Ponto central de contato para clientes apresentarem questões, reclamações ou reportarem dificuldades Objetivos Assegurar a satisfação e retenção dos clientes dos serviços de TI Promover o uso eficiente e efetivo dos recursos tecnológicos Identificar e reduzir o custo total de propriedade (TCO) dos serviços de TI Suportar a integração de processos de negócio à infraestrutura de gestão de serviços
ITIL Service Desk
ITIL Impacto 1. Implantar ITIL ainda é desafio para empresas A biblioteca ITIL (IT Infrastructure Library) vem ganhando popularidade entre os CIOs devido às melhorias que as práticas podem proporcionar em um departamento de Tecnologia da Informação. Entre os benefícios estão: qualidade de serviço, melhoria no cumprimento de prazos de entrega, resolução de serviços e segurança. 2. Benefício de TI é desconhecido por 68% dos CEOs. Os benefícios que as tecnologias da informação trazem para os negócios são desconhecidos para 68% das empresas, segundo pesquisa da consultoria Booz Allen Hamilton.
ITIL Impacto 1. 90% dos CIOs entendem que TI traz vantagens competitivas mas não as encontram. 2. 45% dos CIOs tem TI alinhada com os negócios. 3. 96% dos CIOs acreditam mais na inovação do que na redução dos custos para o sucesso da sua organização nos próximos anos. 4. 48% dos CIOs acreditam que controlam a cadeia de suprimentos com o Suply Chain. Fonte InfoCorporate Julho/09
Metodologias Ágeis - SCRUM Manifesto Ágil Métodos ágeis focam em simplicidade, software funcional no início das iterações, flexibilidade e intensa comunicação tanto internamente quanto com clientes. Indivíduos e interações são mais importantes que processos e ferramentas. Software funcionando é mais importante do que documentação completa e detalhada. Colaboração com o cliente é mais importante do que negociação de contratos. Adaptação a mudanças é mais importante do que seguir o plano inicial.
Metodologias Ágeis - SCRUM Processo Scrum Scrum é uma abordagem simples para gerenciar o processo de desenvolvimento de software baseado na suposição de que as variáveis técnicas e de ambiente provavelmente mudem durante o processo de desenvolvimento. A origem do Scrum [Object Mentor, Devos, M.] - Projetos onde complexidade e incerteza estão presentes. Complexidade e incerteza Timeboxes Iterativo e Incremental - Uso do desenvolvimento iterativo e incremental nos projetos. - Desenvolvimento de software lean concentra em aplicar a filosofia de gestão da indústria. Ferramentas para Smalltalk Metodologia Scrum Desenvolvimento de software lean
Metodologias Ágeis - SCRUM Como Funciona o Scrum? Scrum aplica o modelo de gestão empírico. Ele inspeciona a condição das tarefas e empiricamente determina o que deve ser feito para produzir o resultado esperado. Modelo de Gestão Empírico
SCRUM Visão Geral do Processo - Planeamento para definir as tarefas do sprint backlog. - Reunião diária para inspecionar o progresso das tarefas. - Revisão do sprint para demonstrar o novo incremento do software. Sprint Backlog Backlog de tarefas detalhado pela equipa 30 dias 24h Reunião diária do Scrum Análise, Projeto, Desenvolvimento e Teste Levantamento de prioridades do produto feita pelo product owner
SCRUM - Vantagens Permite o acompanhento do projecto por parte do cliente Aumento da produtividade da equipa de desenvolvimento Re-engenharia contínua, rápida e do tipo bottom-up Aumenta a comunicação dentro da equipa e com o cliente Curto intervalo de tempo entre as apresentações do trabalho produzido ao cliente
SCRUM - Desvantagens Método que exige uma gestão on-hand, ou seja, implica que o gestor esteja constantemente a efectuar alterações no produto Exige uma monitorização constante do software Decisões no projecto tornam-se mais difíceis, pois a coordenação necessita do empenho de toda a equipa do projecto Necessidade de adaptação a um novo método de gestão e desenvolvimento de software
Gestão da Qualidade Outras Metodologias Rational Unified Process (RUP) Control Objectives for Information and related Technology (COBIT) Software Process Improvement and Capability determination (SPICE) extreme Programming (XP)