general software reuse maturity models renata teles moreira [email protected] disciplina: mda prof....
TRANSCRIPT
General Software Reuse Maturity General Software Reuse Maturity ModelsModels
Renata Teles [email protected]
Disciplina: MDAProf. Jacques Robin
RoteiroRoteiro
Abordagens Capacidade X Maturidade Reuse Maturity Model
Kolton and Hudson Llorens
Reuse Capability Model Considerações Finais Referências
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
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
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;
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).
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.
Onde os Modelos de Maturidade e Onde os Modelos de Maturidade e Capacidade Abordam ReusoCapacidade Abordam Reuso
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.
Kolton and Hudson Reuse Maturity Model
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
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
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
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
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?
Reuse Maturity Model(Llorens et all)
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.
Estrutura de RepositórioEstrutura de Repositório
Arquitetura de Desenvolvimento Arquitetura de Desenvolvimento de Softwarede Software
Gerenciamento Gerenciamento AdministrativoAdministrativo
Infra-estrutura para ReusoInfra-estrutura para Reuso
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
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.
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
Reuse Capability Model
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.
Processo para Adoção de ReusoProcesso para Adoção de Reuso
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.
Capacidade de ReusoCapacidade de Reuso
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.
Fatores Críticos de SucessoFatores Críticos de Sucesso
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.
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.
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.
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
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;
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.
Dúvidas..Dúvidas..