Um Modelo de Subcontratação de Desenvolvimento de Software

Slides:



Advertisements
Apresentações semelhantes
Project Management Institute
Advertisements

Engenharia de Software
O Processo Praxis 3.0 Processos de Software 25/03/2017
Metodologias de Desenvolvimento
PMBoK.
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
MO409 / Engenharia de Software I - 1º Semestre / Prof. Eliane 1 1ª Apresentação (A1) Modelos de Processos de Software RA: / Edson Amorina.
Reutilização de Software
CMM(Capabililty Matury Model)
Análise e Projeto de Sistemas
SEPG Conference ´97.
Melhoria da Qualidade de Software utilizando o Modelo CMM
Segurança em Aplicações 2. Processo de Desenvolvimento
FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE
FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
RUPinho Qualidade de Software
Visão Geral PRO.NET.
Cap 2 – Processo de Software
Gestão da Inovação Tecnológica
Capability Maturity Model (CMM)
Gerência de Projetos (continuação)
SA-CMM – Processo de Aquisição de Software
PFC Projeto Final de Curso
Elaboração e Análise de Projetos
Agenda GERÊNCIA DE PROJETOS PMI – Project Management Institute
Análise e Projeto Orientados a Objetos
Bruno Silva Desenvolvido a partir de
Introdução ao Processo Unificado de Desenvolvimento de Software Tiago Lima Massoni UFPE
Qualidade de Software Gerência de projetos.
RUP-PMBOK: Análise Comparativa Seminários em Engenharia de Software e Linguagens Marcus Machado Paulo Oliveira.
Um estudo comparativo entre PMBOK e SWEBOK
ADMINISTRAÇÃO Prof. WAGNER RABELLO JR.
CIn-UFPE1 © 2003, Alexandre Vasconcelos Visão Geral do RUP.
Reinaldo Cabral Como produzir software consumindo menos recursos, em menos tempo e com mais qualidade. Reinaldo Cabral
Gerenciamento de Riscos em Projetos de Software Ricardo de Oliveira Abu Hana.
Engenharia de Software
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Antonio Nascimento Roteiro Introdução Objetivos Áreas de Conhecimento Certificações Conclusões Referências.
MODELOS DE MELHORES PRÁTICAS RELACIONADOS À GOVERNANÇA DE TI
Organizational Project Management Maturity Model
UML Components MO409 – Eng. de Software Profa. Eliane Martins
Prof. Fábio Botelho Metodologia de Desenvolvimento de Software - MDS Padrões de Processo de Software: CMMI.
CMM – Capability Maturity Model Carlos Augusto Mar Ago/2014.
ISO/IEC Prof. Dr. Sandro Ronaldo Bezerra Oliveira
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Gerência e Desenv de Projetos – Cláudio Martins 1 Gerência de Projetos Cláudio Roberto Martins Processos da gerência de projetos.
Utilizando práticas do PMBOK para implantar o Scrum
PSDS com CMMI Nível 2 Dimitri de Almeida Malheiros Barbosa 27/03/2006.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
1 Identificando Riscos em Projetos de IP-cores Aluno: Tiago Lins Orientador: Hermano Perrelli 29/03/2007.
Estudo Comparativo Entre Metodologias Ágeis e Tradicionais Aluno: Márcia Seabra Cabral Professor: Augusto Sampaio Disciplina: Tópicos Avançados em Engenharia.
PMBOK e Gestão de Projetos de Software Gustavo Tibério
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
CMMI Capability Maturity Model – Integration

PROJETO SPICE ISO Integrantes: Erickson Balzaneli
1 Leila Mariz – Gerenciamento de Riscos com Agilidade Gerenciamento de Riscos com Agilidade Leila Mariz Orientador : Hermano Perrelli.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Qualidade do Ponto de Vista de Gestão Aplicado na Homologação de software Márcia Falcão 27/03/2007 Qualidade do Ponto de Vista de Gestão, aplicado na Homologação.
Uma Extensão do Fluxo de Análise e Projeto do RUP com suporte a Desenvolvimento Baseado em Componentes Eduardo Almeida
A Governança de TI e o uso dos Modelos de Referência
A eficiência organizacional com base no gerenciamento de projetos: estudo de caso da AIESEC no Brasil Rafael Oliveira Carvalho Neto Orientador: Prof. Me.
UGF - Auditoria & Qualidade em Sistemas de Informação 1 Fornecimento de Software ISO/IEC Universidade Gama Filho Auditoria & Qualidade Em Sistemas.
CMMI Capability Maturity Model Integration
Especialização em Segurança da Informação Segurança em Aplicações 1. Introdução Márcio Aurélio Ribeiro Moreira
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Um Modelo de Subcontratação de Desenvolvimento de Software Jairo Coutinho de Oliveira (jco@cin.ufpe.br) Alexandre M. L. de Vasconcelos (amlv@cin.ufpe.br) Hermano Perrelli (hermano@cin.ufpe.br) Universidade Federal de Pernambuco (UFPE) CIn – Centro de Informática

Motivação Participação de projetos com necessidade de subcontratação, ex. escolha de fornecedor e serviços Contratos envolvem cifras elevadas, número elevado de profissionais envolvidos e gerenciamento complexo Subcontratação motivada pela redução de custos (fusão de empresas ou foco no core business) 48% das empresas no Brasil ainda não terceirizaram nenhuma de suas funções de TI (fonte Yangee Group - 2002) MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Subcontratação Não é um fenômeno recente em TI Introdução: Ano Foco da Subcontratação Objetivo da Subcontratação 1960s Hardware Serviços e Gerência de Facilidades 1970s Software Gerência de Operação e Facilidades 1980s Padronização de Software e Hardware Customização 1990s Solução Total Gerência de Ativos - Gerencia de facilidades – equipamento, cabeamento, estrutura, rede elétrica, sistema, etc. - 60 – 70s: principalmente em setores de suporte e financeiro 60s 70s 80s 90s Hardware Software Customização Solução Total MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Subcontratação O que se subcontrata? Introdução: Subcontratação O que se subcontrata? O desenvolvimento parcial/completo de software (produto/projeto) Compra ou customização de pacotes de software Atividades do ciclo de desenvolvimento de software MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Introdução: Subcontratação Tipos de SubContratação/Terceirização (Offshore Contract) In-House Building (No outsourcing) Product Component outsourcing Process Component outsourcing Software Acquisition (Total Outsourcing) Construção In-House: desenvolvimento do software é realizado pelo departamento de TI da organização com recursos e limitações próprias. Terceirização de Componentes do Produto: o fornecedor é contratado para desenvolver parte(s) do sistema. Praticado principalmente em grandes projetos onde a empresa pode não ter habilidade ou capacidade para produzir alguma(s) parte(s) do sistema Terceirização de Componentes do Processo: organização contrata uma empresa terceira para realizar parte ou todas as funções de um ou mais de seus processos ou componentes. Aquisição de Software (Terceirização total): subcontratação de todo o processo de construção de software incluindo projeto, desenvolvimento, teste e manutenção. Este tipo de contrato permite que a empresa concentre-se no seu core business. MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelos Relacionados Processo Desenvolvimento de Software SA-CMM (Software Acquisition – Capability Maturity Model) IEEE Std. 1062 Desenvolvimento de Software Gerência de Subcontratação utilizando o RUP (Rational Unified Process) Gerência de Projeto PMBOK (Project Management Body of Knowledge) MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Measurement & Analysis Modelos Relacionados: SA-CMM Arquitetura SA-CMM Maturity Levels Activities Key Process Area Goals Commitment to perform Ability to perform Measurement & Analysis Verification Institucionalization Features Goals. Goals are the aggregate result achieved by the effective implementation of the key process area. Commitment to perform: Commitment to perform describes the actions that the organization must take to establish the process and ensure that it can endure. Ability to perform: Ability to perform describes the preconditions that must exist in the project or organization to implement the acquisition process competently. Activities performed: Activities performed describes the roles and procedures necessary to implement a key process area. Measurement and analysis: Measurement and analysis describes the need to measure the process performance and analyze these measurements. Verifying implementation. Verifying implementation describes the steps to ensure that the activities are performed in compliance with the process that has been established. MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

SA-CMM 5 níveis de maturidade Nível 1: Inicial Nível 2: Repetitivo Modelos Relacionados: SA-CMM 5 níveis de maturidade Nível 1: Inicial Nível 2: Repetitivo Nível 3: Definido Nível 4: Quantitativo Nível 5: Otimizado Repetitivo: Software Acquisition Planning Solicitation Requirements Development and Management Project Management Contract Tracking and Oversight Evaluation Transition to Support Definido Process Definition and Maintenance User Requirements Project Performance Management Contract Performance Management Acquisition Risk Management Training Program Management Quantitativo Quantitative Process Management Quantitative Acquisition Management Otimizado Continuous Process Improvement Acquisition Innovation Management MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

RUP Subcontratação no Escopo do RUP Pré-requisito Modelos Relacionados: RUP Subcontratação no Escopo do RUP Pré-requisito O contratante possuir o RUP implementado 6 Cenários de Interesse: Subcontratação a Partir de um Modelo de Casos de Uso Subcontratação a Partir de um Modelo de Análise Subcontratação a Partir de um Modelo de Projeto Subcontratação de Programação Subcontratação de Programação e Testes Subcontratação de Testes Permite a subcontratação como uma atividade normal no empreendimento do projeto 1 - A contratante define o modelo de Casos de Uso e contrata o desenvolvimento a partir daí. 2 - A contratante elabora os modelos de Casos de Uso e de Análise (Diagrama Estático de Classes), e contrata o desenvolvimento a partir daí. 3- A contratante elabora os modelos de Casos de Uso, Análise (opcionalmente) e Design (Diagrama Estático de Classes), verificando arquitetura e validando os principais riscos e questões arquiteturais do projeto. Contrata o desenvolvimento a partir daí. 4 - A contratante elabora os modelos de Casos de Uso, Análise (opcionalmente) e Design. E continua responsável pelo desenvolvimento desses modelos. Porém, a parte de programação é terceirizada nos moldes de uma “fábrica de software”. Neste cenário o código gerado pela contratada é integrado por esta e os testes de homologação são realizados pela contratante. 5 - A contratante elabora os modelos de Casos de Uso, Análise (opcionalmente) e Design, implementa o código, mas os testes são terceirizados nos moldes de um “bureau de testes”. Neste cenário os testes são responsabilidade do bureau contratado assim como o seu planejamento e administração. 6 - A contratante elabora os modelos de Casos de Uso, Análise (opcionalmente), Design e Teste. Porém a implementação dos programas e a aplicação dos testes são de responsabilidade da contratada. (Esta é uma modalidade híbrida dos cenários 4 e 5, porém com a diferença que a contratante mantém o domínio e o conhecimento em testes, terceirizando somente a sua aplicação). MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

PMBOK Processos identificados para subcontratação: Modelos Relacionados: PMBOK Processos identificados para subcontratação: Gerência de Aquisição Gerência de Riscos Gerência de Comunicação MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

IEEE Std. 1062 Editado em 1998 Ciclo de vida de aquisição de software Modelos Relacionados: IEEE Std. 1062 Editado em 1998 Ciclo de vida de aquisição de software Planejamento Contratação Implementação Aceitação Acompanhamento Planejamento: inicia com o surgimento da idéia e necessidade de aquisição, e termina com a preparação da proposta para requisição (RFP - Request for Proposal) Contratação: inicia com a aprovação da RFP, e em seguida são definidas as atividades para que o fornecedor possa satisfazer os requisitos de qualidade antes de assinar o contrato. Implementação do Produto/Serviço: compreende a fase entre a assinatura do contrato até a entrega do produto. Aceitação do Produto: começa com o recebimento do produto, e compreende todas as atividades necessárias para avaliar, testar e aceitar o produto. Acompanhamento (Follow-on): corresponde a todas a as atividades após a aceitação que possibilitem a aderência aos objetivos da aquisição, avaliação da satisfação do usuário, documentação e suporte oferecido pelo fornecedor. MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

IEEE Std. 1062 Nove passos: Planejamento da Estratégia Organizacional Modelos Relacionados: IEEE Std. 1062 Nove passos: Planejamento da Estratégia Organizacional Implantação do Processo da Organização Definição dos Requisitos de Software Identificação de Potenciais Fornecedores Preparação dos Requisitos do Contrato Avaliação de Propostas e Seleção do Fornecedor Gerência de Performance do Fornecedor Aceitação do Software Uso do Software 1.      Planejamento da Estratégia Organizacional: revisão dos objetivos da aquisição e desenvolvimento de uma estratégia para aquisição de software 2.      Implantação do Processo da Organização: estabelecer um processo de aquisição que se enquadre aos objetivos e necessidades de qualidade de software da empresa. 3.      Definição dos Requisitos de Software: definir o que vai conter no software a ser adquirido e estabelecer um plano de qualidade e manutenção para aceitação do software. 4.      Identificação de Potenciais Fornecedores: preparar uma lista de fornecedores candidatos que possam fornecer instrumentos (documentação, demonstração do produto, se necessário) para sua avaliação, assim como proposta formal. 5.      Preparação dos Requisitos do Contrato: definir a qualidade do trabalho em termos de performance, critérios de aceitação e provisões do contrato. 6.      Avaliação de Propostas e Seleção do Fornecedor: avaliação e seleção do fornecedor, além de negociação do contrato e renegociação, se necessário. 7.      Gerência de Performance do Fornecedor: monitoramento das atividades do fornecedor para permitir que todos os marcos definidos sejam aprovados e cumpridos. 8.      Aceitação do Software: realização de teste e estabelecimento de critérios que garantam o cumprimento dos requisitos. Uso do Software: análise da prática de aquisição, lições aprendidas e satisfação do usuário com o produto. MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelo Unificado de Aquisição de Software - MUDAS Objetivos: Conciliar as diferenças entres os modelos anteriores Flexibilidade através de processos e artefatos opcionais Divisão de responsabilidades Definir o como fazer para facilitar o aprendizado e implantação do modelo Fortalecer relacionamento contratante com contratado Maior interação entre as partes MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelo Unificado de Aquisição de Software - MUDAS Planejamento Acompanhamento Execução Encerramento Inicialização Subcontrata? Última Iteração? 5 Fases: Inicialização Planejamento Execução Acompanhamento Encerramento Diagrama em notação UML MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelo Unificado de Aquisição de Software - MUDAS Planejamento: Planejamento dos Requisitos Planejamento de Aquisição Planejamento dos Riscos Planejamento de Comunicação Planejamento de Desenvolvimento (O) Planejamento de Transição para Suporte (O) (O) Opcional Planejamento dos Requisitos: Documento de Visão atualizado , Plano de Gerência de Requisitos , Resumo Executivo dos Requisitos, Modelo de Caso de Uso (O) e Especificação Suplementar (O). Planejamento dos Riscos Plano de Gerência de Riscos e Lista de Riscos Analisados. Planejamento de Comunicação: Plano de Gerência de Comunicação Planejamento de Desenvolvimento: Business Case (O), Plano de Aceitação do Produto (O), Plano de Desenvolvimento do Sistema (O), Plano de Iteração (O), Plano de Implantação (O), Plano de Configuração e Mudança (O) e Plano de Testes (O). Planejamento de Transição para Suporte Plano de Manutenção e Transição (O) Planejamento de Aquisição: Plano Estratégico Organizacional, Plano de Gerência de Aquisição, Modelo(s) de Proposta e Modelo(s) de Avaliação de Proposta. MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelo Unificado de Aquisição de Software - MUDAS Inicialização Definição dos Requisitos Básicos Análise Make or Acquire Definição do Processo de Aquisição Execução Contratação Distribuição da Informação Administração do Contrato Análise e Projeto (O) Implementação (O) MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelo Unificado de Aquisição de Software - MUDAS Acompanhamento Performance do Fornecedor Controle e Monitoramento de Riscos Testes (O) Configuração e Mudança (O) Encerramento Entrega do Produto Transição pra Suporte (O) Fechamento do Contrato MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Modelo Unificado de Aquisição de Software - MUDAS Próximos Passos: Detalhar todas as fases, processos e artefatos do modelo Instanciar em fábrica de software Situação real Avaliação, teste Ajustes e Mudanças necessários no modelo MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software

Referências Bibliográficas SEI, Carnegie Mellon University (2002) “Software Acquisition Capability Maturity Model (SA-CMM), v.1.3”, Technical Report CMU/SEI, Março. Filho, M. C. de M. (2001) “Gerenciamento de Subcontratações com o Rational Unified Process”, Rational Software, São Paulo. PMI, Standards Comittee (2000) “A Guide to the Project Management Body of Knowledge”, Project Management Institute Inc. IEEE, Software Engineering Standards Committee (1998) “IEEE Recommended Practice for Software Acquisition”, IEEE Computer Society, IEEE Std 1062. Kobitzsch, W., Rombach, D. e Feldmann, R.L. (2001) “Outsourcing in India”, IEEE Software, Março/Abril. e-Zest, Solutions Pvt. Ltd. (2004) “Types of Outsourcing”, http://www.e-zest.net/Outsourcing_Central/Software_outsourcing.htm Lee, J.-N., Huynh, M.O., Kwok, R. C.-W. e Pi, S.-M., (2003) “IT Outsourcing Evolution — Past, Present, and Future”, Communications of the ACM, Maio. Kishore, R., Rao, H.R., Nam, K., Rajagopalan, S. e A. Chaudhury (2003) “A Relationship Perspective on IT Outsourcing”, Communications of the ACM, Dezembro. Oliveira, J.C. de (2004) “Um Modelo de Subcontratação de Desenvolvimento de Software”, CIn/UFPE, http://www.cin.ufpe.br/~processos/TAES3/artigos.htm, Maio. MUDAS - Um Modelo de Subcontratação de Desenvolvimento de Software