Process Institutionalization Tools (PIT) Ferramentas de apoio à
Institucionalização de processos
Rafael Espinha
[email protected]
Agenda
• Introducão
• Problemas Enfrentados
• Estado da Arte
• Motivação
• Proposta
• Referências
Rafael Espinha - [email protected]
Introdução
• Processo de Desenvolvimento (SEI)
Organização
Métodos e
Procedimentos
Processo
Pessoas
Ferramentas
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
Rafael Espinha - [email protected]
Introdução
• Como Definir Processos
Meta-processo
CMM, CMMI, ISO-12207,
MPS-Br, XP
Processo
Organizacional
RUP, MSF
Processo
Instanciado
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
Rafael Espinha - [email protected]
Introdução
IDEAL (melhoria contínua de processos)
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
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
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)
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
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)
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
Rafael Espinha - [email protected]
Proposta
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
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
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 ??
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
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).
Rafael Espinha - [email protected]
Referências
1.
2.
3.
4.
5.
6.
7.
8.
9.
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; AddisonWesley; 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 - [email protected]
Referências
10.Software Process Engineering Metamodel Specification, version
1.1; URL: http://www.omg.org/cgi-bin/apps/doc?formal/05-0106.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
Rafael Espinha - [email protected]
Download

Uma metodologia para a definição e evolução de processos de