• Nenhum resultado encontrado

Um perfil de capacidade de processo é um modelo que representa um processo segundo o aspecto de capacidade de processo. O processo de uma organização deve ser representado por um perfil de capacidade de processo, que é uma abstração do processo, segundo o aspecto capacidade de processo. O par consistente formado por perfil de capacidade de processo e processo, é ilustrado na Figura 51.

Processo

Processo

Perfil de

Capacidade

de Processo

éRepresentadoPor segundo o aspecto capacidade de processo perfil como um modelo prescritivo provê requisitos e orientações para o processo

M

1 (o espaço de modelagem)

M

0 (o mundo) perfil como um modelo descritivo do processo

Figura 51 – Par consistente perfil de capacidade de processo e processo

Na Figura 51 um processo é uma parte do mundo (M0) e é representado, segundo o aspecto capacidade de processo, pelo modelo perfil de capacidade de processo no espaço de modelagem (M1). Um processo pode também ser representado por outros modelos, segundo outros aspectos, como, por,

exemplo, por um modelo com atores, atividades e artefatos, segundo o aspecto de descrição de processo. O perfil de capacidade de processo como representação do processo é um modelo descritivo. Esta representação pode ser obtida por uma avaliação da capacidade de processo. O perfil de capacidade de processo como requisitos e orientações para a melhoria de um processo é um modelo prescritivo. Este modelo representa o perfil alvo de uma melhoria de processo .

O processo atual pode ser representado por um perfil de capacidade de processo como um modo descritivo e o processo futuro pode ser representado por outro perfil de capacidade de processo como um modelo prescritivo. Em ambos os casos existe uma relação entre processo e perfil de capacidade de processo na qual o processo satisfaz completamente o perfil de capacidade de processo e o processo contém apenas o que é requisitado pelo perfil de capacidade de processo. Desta forma o princípio da ‘substitucionalidade’ limitada [Bézivin2003b] se aplica.

Outra forma de entender a relação entre o perfil e o processo é com o seguinte questionamento: se o perfil de capacidade de processo representado por um nível de maturidade do modelo CMMI- SE/SW tivesse sido definido para o processo de uma determinada unidade organizacional, em um determinado momento, qual seria este nível de maturidade de forma a representar o processo atual ou o processo alvo para uma melhoria alinhada ao contexto e objetivos estratégicos da organização.

A melhoria de processo deve ser evoluída para uma engenharia que trate esse par consistente no centro dessa engenharia. É proposto então, como uma evolução da atual melhoria de processo de software baseada em modelos de maturidade, uma Engenharia de Processo Dirigida por Perfil de Capacidade de Processo (Process Capability Profile Driven Process Engineering - PCDE) aplicada a software.

Seguindo a tendência de expansão da abrangência da melhoria de processo de software para melhoria de processo de software e de sistemas, evidenciada por exemplo pelo CMMI e ISO/IEC 15504, a engenharia de processo de software também deve ter essa expansão. Para isso é proposta a expressão “de software e de qualquer outro trabalho humano intensivo em conhecimento” na qual é ressaltada a abrangência dessa engenharia para software, que tem sido a área na qual é mais utilizada, e caracterizado de forma mais precisa a abrangência maior da engenharia, que é qualquer trabalho humano intensivo em conhecimento, incluindo trabalho de software. A escolha dessa terminologia é baseada no termo “trabalhador do conhecimento” (knowledge worker) definido originalmente por Peter Drucker no seu livro Landmarks of Tomorrow publicado em 1959 e consolidado, por exemplo, em Druker [1992]. Segundo Druker, “um trabalhador do conhecimento é aquele cujo trabalho envolve o desenvolvimento ou utilização de conhecimento, incluindo aqueles da tecnologia da informação,

como, por exemplo, programadores, analistas de sistemas, escritores técnicos, profissionais acadêmicos, pesquisadores e outros, e também incluindo pessoas fora da tecnologia da informação, como, por exemplo, advogados, professores, cientistas e estudantes” [searchCRM 2006].

Uma definição completa de engenharia de processo PCDE é apresentada no quadro a seguir.

{(Engenharia de processo) (de Software e de qualquer outro Trabalho Humano Intensivo em Conhecimento) Dirigida por (Perfis de Capacidade de Processo)}

ou de forma mais curta

{(Engenharia de processo) Dirigida por (Perfis de Capacidade de Processo)} é definida como:

(1) a aplicação de engenharia à definição, utilização, manutenção, estabelecimento, medição, mudança, melhoria e co-evolução de pares consistentes de perfil de capacidade de processo e processo para uma melhoria de processo dirigida por perfis de capacidade de processo, em processos de software e de qualquer outro trabalho humano intensivo em conhecimento, como meio para atingir excelência organizacional alinhada ao contexto e objetivos estratégicos;

(2) a aplicação de engenharia ao desenvolvimento e manutenção de modelos de

capacidade de processo para contextos ou domínios estratégicos mais específicos; e (3) o estudo das abordagens como em (1) e (2).

Esta definição é baseada em uma combinação de definições de engenharia [Shaw 1990], engenharia de software [Abran et al. 2004], engenharia de processo de software [El Emam 2001], melhoria de processo de software [Zahran 1998, Caputo 1998] e engenharia dirigida por modelos [Bézivin 2003a].

A Figura 52 descreve um diagrama de Venn da relação de PCDE com outras engenharias. A engenharia PCDE cobre a atual melhoria (ou engenharia) de processo de software e grande parte da atual engenharia de modelos de capacidade de processo. Apenas as atividades de consideração dos modelos das primeira e segunda gerações, como algo único, e não como um caso particular da terceira geração, não são cobertas na engenharia PCDE. O apoio para estabelecimento de perfis de capacidade de processo e a relação entre perfil e processo, não são cobertos pelas SPI/SPE e PCME.

O termo ‘dirigido é utilizado no sentido similar ao termo ‘orientado’, como em Engenharia de Software Orientado a Objetos (Object-oriented Software Engineering); ao mesmo termo ‘dirigido’,

como em Engenharia Dirigida por Modelos (Model-Driven Engineering) e ao termo ‘baseado’, como em Engenharia de Software Baseada em Componentes (Component-Based Software Engineering). A escolha foi feita pelo termo ‘dirigido’ pelo uso já estabelecido em engenharia, arquitetura e desenvolvimento dirigido por modelos. O termo baseado já é utilizado para melhoria de processo de software com o sentido de apenas utilizar modelos.

SPE/SPI Outros PCME PCDE Legenda: PCDE: Engenharia de Processos, de Software e de qualquer outro Trabalho Humano Intensivo em Conhecimento,

Dirigida por Perfis de Capacidade de Processo

SPE/SPI: Engenharia ou Melhoria de Processo de Software PCME: Engenharia de Modelos de Capacidade de Processo Outros: Model-Driven Engineering Engenharia de Software Engenharia de Software Orientada a Componentes Engenharia de Software Orientada a Objetos

Figura 52 - Diagrama de Venn da PCDE e outras engenharias