Seleção de ferramentas para ambientes de desenvolvimento de software Leonardo D. Dias – [email protected] Felipe Restrepo – [email protected] Palestrantes • Leonardo D. Dias - Engenheiro e mestre em engenharia de computação pela Escola politécnica da USP. CIO do CIETEC. Sócio diretor da Evo Systems que atua com a criação, avaliação e automação de ambientes de fábrica de software além de projetos de P&D&I. Professor dos cursos de Especialização em Tecnologia da informação e Tecnologia de software pelo PECE Poli/USP e do curso Projeto de Desenvolvimento de Sistemas do Mackenzie. • Juan Felipe Restrepo Naranjo – Consultor da Evo Systems especialista na área de fábrica de software. Engenheiro de sistemas eletrônicos pela Universidad de Antioquia. Pesquisador do Laboratório de Tecnologia de Software da POLI USP. Agenda • • • • Introdução Definição de critérios funcionais Cases Dúvidas Ferramentas na automação de processos INTRODUÇÃO ALM (Application Lifecycle Management) = Gerência de Negócio + Eng. De Software Facilitam processos Ferramentas Integração entre processos Que tipo de ferramenta faz o que eu realmente preciso? ... Aliás, o que eu preciso? Será que preciso mesmo o que essa ferramenta oferece? Quem oferece o que eu preciso? (Linguagem dos fornecedores) Como decidir quando desenvolver ou comprar uma ferramenta? Como selecionar a ferramenta mais apropriada? Pensar no QUE fazer antes do COMO fazer Respostas deste tipo mais perto do negócio! Norma ISO / IEC 14102:1999 Definir critérios Orientações para avaliação e seleção de ferramentas Identificar candidatos Métodos de análise Tomada de decisão O COMO é feito? Definir critérios seleção * Opiniões de especialistas * Intuição * Recursos financeiros * Modelos de qualidade * Características das Pessoas (RH) * Critérios Funcionais Identificação de Candidatos * Pesquisa de mercado e levantamento de: - Funcionalidades - Desempenho - Serviços - Segurança - Seguridade - Integração - Suporte Sem metodologia O COMO nós fazemos? Métodos de análise * Fuzzy * AHP (Analytical Hierarchy Process) * GQM (Goal Question Metrics) * QFD (Quality Function Deployment) Diminuição da incerteza no calculo, mas os dados analisados? Tomada de decisão Com base nos resultados da análise Cenário EMPRESAS MERCADO Como quebrar essa complexidade? Modelos de qualidade Métodos, técnicas e boas práticas Produtos e fornecedores Mudanças nas expectativas • Inovação Características específicas das empresas • Infraestrutura • RH • Req de negócio Como organizar? Nossa abordagem DEFINIÇÃO DE CRITÉRIOS PROCESSUAIS Técnica 1 Técnica 1 Técnica 2 Técnica 2 Técnica 3 Técnica 3 Ambiente integrado de produção de software Ambiente de Desenvolvimento MODELOS DE REFERÊNCIA: CMMi DEV Scrum MPS.br ITIL ISSO/12207 PMBOK COACHING: Execução dos processos Cursos, treinamentos REQUISITOS DE NEGÓCIO: Procedimentos GUIA DE PROCESSOS: Organização Arquitetura de processos Papéis Políticas Problemas Projetar a Fábrica BMPN dos objetos processos INFORMES: Implantação da Fábrica Expectativas Arquitetura de Processos específica para cada empresa Uso da fábrica Evolução da equipe Qualidade do produto FERRAMENTAS MONITORAMENTO E CONTROLE PLANEJAMENTO PROPOSTA COMERCIAL PROCESSOS REQUISITOS DOS PROCESSOS COD01 COD02 COD03 PC1. Identificação dos Clientes Potenciais X PC2. Explicação ao Cliente das Funcionalidades do Sistema X PC3. Visita ao Cliente e Registro das Necessidades X PC4. Elaboração de Estimativa do Valor do Produto X PC5. Elaboração de Estimativa de Esforço de Serviço X PC6. Validar Estimativas de desenvolvimento da Proposta X PC7. Consolidação da Proposta X PC8. Validar estimativa de Infraestrutura da Proposta X PPP1. Estimativa de escopo do projeto X X X PPP2. Estimativas de esforço X X X PPP3. Estimativas de custo X X X PPP4. Identificação de riscos do projeto X X X X PPP5. Elaboração do cronograma X PPP6. Validação do cronograma X PPP7. Elaboração do plano do projeto X PMCP1.Registro da Solicitação do Cliente X PMCP2. Condução e Revisão do Progresso X PMCP3. Análise dos Problemas X PMCP4. Tomada de Ação Corretiva X PMCP5. Revisão do Plano do Projeto X PMCP6. Condução de Revisão de Milestones PMCP7. Efetua Correções X PMCP8. Registro Finalização da Solicitação X Ferramenta mais apropriada? CASE Dinâmica dos processos para seleção de ferramentas Empresa de desenvolvimento de ERP do mercado financeiro executou 72% das atividades da fábrica (4 Meses) Dinâmica dos processos para seleção de ferramentas Projeto javaweb, Distribuição do tempo nos processos e atividades. (1 Mês) Ambiente para testes de ferramentas AMBIENTE PARA TESTES AUTOMATIZADOS AMBIENTE DE PESQUISA & DESENVOLVIMENTO & INOVAÇÃO DE SOFTWARE Valores dos projetos de P&D Arquitetura da solução Problema/ Desafio Melhoria do produto Protótipo da solução Imersão no negócio do cliente “Ideias / Soluções não nascem inovadoras, elas viram” Implantação e transferência tecnológica Especificação da solução Melhorias Treinamentos