210 likes | 289 Views
Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos. Rafael Espinha rafael@les.inf.puc-rio.br. Agenda. Introducão Problemas Enfrentados Estado da Arte Motivação Proposta Referências. Organização. Métodos e Procedimentos. Processo. Pessoas.
E N D
Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br
Agenda • Introducão • Problemas Enfrentados • Estado da Arte • Motivação • Proposta • Referências Rafael Espinha - rafael@les.inf.puc-rio.br
Organização Métodos e Procedimentos Processo Pessoas Ferramentas Introdução • Processo de Desenvolvimento (SEI) Rafael Espinha - rafael@les.inf.puc-rio.br
Introdução • Processo • Define uma seqüência de atividades para o desenvolvimento de um produto (organiza o desenvolvimento) • Identifica, descreve e relaciona atividades, artefatos e papéis. • Atividades • Ferramentas • Procedimentos • Padrões • Métricas • Tarefas • Permite comparar projetos e melhorar a forma como as coisas são feitas na organização • Possibilita a elaboração de estimativas mais precisas, baseadas em histórico Rafael Espinha - rafael@les.inf.puc-rio.br
Introdução • Como Definir Processos Meta-processo CMM, CMMI, ISO-12207, MPS-Br, XP Processo Organizacional RUP, MSF Processo Instanciado Rafael Espinha - rafael@les.inf.puc-rio.br
Introdução • Entretanto, quem garante que o processo definido é bom (e continua bom ao longo do tempo)?? É preciso avaliar os processos definidos!! ISO 15504, ARC, SCAMPI, MA-MPS Rafael Espinha - rafael@les.inf.puc-rio.br
Introdução IDEAL (melhoria contínua de processos) Rafael Espinha - rafael@les.inf.puc-rio.br
Problemas Enfrentados na Definição de Processos • Necessidade de amplo conhecimento multi-disciplinar • Em muitos casos apenas uma pessoa é alocada no desenvolvimento do processo • Dificuldade de passar do meta-processo para o processo organizacional • Passagem do “o que” para o “como” • Integração e interseção entre as boas práticas • Existem muitas metodologias para desenvolver software, mas não para desenvolver processos • Muitos utilizam um processo definido como base para a definição do seu próprio processo • Poucas ferramentas específicas • Falta de uma linguagem de representação padronizada • Dificuldade em integrar ferramentas • Possibilidade de erros de interpretação Rafael Espinha - rafael@les.inf.puc-rio.br
Problemas Enfrentados na Avaliação de Processos • Necessidade da coleta de grande quantidade de informação • Consumo de recursos (pessoas, tempo e dinheiro) • Falta de ferramentas adequadas • Execução • Histórico Rafael Espinha - rafael@les.inf.puc-rio.br
Estado da Arte em Definição de Processos • Pouco material sobre “como definir processos corretos” • Muitos processos já definidos • Muitas boas práticas, padrões e representações • Muitos estudos de requisitos e problemas comuns • Ferramentas de modelagem de workflow ou baseadas na UML • Representação limitada • Representação sem conteúdo (figuras) • Utilização de profiles da UML não unificados • Comprometimento com um processo • Exemplos: • Rational Software Architect (IBM) • Together (Borland) • Eclipse UML (Omondo) • Enterprise Architect (Sparx Systems) • Visio (Microsoft) Rafael Espinha - rafael@les.inf.puc-rio.br
Estado da Arte em Definição de Processos • RMC e EPF • Suporte a autoria e publicação de processos • Representação baseada no SPEM 2.0 • Específica para a definição de processos (representação + conteúdo) • Ainda existem alguns pontos em aberto • Controle de versão • Ferramenta PEP • Suporte à institucionalização de processos Rafael Espinha - rafael@les.inf.puc-rio.br
Estado da Arte em Avaliação de Processos • Planilhas • Ferramentas de armazenamento • Geralmente de uso interno em consultorias • Appraisal Wizard (ISD) Rafael Espinha - rafael@les.inf.puc-rio.br
Motivação • Facilitar a atividade de definição de processos • Guiar e organizar a definição • Diminuir tempo e falhas • Aumentar qualidade (aderência a normas) • Facilitar aceitação e utilização • Diminuir o custo das avaliações • Avaliações mais rápidas e eficientes • Histórico de avaliação/evolução do processo • Melhor aceitação da atividade Rafael Espinha - rafael@les.inf.puc-rio.br
Proposta Rafael Espinha - rafael@les.inf.puc-rio.br
Proposta • Definição • Elaboração de uma metodologia iterativa para a definição de processos de desenvolvimento baseados em modelos de qualidade • Comparação do processo de definição de processos com o processo de desenvolvimento de software. • Utilização dos conceitos propostos pelo framework PEP • Customização da ferramenta EPF Rafael Espinha - rafael@les.inf.puc-rio.br
Proposta • Definição • Resultados Esperados • Análise da ferramenta EPF, identificando conceitos do framework PEP que poderão ser incorporados e desenvolvidos. • Desenvolvimento de um mecanismo de evolução de ativos de processo baseado em versionamento e gerência de configuração. • Elaboração de um framework de processo para a definição de processos de desenvolvimento baseados em um modelo de qualidade, utilizando a metodologia e a ferramenta customizada. • Definição de um processo de desenvolvimento utilizando o framework e a ferramenta customizada, como estudo de caso e calibragem da metodologia Rafael Espinha - rafael@les.inf.puc-rio.br
Proposta • Avaliação • Metodologia baseada no mapeamento de ativos de processo em diretivas de um modelo ou norma de qualidade, para que a atividade de avaliação seja amenizada • Estrutura de suporte à avaliação, com registro de conceitos, anotações de pontos fortes e fracos da implantação e registro e análise de evidências • Mecanismo de preparação da avaliação, através da análise da definição do processo • Check-up Tool ?? Rafael Espinha - rafael@les.inf.puc-rio.br
Proposta • Avaliação • Resultados Esperados • Elaboração de uma metodologia baseada no mapeamento de elementos da definição em diretivas do modelo de qualidade (registro de pontos fortes e fracos, classificação de elementos, conceituação de elementos, registro de comentários sobre a implementação e suporte à consolidação de resultados). • Elaboração de um mecanismo de preparação de uma avaliação, através da interpretação do mapeamento de elementos da definição do processo em diretivas de um modelo de qualidade (coleta preliminar de evidências) • Avaliação de processos definidos como estudo de caso e calibragem da metodologia Rafael Espinha - rafael@les.inf.puc-rio.br
Proposta • Plano de Ação - Abordagem iterativa • A cada iteração as tarefas relativas ao desenvolvimento da solução de definição serão executadas paralelamente às tarefas relativas ao desenvolvimento da solução de avaliação. • O tamanho determinado para cada iteração foi o de 15 dias úteis (3 semanas). Rafael Espinha - rafael@les.inf.puc-rio.br
Referências • Um framework para a representação e análise de processos de software / LeandroRibeiro Daflon ; orientadores: Carlos José Pereirade Lucena, Arndt von Staa – Rio de Janeiro : PUC-Rio, Departamento de Informática, 2004 • Standard CMMI Appraisal Method for Process Improvement (SCAMPI), Version 1.1:Method Definition Document; URL: http://www.sei.cmu.edu/publications/documents/01.reports/01hb001.html(acessado em 29/6/2005) • Appraisal Requirements for CMMI, Version 1.1; URL: http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr034.pdf(acessado em 29/6/2005) • Chrissis, M.B.; Konrad, M.; Shrum, S.; CMMI: Guidelines for Process Integration and Product Improvement; Addison-Wesley; 2003 • Sommerville, I; Software Engineering (7th Edition); Addison Wesley; 2004 • Bush, M; Dunaway, D; CMMI Assessments: Motivating Positive Change; Addison-Wesley; 2005 • MPS.BR – Melhoria de Processo do Software Brasileiro; Guia Geral (versão 1.0); URL: http://www.softex.br/cgi/cgilua.exe/sys/start.htm?infoid=5723&sid=211(acessado em 14/12/2005) • Introduction to CMMI (Staged and Continuous) Version 1.1 (apostila do curso official do SEI) • Kruchten, P; The Rational Unified Process, an introduction, 2ed; Addison Wesley Longman Inc.; 2000 Rafael Espinha - rafael@les.inf.puc-rio.br
Referências • Software Process Engineering Metamodel Specification, version 1.1; URL: http://www.omg.org/cgi-bin/apps/doc?formal/05-01-06.pdf (acessado em 09/04/2006) • Unified Modeling Language; URL: http://www.uml.org/ (acessado em 09/04/2006) • Eclipse; URL: www.eclipse.org (acessado em 09/04/2006) • Eclipse Process Framework; URL: www.eclipse.org (acessado em 09/04/2006) • IDEAL; URL: http://www.sei.cmu.edu/ideal/ideal.html (acessado em 09/04/2006) • Osterweil, L. J.; Software Process are Software Too; Proceedings of the ninth International Conference of Software Engineering, páginas 2-13; Monterey CA, Março de 1987 Rafael Espinha - rafael@les.inf.puc-rio.br