Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelos de Melhoria de Processos de So/ware Aula 4 – Revisão de Engenharia de So6ware Agenda Obje;vos de negócio – recapitulando Debate Revisão sobre Engenharia de So6ware Debate OBJETIVOS DE NEGÓCIO O quê são ObjeFvos de Negócio? O quê são? Produzir produtos ou serviços de qualidade Criar valor para os acionistas Ser um empregador de escolha Aumentar a sa;sfação de clientes Manter a sa;sfação de clientes Aumentar o market share Implementar melhores prá;cas de redução de custos Ganhar amplo reconhecimento de excelência na indústria Entregar produtos dentro do orçamento e prazos Melhorar a qualidade de produtos por um percentual específico em uma janela de tempo definida O quê são ObjeFvos de Negócio? O quê são? Melhorar a produ;vidade por um percentual específico em uma janela de tempo definida Melhorar o *me to market de novos produtos ou revenda de serviços por um percentual específico em uma janela de tempo definida Reduzir funcionalidades diferidas de produtos por um percentual específico em uma janela de tempo definida Reduzir a taxa de recalls de produtos por um percentual específico em uma janela de tempo definida Reduzir o custo total de propriedade do cliente por um percentual específico em uma janela de tempo definida Diminuir o custo de manutenção de produtos legados por um percentual específico em uma janela de tempo definida O quê são ObjeFvos de Negócio? De acordo com o CMMI: Obje;vos desenvolvidos pela gerência sênior designados para garan;r a existência conFnuada de uma organização e para aumentar a sua lucra;vidade, fa;a de mercado, e outros fatores que influenciam o sucesso da organização. OBJETIVOS DE NEGÓCIO E PROGRAMAS DE MELHORIA Programas de Melhoria em Direção a ObjeFvos de Negócio Ser compe;;vo requer uma série de melhorias incrementais em processos que agregam valor para os clientes: Gerenciamento de Projetos Gerenciamento de Requisitos Gerenciamento de Configuração Gerenciamento de Riscos Etc. Programas de Melhoria focam na melhoria da capacidade de processos e na maturidade organizacional. Mas de nada adiantam se não ;verem moFvações. Papel dos ObjeFvos de Negócio na Melhoria de Processos Os obje;vos de negócio devem ser a força guiadora nos esforços de melhoria de processos, provendo o contexto necessário para guiar as aFvidades organizacionais de melhoria de processos A melhoria de processos deve ser u;lizada para auxiliar uma organização a aFngir da melhor forma os seus obje;vos de negócio Os obje;vos de negócio organizacionais possuem um papel chave nas seguintes a;vidades de melhoria de processos: Definição de metas e objeFvos de melhoria de processos Definição de objeFvos de avaliação Priorização de ações de melhoria de processos Arquitetura e implementação de soluções de processos Implementação de soluções Como devem ser? Os obje;vos de negócio que melhor guiam trabalhos de melhoria de processos possuem as seguintes caracterís;cas: Destacam áreas que são mais críFcas para o sucesso da organização Não promovem consequências indesejadas São quan;ta;vos e mensuráveis (SMART) Como devem ser?* SMART Specific: detalham exatamente o que precisa ser feito Measurable: sucesso ou progresso pode ser medido Achievable: o obje;vo é aceito pelos responsáveis em alcançá-‐lo RealisFc: o obje;vo é possível de se obter (importante para efeitos mo;vacionais) Timed: o período para alcançá-‐lo é claramente afirmado Erros Comuns no Desenvolvimento e ArFculação de ObjeFvos de Negócio Organizacionais Foco nos resultados de uma avaliação (por exemplo CMMI nível 2) ao invés de focar na performance do negócio Obje;vos relacionados a pensamentos desejáveis Obje;vos não mensuráveis Obje;vos não diretamente relacionados a ou relacionáveis a aFvidades de desenvolvimento Uso de ObjeFvos de Negócio em Avaliações Os obje;vos de negócio organizacionais são u;lizados em avaliações de muitas maneiras, como por exemplo: Desenvolvendo o plano de avaliação usando objeFvos de avaliação que são alinhados com os objeFvos de negócio Provendo contexto para encorajar os par;cipantes da avaliação com contributos úteis Guiando o Fme de avaliação na iden;ficação de áreas para revisar e no julgamento de classificações Ar;culando as principais mensagens para fornecer ao sponsor da avaliação Exemplos do Vínculo de ObjeFvos de Negócio e Avaliações (1/2) Os seguintes obje;vos de negócio chave proveram contexto para a inicia;va de melhoria de processo de uma organização: 1. Qualidade geral do sistema. 2. Integridade do sistema. 3. Previsibilidade de prazos. 4. Habilidade de facilitar crescimento rápido. Em conjunto com estes obje;vos de negócio, os seguintes são os principais obje;vos da avaliação: 1. Fazer baseline daspráFcas atuais contra as prá;cas das áreas de processo dos níveis de maturidade 2 e 3 do CMMI-‐DEV. 2. Entender a consistência de prá;cas na empresa. 3. Facilitar melhorias para prá;cas atuais. Exemplos do Vínculo de ObjeFvos de Negócio e Avaliações (2/2) Obje;vos de Negócio Aumentar a previsibilidade dos entregáveis de projetos. Aumentar a nossa eficiência / produFvidade – reduzir tempo gasto em retrabalho e minimizar defeitos. Melhorar a nossa capacidade e apFdão para responder a mudanças exteriores e idenFficar áreas de maior ganho. Estabelecer medição orientada a metas com um mecanismo para melhoria de processos concnua. Obje;vos de Avaliação Avaliar as práFcas atuais contra as práFcas do nível 2 de maturidade do CMMI-‐DEV. IdenFficar iniciaFvas de melhoria necessárias para as áreas de atuação. Posicionar a empresa para desenvolver um plano de melhoria de processos baseado em um resultado de avaliação. Estabelecer um caminho de melhoria e um plano de medição de progresso claros. EXEMPLO Debate Qual a relação entre programas de melhoria e obje;vos de negócio? Todos obje;vos de negócio podem ser tratados em um programa de melhoria de processos? Qual deve ser o envolvimento das pessoas da organização em um programa de melhoria? Todos devem ter as mesmas a;tudes? REVISÃO DE ENGENHARIA DE SW Exercício em grupos de 4 alunos Quais são as disciplinas que compõem o desenvolvimento de um so6ware? Debater com os colegas e depois no grande grupo 20 min Estratégia/ObjeFvos de Negócio Responsáveis por direcionar a organização. Servem para manter ou alcançar novo posicionamento no mercado. Normalmente definidos pela direção/CEO/alta gerência. Gestão Responsável pela condução (planejamento e monitoramento) de projetos. Apoiam o dia-‐a-‐dia das operações, controlando prazos, escopo, custos, recursos, qualidade, comunicação, etc. Desenvolvimento Requisito: Uma condição ou uma capacidade com a qual o sistema deverá estar em conformidade. IdenFficar (elicitar), organizar e documentar as funcionalidades requeridas e as restrições. Rastrear e documentar as decisões: Projeto do sistema Métricas Acompanhamento com o cliente Dar subsídios para a es;ma;va de tempo do projeto. Desenvolvimento -‐ Análise Necessidades Características (Features) Requisitos de Software (Use Cases) Problema Espaço do Problema Espaço da SoluçãoProduto Rastreabilidade Documentos p/ Usuário Design Scripts de Teste Desenvolvimento -‐ Análise Desenvolvimento -‐ Projeto Pensar como fazer antes de fazer! Documento de Arquitetura Especificação Técnica Diagramas (de classe, componentes, sequência, etc.) U;lização de design paeerns Dar subsídios para a es;ma;va de tempo do projeto. Desenvolvimento -‐ Implementação Fazer! Codificar Fazer teste unitário Documentar Tomar café Desenvolvimento -‐ Testes Ver se fizeram certo! Casos de testes Achar bugs em códigos e em documentação Mostrar tendências de qualidade Validação com o cliente Dar subsídios para a es;ma;va de tempo do projeto. Tempo Incremento concnuo em um so6ware ao longo de iterações de desenvolvimento, onde cada iteração contém análise, projeto, implementação, testes e entregas; A proporção destas disciplinas é variável de acordo com a fase do ciclo de desenvolvimento na qual a iteração está posicionada. Ciclo iteraFvo-‐incremental • Re-‐lembrando: O que é a ITERAÇÃO? – Uma sequência dis;nta de a;vidades planejadas com critérios de avaliação que resultam em uma release (interna ou externa). • So6ware desenvolvido em partes. Ciclo iteraFvo-‐incremental Te m po Fase Marco Iniciação Consolidação e Detalhamento Inicial dos Requisitos Refinamento do Planejamento Elaboração Prova da Arquitetura Construção Produto com capacidade operacional Transição Implantação do produto Ciclo iteraFvo-‐incremental Debater com os colegas e depois no grande grupo 20 min • Preciso detalhar todos os requisitos na Iniciação? • Posso iniciar a programar na Iniciação? • E se quiser “adiantar” tarefas de uma fase, posso ter duas fases em paralelo? • E duas iterações em paralelo? • Para gerar uma release devo obrigatoriamente fechar uma iteração? Ciclo iteraFvo-‐incremental – Reflexões -‐ Debate Porque os so/wares mudam! Devido a: – Novas necessidades – Complexidade do requisito ser maior do que originalmente avaliado – Entendimento/percepção do usuário mudar – Alterações ou restrições de negócio que não eram esperadas – Alterações ou restrições de ambiente do cliente que não eram conhecidas no início do projeto – ... Precisamos controlar os artefatos e as mudanças do projeto a fim de mantermos o so/ware estável e não termos problemas, visto que as mudanças ocorrerem com frequência e termos várias pessoas desenvolvendo uma mesma aplicação. Por que precisamosgerenciar a configuração de um so/ware? Evolução de Requisitos Capacidade a qual o sist. precisa estar em conformidade Requisitos Funcionais e Não-‐funcionais que devem ser implementados para garan*r as necessidades e caracterís*cas do Sistema Implementação Implementação de Componentes Testes Necessidades e CaracterísFcas do Cliente (Descobrir qual o problema real) Análise de Negócio Componentes Construção de Componentes Técnicos O que é Gerência de Configuração? É a disciplina de Engenharia de So6ware que contempla os processos suportados por ferramentas e técnicas para gerenciar mudanças em So6ware, para que elas ocorram de forma controlada e que possam ser absorvidas pelo projeto sem desestabilizar o andamento dos desenvolvimentos. Exemplos de problemas derivados da Gerência de Configuração inadequada – Funcionalidades implementadas e testadas desapareceram; – Úl;ma versão do código não é encontrada; – Defeitos corrigidos são reinseridos no código; – Desenvolvimento e testes realizado na versão incorreta do código; – Não existe registro do que foi entregue ao cliente; – Código disponibilizado não compila porque não contém as versões corretas; – O programa em execução e o seu código fonte estão em diferentes versões; – Não é encontrado a documentação aprovada pelo cliente; – ... Infraestrutura Repositórios Servidores Bancos de Dados Redes Operações + Suporte U;lização do so6ware no dia-‐a-‐dia Apoio a u;lização Help-‐desk • Correção de defeitos • Apoio a usuários • Configurações Manuais FAQ’s Tutoriais Aquisição Quando é necessário adquirir so/ware de terceiros! Etapas Criação de Request for Proposal (RFP) Seleção de fornecedor Acompanhamento de fornecedor (prazos, custos, qualidade das entregas) Incorporação (via integração) dos entregáveis do fornecedor Testes das entregas Treinamentos As pessoas precisam saber o que e como fazer! Necessidades Planejamento de cursos com base na necessidade organizacional Instrutores Materiais Aulas (presenciais ou EAD) Provas Processos Ferramentas A;vidades Pessoas Modelos (CMMI, MPS.BR, ISO’s, etc.) Necessidades de negócio Quais são os 3 maiores problemas da Eng. de SW? Pessoas Pessoas Pessoas Debate Como u;lizar a Eng. de SW em uma organização? Deve sempre se fazer tudo? O que não fazer? Por que u;lizar modelos de qualidade?
Compartilhar