AFINAL O QUE É UMA FÁBRICA DE SOFTWARE Aguinaldo Aragon Fernandes
Agenda O conceito da fábrica de software A fábrica de software é um negócio Escopos de fábricas de software Requisitos para uma fábrica de software Componentes genéricos de uma fábrica de software Implantar ou melhorar uma fábrica, é um projeto Outras novidades que merecem atenção
O conceito da fábrica de software Administração Científica Produção em Massa Processos Industriais Controle de Qualidade Técnicas Industriais Gestão da Qualidade Total Engenharia De Software Qualidade do Processo de Software Product-Line O estado da arte na gestão de processos de TI deriva de conceitos há muito tempo difundidos no meio industrial e em negócios risk-intensive
O conceito da fábrica de software Um processo estruturado, controlado e melhorado de de forma contínua, considerando abordagens de de engenharia industrial, orientado para o atendimento a múltiplas demandas de natureza e atendimento a múltiplas demandas de natureza e escopo distintas, visando à geração de escopo distintas, visando à geração de produtos de software, conforme os requerimentos produtos de software, conforme os requerimentos documentados dos usuários e/ou clientes, da documentados dos usuários e/ou clientes, da forma mais produtiva e econômica possível
A fábrica de software é um negócio A fábrica é como se fosse um produto e deve ser rentável Gestão do Negócio Lead Pré-Venda Operação Fábrica Se mal conduzido A operação não é rentável
A fábrica de software é um negócio Condições para ser rentável Demanda contínua fazendo uso do máximo da capacidade instalada Processos (inclusive do CMMI) alinhados com a operação e que agreguem valor Forte automação dos processos Gestão do conhecimento Distribuição da operação para locais cuja mão de obra é qualificada mas barata
Escopos de fábricas de software Fábrica de Projetos (Ampliada) Fábrica de Projetos de Software Fábrica de Projetos Físicos Fábrica de Programas ARQUITETURA DE SOLUÇÃO PROJETO CONCEITUAL ESPECIFICAÇÃO LÓGICA PROJETO DETALHADO CONSTRUÇÃO E TESTE UNITÁRIO TESTE INTEGRADO TESTE DE ACEITAÇÃO
Escopos de fábricas de software Recebimento e Aceitação Planejamento e Distribuição Análise da Tarefa Execução da Codificação CLIENTE Homologação e Liberação Testes Modelo Genérico
Gestão da Infra-Estrutura Escopos de fábricas de software GESTÃO ESTRATÉGICA E TÁTICA Gestão do Desempenho e Níveis de Serviços Gestão da Capacidade e Demanda Gestão da Qualidade e Processos Gestão da Segurança e Continuidade Gestão Financeira Gestão dos Serviços Solicitação de Serviços Planejamento e Aceitação Execução Dos Serviços Gestão da Configuração Gestão de Recursos GESTÃO OPERACIONAL Atendimento Emergencial Solicitações Atendidas Solicitação Emergencial
Requisitos para uma fábrica de software Deve haver um processo definido e padrão para o desenvolvimento do produto de software; A Fábrica deve ter um forte gerenciamento da interface com o usuário e/ou cliente, tanto no sentido de recebimento de solicitações como entrega dos produtos solicitados; A entrada para a Fábrica (a ordem de serviço ou solicitação de serviço), deve ser padronizada; As estimativas de prazo e custo devem ser baseadas na capacidade real de atendimento da Fábrica a uma determinada demanda; Deve haver métodos padrões de estimativas baseados em históricos; A Fábrica deve ter, de preferência, tempos padrões de atendimento já estabelecidos de acordo com o domínio da aplicação, da plataforma tecnológica e do tamanho da demanda (programa e/ou projeto);
Requisitos para uma fábrica de software Os perfis de recursos humanos devem ser controlados e estarem alinhados ao tipo de demanda (natureza e complexidade) da Fábrica; A Fábrica deve ter um rigoroso controle dos recursos em termos de sua alocação, disponibilidade, necessidade futura e produtividade (esta deve ser medida); A Fábrica deve ter um processo para o planejamento e controle da produção; A Fábrica deve ter o controle do status das múltiplas demandas em seu processo e permitir rastreamento dessas demandas; A Fábrica deve controlar todos os itens de software (documentos, métodos, procedimentos, ferramentas e código), criando uma biblioteca de itens; A Fábrica deve ter o absoluto controle do andamento da execução de cada demanda;
Requisitos para uma fábrica de software Os produtos de software devem ser construídos de acordo métodos, técnicas e ferramentas padronizadas; A Fábrica pode ter processos distintos para atendimento a demandas de natureza diferentes; Todos os recursos humanos devem estar aptos e treinados para as tarefas de desenvolvimento de software e para operarem processos operacionais e de gestão; A Fábrica deve ter processos de atendimento (resolução de problemas) para os usuários e/ou clientes; A Fábrica deve ter mecanismos que garantam a qualidade do produto de software, conforme requerimentos do usuário e/ou cliente; A Fábrica dever ter mecanismos de apuração, apropriação e controle de custos;
Requisitos para uma fábrica de software A Fábrica deve ter mecanismos de medições de atributos de sua operação, tais como: tempos médios de atendimento, densidade de defeitos dos produtos, eficiência de remoção de defeitos, exatidão das estimativas e assim sucessivamente; A Fábrica tem que ter um absoluto controle sobre os níveis de serviços acordados com os seus usuários e/ou clientes; A Fábrica tem que melhorar seus processos de forma contínua visando o aumento de sua produtividade e a redução de seus custos de operação; O ambiente de hardware e software da Fábrica deve ser estável e estar alinhado com as necessidades dos seus usuários e/ou clientes.
Requisitos para uma fábrica de software Do ponto de vista operacional e de negócios, a abordagem de evolução por estágios do CMMI pode ser questionada Quando estamos implementando a fábrica de software Nível 5 Nível 4 Nível 3 Nível 2 Imagina uma operação começar sem controle de SLA???
Componentes genéricos de uma fábrica de software Processo de Gestão Estratégica do Processo de Serviço Processo de Gestão da Operação Processo de Gestão do Serviço Processo de Serviço Processo de Suporte
Componentes genéricos de uma fábrica de software Planejamento Estratégico. Processo de Gestão Estratégica do Processo de Software Planejamento de Riscos Gestão Financeira Gestão da Melhoria Recursos Humanos Treinamento Planejamento da Tecnologia e Processos Compliance Gestão da Mudança Tecnologia e Processos Gestão do Desempenho Segurança Gestão do Conhecimento Gestão da Demanda Recebimento e Liberação Planejamento e Aceitação Gestão de Problemas Gestão da Configuração Processo de Gestão da Operação Revisão Conjunta Oper. Planejamento e Controle da Produção Gestão de Subcontratos Projetos de Implementações Controle do Risco I Gestão dos SLA s e Contratos Gestão da Qualidade e Produtividade Logística de Recursos Controle de Custos I Gestão do Atendimento Ao Cliente Controle de Requisitos Controle do Prazo Controle do Custo II Controle do Risco II Controle da Qualidade. Processo de Gestão do Projeto Controle da Mudança Gestão de Subcontratado Homologação Ordem de Serviço Gestão do Teste Gestão de Problemas II Processo de Construção do Produto de Software Revisão Conjunta Gestão do Desempenho do Projeto Análise da OS Especificar Requisitos Desenvolver Projeto Construção Planejamento Teste Preparação Teste Teste Unitário Teste Integrado Teste de Sistemas Instalação Teste De Aceitação Implantar Atendimento A Ajustes Processo de Suporte Serviços de Suporte Software Serviços de Suporte Engenharia De Software Serviços de Suporte Infra Serviços de Suporte Adm
Componentes genéricos de uma fábrica de software Processo de Gestão Estratégica do Processo de Software Foco no Processo Organizacional Treinamento Organizacional Definição do Processo Organizacional Desempenho do Processo Organizacional Ambiente Organizacional Para Integração (visão compartilhada) Inovação Organizacional e Disseminação Medição e Análise Análise de Decisão Planejamento do Projeto Processo de Gestão da Operação Controle e Monitoramento do Projeto Gestão do Acordo com o Fornecedor Gestão Integrada do Projeto Quality Assurance Processo e Produto Gestão do Projeto Gestão do Risco Integração da Equipe Gestão Integrada do Fornecedor Gestão Quantitativa do Projeto Análise Causal Processo de Construção do Produto de Software Gestão do Requisitos Desenvolvimento dos Requisitos Solução Técnica Integração do Produto Verificação Validação Processo de Suporte Gestão da Configuração Ambiente Organizacional Para Integração (infra-estrutura)
Implantar ou melhorar uma fábrica é um projeto Decisões acerca da estrutura da operação de serviços Qual o escopo e linhas de serviços que a operação deve atender? Quais os critérios para a introdução de uma nova linha de serviços? Quais os critérios para a implantação de um novo cliente? O que deve ser levado em consideração para um projeto de uma nova linha de serviços? Qual parte do processo a operação deve possuir? Qual a localização da operação? Qual a capacidade de atendimento da operação? Como serão as instalações da operação? Qual o arranjo físico mais adequado? Qual a tecnologia de engenharia para cada linha de serviço? Qual o processo operacional de cada linha de serviço da operação? Qual o processo de gestão da operação?
Componentes genéricos de uma fábrica de software Decisões acerca da da estrutura da da operação de de serviços Qual o nível e o tipo de automação da operação? Qual o nível e o tipo de automação da operação? Qual a infra-estrutura de recursos de hardware, software Qual a infra-estrutura de recursos de hardware, software e comunicação para a operação? e comunicação para a operação? Qual o projeto de divisão de trabalho mais adequada? Qual o projeto de divisão de trabalho mais adequada? Quais os perfis dos recursos humanos requeridos para a Quais os perfis dos recursos humanos requeridos para a operação? operação? Qual Qual a política de de desenvolvimento e retenção de de recursos humanos? Qual Qual a estrutura organizacional da da operação? Qual Qual o projeto de de estação de de trabalho dos dos colaboradores (ergonomia)?
Componentes genéricos de uma fábrica de software Decisões acerca da infra-estrutura da operação de serviços Quais as políticas de planejamento e controle da capacidade produtiva a serem adotadas pela operação? Quais as políticas a serem adotadas para o planejamento e o controle de artefatos e conhecimento da operação? Qual a política de compra de licenças de software e outros recursos? Qual a política de suprimento de recursos humanos? Qual a política de contratação de serviços? Qual a sistemática de planejamento e controle da qualidade a ser adotada? Quais os níveis de serviços de qualidade a serem adotados pela operação? Quais os padrões de desempenho a serem adotados? Qual a política de melhoria da operação? Quais os modelos de maturidade ou de qualidade a serem adotados? Qual a política de prevenção e gestão de riscos?
Outras novidades que merecem atenção The IT Services Qualification Center esourcing Capability Model for Service Providers Desenvolvido por um consórcio liderado pela Carnegie Mellon University Destinado à avaliação de capacidade de prestadores de serviços (outsourcing offshore) Também tem avaliação formal por empresa credenciada pelo ITsqc O modelo tem três dimensões: Ciclo de vida do sourcing Áreas de capacidade Níveis de capacidade
Outras novidades que merecem atenção Ciclo de Vida do Sourcing Iniciação Entrega Finalização Andamento Gestão do Conhecimento Gestão de Pessoas Gestão do Desempenho Gestão do Relacionamento Gestão da Tecnologia Sustentam a excelência NÍVEL 5 Gestão de Ameaças Geram valor de forma proativa NÍVEL 4 Contratação Projeto e Implantação do Serviço Gerenciam o desempenho organizacional NÍVEL 3 Entrega do Serviço Transferência do Serviço Atendem os requerimentos consistentemente NIVEL 2 Provedores de Serviços
Obrigado! aragon@prizm.com.br aragon@tgstec.com.br 4153-0514