General Software Reuse Maturity Models Renata Teles Moreira [email protected] Disciplina: MDA Prof....

38
General Software Reuse Maturity General Software Reuse Maturity Models Models Renata Teles Moreira [email protected] Disciplina: MDA Prof. Jacques Robin

Transcript of General Software Reuse Maturity Models Renata Teles Moreira [email protected] Disciplina: MDA Prof....

Page 1: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

General Software Reuse Maturity General Software Reuse Maturity ModelsModels

Renata Teles [email protected]

Disciplina: MDAProf. Jacques Robin

Page 2: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

RoteiroRoteiro

Abordagens Capacidade X Maturidade Reuse Maturity Model

Kolton and Hudson Llorens

Reuse Capability Model Considerações Finais Referências

Page 3: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso

CMMI O CMMI faz referências a COTS

SAM – Supplier Agreement Management SG2- SP 2.1 - Review COTS Products

ISM – Integrated Supplier Management SP 1.1 Analyze Potential Sources of Products

TS – Technical solution SG 1 Select Product-Component Solutions -

SP 1.1 Develop Alternative Solutions and Selection Criteria;

SG 2 - Develop the Design SP 2.1- Design the Product or Product Component SP 2.4 - Perform Make, Buy, or Reuse Analyses

Page 4: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso

CMMI (continuação) RD – Requirements Development

SG2 Develop product requirements SP 2.1Establish product and product-component

requirements SP 2.2-1 Allocate Product-component requirements

Não há, por exemplo abordagem especial para Gerência de Configuração ou a referência a uma Política de Reuso

O SEI(Software Engineering Institute) trata a questão de reuso em Product Line

Page 5: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso

MPS.BR Processo: Solução Técnica - STE

STE 5. Uma análise em relação aos componentes do produto deve ser conduzida para verificar se é necessária sua construção, compra ou reuso;

Page 6: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso

ISO 15504 Define um grupo de processos de Reuso, com os seguintes

processos: REU. 1 Asset Management REU. 2 Reuse Program Management REU. 3 Domain Engineering

Além desses processos, as seguintes práticas se referem à decisão make or buy

ENG.3.BP5: Evaluate alternative system architectures ENG.5.BP1: Describe software architecture

Os processos de reuso abordam três aspectos fundamentais: o gerenciamento do repositório; o programa de reuso (incluindo a política de reuso); a engenharia de domínio (que corresponde ao processo de

produzir componentes para o reuso).

Page 7: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso

OOSPICE

O OOSPICE define um Modelo de Referência de Processo para CBD;

É um modelo completo, compatível com a ISO/IEC 15504.

Page 8: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso

Page 9: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Capacidade X MaturidadeCapacidade X Maturidade

Capacidade de processo é a inerente habilidade do processo de produzir

resultados planejados.

Nível de maturidade é um conjunto predefinido de áreas de processo em

determinado nível de capacidade.

Page 10: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Kolton and Hudson Reuse Maturity Model

Page 11: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Estrutura do ModeloEstrutura do Modelo

Consiste em um framework de maturidade com cinco níveis:

Initial Chaotic Monitored Coordinated Planned Ingrained

Foram enumeradas dez dimensões ou aspectos de reuso

Para cada dimensão, um atributo ou situação característica foi especificada para cada nível de maturidade

Page 12: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Kolton and Hudson RMMKolton and Hudson RMM

Initial/Chaotic Monitored Coordinated Planned Ingrained

Motivation/Culture

Reuse discouraged

Reuse encouraged

Reuse incentivizedRe-enforced

rewarded

Reuse indoctrinated

Reuse is the way we do business

Planning for reuse

NoneGrassroots

activityTargets of

opportunityBusiness

imperative

Part of strategic

plan

Responsible for

making reuse

happen

Individual initiative

Shared initiative

Dedicated individual

Dedicated group

Corporate group with

division liaisons

Breadth of reuse

Individual Work group Department DivisionEnterprise

wide

Page 13: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Kolton and Hudson RMMKolton and Hudson RMM

Process by which reuse

is leveraged

Reuse process chaotic;

unclear how reuse comes

in.

Reuse questions raised at design reviews

(after the fact)

Design emphasis

placed on off the shelf

parts

Focus on developing families of products

All software products are genericized for future

reuse

Initial/Chaotic Monitored Coordinated Planned Ingrained

Reuse assets

Salvage yard (no apparent structure to collection)

Catalog identifies language

and platform specific parts

Catalog organized

along aplication

specific lines

Catalog includes

generic data processing functions

Planned activity to acquire or develop missing pieces in catalog

Classification activity

Informal, individualize

d

Multiple independent schemes for classifying

parts

Single scheme catalog

published periodically

Some domain

analyses done to

determine categories

Formal, complete, consistent

timely classification

Page 14: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Kolton and Hudson RMMKolton and Hudson RMM

Technology support

Personal tools, if any

Many tools, but not

specialized para reuse

Classification aids and synthesis

aids

Eletronic library

separate from

development environment

Automated support

integrated with

development environment

Initial/Chaotic Monitored Coordinated Planned Ingrained

Metrics

No metrics on reuse

level, pay-off, or costs

Number of lines of code used in cost

models

Manual tracking of

reuse occurrences of catalog

parts

Analyses done to identify

expected payoffs from developing reusable

parts

All system utilities, software tools and

accounting mechanisms instrumented

to track reuse

Legal, contractual

, accounting considerati-

ons

Inhibitor to getting started

Internal accounting scheme for

sharing costs and

allocating benefits

Data rights and

compensation issues

resolved with customer

Royalty scheme for all suppliers

and customers

Software treated as key capital

asset

Page 15: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Algumas Questões para avaliar a Algumas Questões para avaliar a disposição de uma organização disposição de uma organização

para Reuso para Reuso Um programa de incentivo está sendo estabelecido? Métricas de reuso tem sido estabelecidas? Coletadas? Custos de não reuso tem sido identificados? Existe um grupo ou individuo indicado a ser

responsável por fazer reuso acontecer? Existe um catálogo de componentes reusáveis? Produtos do ciclo de vida são todos coletados? Uma revisão central de todos os projetos está sendo

executada para avaliar potencial de reuso? A atividade de reuso está ligada ao plano de negócio

estratégico da organização? Existem programas de treinamento para reuso?

Page 16: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Reuse Maturity Model(Llorens et all)

Page 17: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Estrutura do ModeloEstrutura do Modelo

A estrutura desse modelo é baseada em três fatores de reuso:

Estrutura de Repositório; Arquitetura para Desenvolvimento de Software; Gerenciamento Administrativo.

Cada fator de reuso é determinado por um grupo de atividades de reuso.

Cada atividade representa uma unidade mensurável para determinar o nível de reuso da organização.

Page 18: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Estrutura de RepositórioEstrutura de Repositório

Page 19: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Arquitetura de Desenvolvimento Arquitetura de Desenvolvimento de Softwarede Software

Page 20: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Gerenciamento Gerenciamento AdministrativoAdministrativo

Page 21: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Infra-estrutura para ReusoInfra-estrutura para Reuso

Page 22: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

O nível de maturidade de reuso da organização segue os níveis propostos por Kolton e Hudson e uma letra é designada para cada nível.

A- Initial/Chaotic B- Monitored C- Coordinated D- Planned E- Ingrained

Métricas para Calcular o Nível de Métricas para Calcular o Nível de Maturidade de ReusoMaturidade de Reuso

Page 23: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Métricas para Calcular o Nível de Métricas para Calcular o Nível de Maturidade de ReusoMaturidade de Reuso

Nível de Maturidade = Mr = √r2 + s2 + g2

Onde:r = coeficiente alocado para o repositório;s = coeficiente alocado para área de software;g = coeficiente alocado para área de gerenciamento.

Page 24: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Métricas para Calcular o Nível de Métricas para Calcular o Nível de Maturidade de ReusoMaturidade de Reuso

Cada um dos coeficientes pode ter um valor no intervalo de [1.9]

rmax = smax = gmax = 9

rmin = smin = gmin = 0

Níveis equivalentes para intervalos considerados:

Intervalo Nível

[0,3[ A – Initial/Chaotic

[3,6[ B - Monitored

[6,9[ C - Coordinated

[9,12[ D - Planned

>=12 E - Ingrained

Page 25: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Reuse Capability Model

Page 26: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Reuse Capability ModelReuse Capability Model

Desenvolvido pelo Software Productivity Consortium para apoiar a institucionalização de reuso;

É usado pela organização para avaliar sua própria capacidade de reuso e auxiliar no desenvolvimento de um plano para melhorar sua capacidade;

É aplicado junto com o processo de adoção de reuso.

Page 27: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Processo para Adoção de ReusoProcesso para Adoção de Reuso

Page 28: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Componentes do RCMComponentes do RCM

O RCM possui dois componentes: Um modelo de avaliação Um modelo de implementação

Capacidade de Reuso A gama de resultados esperados em:

competência, eficiência e, eficácia de reuso

que podem ser alcançados pelos processos de uma organização.

Page 29: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Capacidade de ReusoCapacidade de Reuso

Page 30: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Modelo de AvaliaçãoModelo de Avaliação

É um mecanismo para ser usado por uma organização para: obter um entendimento da sua capacidade de reuso

atual e, identificar oportunidades potenciais para melhorar esta

capacidade.

Consiste de um conjunto de fatores críticos que correspondem a questões mais criticas para melhorar a capacidade de reuso.

Page 31: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Fatores Críticos de SucessoFatores Críticos de Sucesso

Page 32: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Fatores Críticos de SucessoFatores Críticos de Sucesso

Cada um dos fatores críticos de sucesso são definidos em termos de uma ou mais metas.

As metas identificam os resultados a serem alcançados para satisfazer um fator de sucesso.

O modelo de avaliação define 59 metas distribuídas entre os fatores críticos de sucesso.

Page 33: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Fator Crítico: Identificar Fator Crítico: Identificar NecessidadesNecessidades

Metas

1. necessidades atuais de desenvolvimento para soluções são identificadas.

2. necessidades futuras de desenvolvimento para soluções são identificadas.

3. necessidades atuais dos clientes para soluções são identificadas.

4. necessidades futuras dos clientes para soluções são identificadas.

5. necessidades identificadas são usadas como base para adquirir ou desenvolver ativos reusáveis para satisfazer necessidades especificadas.

Page 34: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

RCM na PráticaRCM na Prática

Deve ser usado por uma pessoa ou grupo interno da organização que tenha visão dos fatores críticos da organização Comitê dentro do SEPG

A avaliação deve ser executada revisando cada meta e fazendo um julgamento se a meta é satisfeita ou não

Para metas não satisfeitas deve ser indicado o que poderia ser feito para satisfazer essa meta.

A saída da avaliação deve ser: uma lista de pontos fortes da capacidade do reuso e; uma lista de oportunidades de melhoria da capacidade de

reuso correspondentes às metas parcialmente satisfeitas ou não satisfeitas.

Page 35: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Modelo de ImplementaçãoModelo de Implementação

Ajuda a reduzir a complexidade priorizando as metas associadas aos fatores críticos de sucesso e separando as metas em estágios.

Os estágios não representam escala de maturidade.

O modelo possui quatro estágios: Opportunistic Integrated Leveraged Anticipating

Page 36: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Considerações FinaisConsiderações Finais

Os modelos de maturidade e capacidade encontrados não são pesquisas recentes;

Foram baseados no CMM (foi lançado em 1989);

Os modelos não são conhecidos;

Page 37: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

ReferênciasReferências

J. Llorens, A. Amescua and V. Martinez. “The Reuse Process and its Maturity Level in an Organization: RMM”, Madrid, 1997.

P. Koltun and Anita Hudson. “A reuse maturity model”. In Proceedings of the Fourth Annual Workshop on Software Reuse, November 1991.

W. Frakes and C. Terry. “Software Reuse: Metrics and Models”. ACM Computing Surveys, Vol. 28, No. 2, June 1996.

T. Davis. “The Reuse Capability Model: A Basis for Improving an Organization’s Reuse Capability”. IEEE, 1993.

T.Davis. “Adopting a policy of reuse”. IEEE Speltkum, June,1994.

Page 38: General Software Reuse Maturity Models Renata Teles Moreira rtm@cin.ufpe.br Disciplina: MDA Prof. Jacques Robin.

Dúvidas..Dúvidas..