1 Qualitor Módulo GMS Versão 5.i Desenvolvimento de sistemas Atividades relacionadas Análise Entrevista, requisitos, documentação, projeto Codificação Programação Testes Planos de testes, check-lists Validação “Juntar as partes”, “Testar tudo junto”, entradas x saídas Empacotamento Compilação, dependências, instaladores Liberação Plano de liberação, sistemática e operacionalização Processo de Software Processo Uma sequência de atividades realizadas para um determinado objetivo ser atingido Processo de software Um conjunto de atividades, métodos, práticas e transformações que as pessoas utilizam para desenvolver e manter software e produtos relacionados. Premissa de Processo de software A qualidade do sistema de software é altamente influenciada pela qualidade do processo* utilizada para seu desenvolvimento e manutenção. *Maturidade Processos são medidos por seu nível de maturidade Uma nomenclatura também utilizada é MPS Melhoria de processos de software Maturidade nas organizações Imaturas Processos improvisados pelas pessoas Processo não seguido ou não cumprido Grande dependência das pessoas Baixa visibilidade do processo em evolução e qualidade Funcionalidade e qualidade do produto final variam para atender ao prazo Altos custos para manutenção Tecnologia mais importante do que o processo Maduras Processos definidos, documentados e melhorados continuamente Processo seguido, permanentemente Processo utilizado pela gerência: gerenciamento Processo verificado e cumprido Papeis e responsabilidades claramente definidos Processo mais importante do que tecnologia Modelos de MPS Oferecem sugestões de melhores práticas para processos de desenvolvimento Existem vários modelos que podem ser utilizados CMM / CMMi, ISO9001, SPICE ISO15504, NBR/ISO IEC 12207, MPSBr CMM: Conceito Capability Maturity Model for software, desenvolvido pela SEI (Software Engineering Institute) é um modelo (framework) que descreve elementos chave para um processo de software eficaz. É o modelo mais conhecido e utilizado mundialmente para software; no Brasil, está se buscando um modelo mais simplificado, o MPSbr. Organizado em Áreas de Processo (PA) e Prática Específica/Objetivo Específico CMM: Conceito É representado por estágios de evolução, de 1 a 5 1- Inicial: Sem controle, reativo e imprevisível 2- Gerenciado: Requisitos gerenciados, processo planejado, medido e controlado. Ainda reativo 3- Definido: Nível 2 mais Pró-ativo. 4- Quantitativamente gerenciado: Processo medido e totalmente controlado 5- Otimização: foco na melhoria contínua do processo CMM_2 Nível de maturidade 2 Processos básicos estabelecidos para o gerenciamento de custo, prazos e funcionalidades. Características Gerenciamento de requisitos dos projetos Abordagem de processo: planejamento, execução, verificação e ajustes (PDCA) Projetos são gerenciados de acordo com o planejamento Controle permite o acompanhamento de pontos-chave (“milestones”) Participação das partes envolvidas (stakeholders) As práticas devem ser mantidas independente de situações inesperadas ou de crise CMM_2 x GMS Área de processo Prática específica/Objetivo específico Recursos GMS Gerenciamento de Requisitos PE-Entendimento de requisitos -Solicitação do usuário via WEB (Inclui justificativa à solicitação, data-limite, soluções alternativas) -Aprovação do superior imediato -Análise crítica pelo gerente de sistemas -Aprovação de requisitos (escopo) pelo solicitante PE-Comprometimento com os requisitos -Alocação dos recursos (programadores, testadores) -Fila de prioridades -Planos de testes CMM_2 x GMS Planejamento de projetos OE-Estabelecimento do orçamento e cronograma do Plano do Projeto - Módulo de faturamento com aprovação de orçamento por usuários - Possibilidade de faturar o projeto - Possibilidade de controle de despesas do projeto OE-Planejamento de recursos -Programadores, testadores e demais pessoas envolvidas, com tarefas distribuídas e tempo estimado/dispendido OE-Envolvimento dos Stackholders - Partes envolvidas, nos projetos do Qualitor, notificadas PE-Estimativa de escopo -Módulo de projetos -Fila de prioridades PE-Estimativa do produto de trabalho e atributo das tarefas -Módulo de projetos -Fila de prioridades PE-Definição de ciclo de vida do projeto - Módulo de projetos PE-Estimativa de esforço e custo -Previsão de horas por etapa, atividade ou pessoa envolvida CMM_2 x GMS Monitoramento e controle de projetos Gerência de ações corretivas -Suporte a RNCs por chamados ou através de sistema de Plano de Ações -Sistema de Plano de Ações integrado aos chamados, com seqüência dependendo das próprias ações COBIT Control Objectives for Information and Related Technologies Se preocupa mais com o uso corporativo da TI, para gerentes e auditores Mais amplo Orientado à governança corporativa Organizado em Domínios COBIT x Qualitor GMS Domínio COBIT Objetivo GMS Planejamento e Organização Prestação de serviços de TI Definição do papel sobre a liberação (aprovações) Estabelecer prioridades e entregar serviços oportunamente Envolvimento dos usuários solicitantes Estimativa de custo e horashomem Planos de testes Aprovação pelo usuário Aquisição e Implementação Proporcionar funções automatizadas que suportem o negócio Sistematização de todo o processo, desde a solicitação até a entrega Entrega e suporte Definição dos níveis de serviço e Monitoramento Estabelecimento de requisitos de prazos e prioridades Gestão das prioridades e entregas Confirmação de recebimento pelos solicitantes Por quê o Qualitor GMS? Implantar uma abordagem de processo para o desenvolvimento e manutenção de software Registrar e controlar as solicitações e necessidades de usuários sobre a manutenção ou desenvolvimento de sistemas Garantir da forma mais aproximada possível a entrega da necessidade esperada Gerenciar de forma sistemática e repetitível o processo, desde a solicitação do usuário final até a entrega do produto final, seja com equipe de desenvolvimento interna ou com empresa terceirizada prestando serviços. Modalidades de utilização Desenvolvimento e manutenção internos nas empresas, pela área de TI Desenvolvimento e manutenção feitos por empresas de software, o que pode envolver “projetos de desenvolvimento de software” Integração entre Suporte técnico e a área de desenvolvimento de sistemas Qualitor GMS: princípios Padronização A utilização por todos e para todos os projetos deve seguir o mesmo procedimento e gerar o mesmo tipo de resultados. Consistência Os resultados gerados devem ser consistentes, refletindo a realidade das necessidades do cliente. Repetição Sempre produzir resultados consistentes utilizando os mesmos métodos, compatível com os requisitos do nível 2 do CMM. Flexibilidade Deve ser adaptável aos diferentes tipos de necessidades que os clientes apresentarem sem ferir os demais objetivos. Gerenciamento Deve permitir a qualquer momento o acompanhamento dos projetos de desenvolvimento, identificando-se responsável, prazos, situação em relação aos prazos e indicadores se aplicáveis. Qualitor GMS é sistematização Análise crítica de requisitos Caracterização da solicitação Planejamento de implementação Execução de implementação Planos de Testes Geração de documentação Qualitor GMS: sistematização Análise crítica e de requisitos Análise e definição da viabilidade técnica, conceitual ou de prioridades, para a solicitação Dados sobre a necessidade do usuário: motivo, data-limite, problemas a serem resolvidos, etc Documentação da análise Caracterização da solicitação, incluindo estimativa de tempo/recursos Sistema e módulo afetados Tipo de implementação: Nova, alteração, correção, etc Horas de trabalho previstas (Análise, construção, testes) Caso de uso ou função existente ou novo(a) (documentação dos sistemas) Previsão de versão de liberação Projeto de implementação (opcional) Qualitor GMS: sistematização Planejamento de implementação Priorização, com análise de gravidade, urgência e impacto ou prazo solicitado pelo usuário Tempo de implementação estimado (Horas de trabalho da equipe e/ou por pessoa) Equipe ou pessoal a ser alocado Execução da implementação, incluindo controle de prazos Visualização e gerenciamento de filas de implementação Acompanhamento das implementações como Projetos Processo formal para verificação e testes Testes sistematizados, incluindo check-lists (Planos de testes) Monitoramento e contabilização de retrabalho Garantia de entrega das necessidades: confirmação de fechamento, inclusive por fase de projeto Qualitor GMS: sistematização Geração de documentação,incluindo gerência de configuração ("Versioning"). Implementações por tipo Documentação de casos de uso por sistema/módulo Horas alocadas por sistema/módulo ou solicitantes Desempenho de equipe, com número de implementações, novos casos de uso, erros gerados, etc Histórico de implementações por versão (Changelist) Apoio de base de conhecimento, para equipe de desenvolvimento e suporte Fluxo (Metodologia) Solicitação Aceite Aprovações Qualificação Priorização, planejamento e Alocação de pessoal Análise coordenador Fila de implementação Testes Fluxo (Metodologia) Solicitação • Usuário final cadastra sua necessidade através do call-center ou diretamente via web É informado sobre as mudanças de situação de acordo com workflow do Qualitor help Pode acompanhar via web suas solicitações Informações essenciais para a análise/aprovação Fluxo (Metodologia) • Aprovação (opcional) pelo superior imediato ou outros personagens •Análise pelo Coordenador O responsável pelo sistema/módulo avalia a solicitação Aprova ou rejeita Libera para qualificação, que pode ser feita por ele mesmo ou terceira pessoa Define opcionalmente protocolos de verificação a serem feitos (Testes) Fluxo (Metodologia) Qualificação (Priorização) São definidos Planejamento de implementação: imediata, próxima versão, trimestre ‘n’ , etc Coeficientes: por exemplo, Gravidade, Urgência, Impacto Use case envolvido (ou novo UC) Análise de impactos Número de horas estimadas Estes dados são utilizados pelo sistema para cálculo de prioridades e geração da fila de implementações Principais recursos Cálculo de prioridades Fila de prioridades Suporte a Testes Time-sheet Documentação Acompanhamento como projetos Cálculo de prioridades Ajudam a determinar “o que fazer primeiro” Diversos algoritmos avançados disponíveis (Modificadores) Coeficientes Livremente cadastrados O que considerar para as prioridades: por exemplo, Importância e Urgência Número de dias ou horas da solicitação na “fila” Atraso na previsão original aumenta a prioridade Re-trabalho Solicitações não iniciadas Severidades: cada severidade pode ter diferentes coeficientes Cálculo de prioridades Prioridades por coeficientes Valores entrados no “range” permitido Multiplicado pelo “peso” dos coeficientes Considera ainda o peso pelos modificadores já citados Na configuração do Tipo No chamado Fila de prioridades Gerenciamento das pendências e prioridades Fila única, baseada nos critérios de restrição* do Qualitor, que mostra as implementações a serem feitas, em ordem. Agrupamento fácil (arrastar e soltar) por responsável, sistema, módulo, tipo de implementação, etc Cores identificam a situação e atrasos * Todos enxergam todas as filas ou somente as suas Suporte a Testes Após a execução de cada implementação, o chamado pode ser “Enviado para verificação” -> Teste O protocolo de teste já pode ter sido definido pelo coordenador: Check-lists prévios Define-se, portanto, o que testar para cada manutenção executada Retornos de testes, em problemas encontrados, são contabilizados, para medição de desempenho de pessoas e equipes (Iterações) Testes de implementações O protocolo de verificação (Teste) consiste em uma série de etapas, ou passos, a serem testados. Check-lists podem ser Obigatórios por Use case. O chamado entrou em “aguardando verificação”. Para ser fechado deve ser feito o teste definido. Time-sheet Registro e contabilização de atividades das pessoas envolvidas no processo de desenvolvimento Importante para: Acompanhamento de tempos de “horas consumidas” para determinação de custos reais Custo de recursos, para projetos Contabilização de atividades e remuneração de pessoal em projetos com mão-de-obra terceirizada Time-sheet Qualitor permite registro e acompanhamento on-line, em tempo real das atividades Documentação Para “Revision control” O que exatamente foi feito em cada versão (pacote) Na análise crítica da implementação(aprovação), informa-se a versão que conterá a manutenção (Planejamento de implementação) O sistema mantém o histórico de todas as manutenções por versão. Base de conhecimento Erros e problemas conhecidos, com versão que corrige-os Boas práticas de programação Padrões Workflow para aprovação, publicação, avisos por email, armazenamento em pastas, popularidade e eficácia de documentação Projetos de desenvolvimento Controle e acompanhamento de projetos, adequado a desenvolvimento de software Mecanismos de controle: Requisitos Itens de controle(desvios e ações) Riscos Planos de ação Reuniões Vínculo com base de conhecimento Projetos de desenvolvimento Acompanhamento de etapas e fases Com conceito de baseline Possibilidade de relacionamento “Fase x chamado” Acompanhamento do andamento Workflow de mensageria Projetos de desenvolvimento Custos e despesas Lançamento de despesas Custos de Mão-de-obra por pessoa x horas trabalhadas GMS e projetos Implementações podem ser agrupadas e controladas quanto a: Versão em que serão liberadas Datas previstas Horas previstas (de todas as implementações) Riscos, reuniões documentadas, planos de ação, base de conhecimento, comunicação às partes envolvidas Acompanhamento pelos solicitantes como um todo Possibilidade de validação por fases Resumo: em que o GMS pode ajudar Documentação e entendimento das necessidades (requisitos) Comunicação e Feedback aos usuários solicitantes Determinar o que fazer primeiro, quando será feito o que Medição da Produtividade de equipe Horas dispendidas por solicitante Horas dispendidas em correções, novas implementações, etc Tempo para entrega de solicitações Falhas geradas Histórico de implementações por versão Documentação de sistemas Casos de uso, funções, Changelist Apoio ao suporte