Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de...

21
Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha [email protected]

Transcript of Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de...

Page 1: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Process Institutionalization Tools (PIT) - Ferramentas de apoio à

Institucionalização de processos

Rafael Espinha

[email protected]

Page 2: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Agenda

• Introducão

• Problemas Enfrentados

• Estado da Arte

• Motivação

• Proposta

• Referências

Page 3: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Introdução

• Processo de Desenvolvimento (SEI)

Métodos e Procedimentos

FerramentasPessoas

Processo

Organização

Page 4: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 5: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Introdução

• Como Definir Processos

Meta-processo

Processo Organizacional

Processo Instanciado

CMM, CMMI, ISO-12207, MPS-Br, XP

RUP, MSF

Page 6: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 7: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Introdução

IDEAL (melhoria contínua de processos)

Page 8: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Gustavo Robichez de Carvalho
Nao acho q isto seja o grande problema... ter uma linguagem ja eh suficiente... ela nao precisa ser padrao, mas sim entendida pelo contexto q ira utiliza-la. Acho q os itens nao tem relacao com a categoria definida anteriormente.
Page 9: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 10: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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)

Page 11: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Gustavo Robichez de Carvalho
Na realidade ela apoia a definicao, nao? Por exemplo, processos em pep nao sao instanciados.
Page 12: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Estado da Arte em Avaliação de Processos

• Planilhas

• Ferramentas de armazenamento– Geralmente de uso interno em consultorias

• Appraisal Wizard (ISD)

Page 13: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 14: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Proposta

Page 15: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 16: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 17: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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 ??

Page 18: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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

Page 19: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

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).

Page 20: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Referências

1. 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

2. 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)

3. 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)

4. Chrissis, M.B.; Konrad, M.; Shrum, S.; CMMI: Guidelines for Process Integration and Product Improvement; Addison-Wesley; 2003

5. Sommerville, I; Software Engineering (7th Edition); Addison Wesley; 20046. Bush, M; Dunaway, D; CMMI Assessments: Motivating Positive Change; Addison-

Wesley; 20057. 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)

8. Introduction to CMMI (Staged and Continuous) Version 1.1 (apostila do curso official do SEI)

9. Kruchten, P; The Rational Unified Process, an introduction, 2ed; Addison Wesley Longman Inc.; 2000

Page 21: Process Institutionalization Tools (PIT) - Ferramentas de apoio à Institucionalização de processos Rafael Espinha rafael@les.inf.puc-rio.br.

Rafael Espinha - [email protected]

Referências

10.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)

11.Unified Modeling Language; URL: http://www.uml.org/ (acessado em 09/04/2006)

12.Eclipse; URL: www.eclipse.org (acessado em 09/04/2006)

13.Eclipse Process Framework; URL: www.eclipse.org (acessado em 09/04/2006)

14.IDEAL; URL: http://www.sei.cmu.edu/ideal/ideal.html (acessado em 09/04/2006)

15.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