Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel...
Transcript of Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel...
Líneas de Producto de
Software – The Family
Evaluation Framework (FEF)Rubby CasallasDepartamento de Sistemas y ComputaciónUniversidad de los Andes, Bogotá
1
Referencias
� [linden 2007] Linden, Frank J. van der, Schmid, Klaus, Rommes, Eelco. Software Product Lines in Action. Chapter 6. Springer. 2007
2
Agenda
� Las dimensiones� Business� Architecture� Process� Organisation� Perfíl de evaluación
3
Motivación
� El framework se originó como resultado de varios proyectos Europeos (ESAPS, CAFÉ, FAMILIES)
� Compañías (dominios) que participaron en los proyectos (6 años): sistemas embebidos, imágenes medicales, servicios financieros, electrónica de carros.
� Se usaba el término “Software ProductFamily” en vez de “ Software Product Line”
4
Propósito de FEF
� Evaluar el desempeño de las organizaciones con enfoque ingeniería de línea de productos con el fin de mejorarlo
� No evalúa prácticas de sistemas individuales sino prácticas de línea de producto.
� Énfasis en los aspectos principales de la ingeniería de línea de productos:� Ejecución de la ingeniería de dominio y de
aplicación� Administración comprehensivo de variabilidad
5
Estructura del Framework
� Cuatro dimensiones (BAPO)� Business� Architecture� Process� Organisation
� Por cada dimensión � Cinco niveles� 3 o 4 aspectos
6
7
Las Dimensiones
� Business:� Mide la relación negocio-línea de producto en
particular lo relacionado con costos, valor de mercado, beneficios, planeación de la variabilidad
� Architecture :� Trata con la relación entre la arquitectura de la
línea y el manejo de variabilidad. Evalúa los mecanismos de variabilidad y como la arquitectura de referencia se utiliza para derivar los productos
8
Las Dimensiones
� Process:� Nivel de madurez de los procesos de desarrollo
(estilo CMMI)
� Organisation:� Mide la efectividad de la distribución de las
actividades de ingeniería del dominio y de la aplicación en la organización.
� Responsabilidades y colaboraciones
9
Los Niveles
� Reflejan la manera en la cual las organizaciones manejan las distintas dimensiones de una línea de producto.
� Son incrementales (acumulativos)
10
Dimensión Negocio
� Aspectos por considerar:� Comercial:
� Mercadeo, ventas, manejo de producto
� Financiero:� Presupuesto, inversiones
� Objetivos y visión de negocio:� Plan estratégico:
� Planeación a largo plazo
11
Dimensión Negocio – Nivel 1
� Nivel Básico: � El negocio está organizado en términos de proyectos
individuales� A nivel de negocio no hay evidencias de línea de producto
� Comercial: � No hay involucramiento
� Financiero: � No hay presupuestos específicos para ingeniería de dominio
� Visión y Objetivos de negocio: � No hay mención de la línea
� Plan estratégico: � No se consideran las relaciones entre los productos
12
Dimensión Negocio – Nivel 2� Nivel Consciente:
� El negocio es consciente de los beneficios para la compañía de la ingeniería de líneas de producto.
� Sin embargo, no hay un manejo claro de la iniciativa� Comercial:
� Mercadeo, manejo de producto ventas son conscientes de las oportunidades con la ingeniería de líneas de producto
� Se espera que con un enfoque de administración de variabilidad se puedan tener más productos y disminuir los costos
� Sin embargo, no hay una estrategia clara
� Financiero: � El negocio invierte en construcción de activos (hay un presupuesto).
� Visión y Objetivos de negocio: � Hay un compromiso de la gerencia con la iniciativa� Pero no hay una visión clara en la compañía
� Plan estratégico: � La planeación está basada en productos individuales� Sin embargo los resultados de la construcción de activos son tomados en cuenta
en las planeaciones individuales 13
Dimensión Negocio – Nivel 3� Nivel Administrado:
� La ingeniería de línea de producto es parte de la estrategia de negocio. Se administran las actividades relacionadas y se reconoce los beneficios y problemas potencial de la iniciativa.
� Comercial: � El ROI esperado condiciona el mercadeo las ventas y el desarrollo de los productos de la
línea.
� Mercadeo trabaja sobre el valor agregado a los usuarios que se puede lograr teniendo un amplio manejo de variabilidad a costos bajos.
� Financiero: � La ingeniería de línea de producto influye en las decisiones de inversión
� Hay un presupuesto bien definido para las actividades de ingeniería de dominio
� Hay una conciencia de los costos y beneficios de la variabilidad y de cómo ésta genera un roi
� Visión y Objetivos de negocio: � La alta gerencia soporta fuertemente la ingeniería de línea de producto
� Los objetivos de negocio y la visión organizacional incorporan en una forma cualitativa la línea de producto, el valor para la organización y su evolución
� Plan estratégico� Hay planes separados para la las actividades de ingeniería de dominio y las de ingeniería de
aplicación
� Los planes están sincronizados 14
Dimensión Negocio – Nivel 4� Nivel Medido:
� Se pueden medir los efectos de la ingeniería de línea de producto para mejorar la estrategia
� Comercial: � Costos, beneficios y roi de la ingeniería de línea de producto y en particular de la variabilidad
son medidos
� Los resultados influyen la estrategia de mercadeo y ventas
� Financiero: � Los costos y economías por la reutilización son medidos y tenidos en cuneta en los
presupuestos
� Visión y Objetivos de negocio: � La alta gerencia conoce los efectos de la ingeniería de línea de producto en la organización
� Las ventajas aparecen explícitas en la visión y en los objetivos de negocio.
� Los efectos adversos son reconocidos y medidos de tal forma que se puede planear cómo disminuir su efecto
� La estrategia de la ingeniería de línea de producto es visible en el exterior de la organización para clientes e inversionistas
� Plan estratégico: � Los planes y los mapas de ruta son coordinados con el propósito de obtener el mayor valor
de negocio con la iniciativa
15
Dimensión Negocio – Nivel 5� Nivel Optimizado:
� La estrategia de negocio involucra la optimización de la ingeniería de línea de producto
� Comercial: � Mercadeo y ventas saben sobre costos, beneficios, roi de la línea de producto y utilizan estos
resultados para mejorar la estrategia de negocio
� Financiero: � Existe una integración precisa de la información financiera con las predicciones de ventas,
costos y economías
� Visión y Objetivos de negocio: � Están influidos sobre el conocimiento (cuantificado) de la línea de producto
� Plan estratégico: � Los planes y los mapas de ruta son utilizados estratégicamente con el propósito de obtener el
mayor valor de negocio con la iniciativa
16
Dimensión Arquitectura
� Aspectos por considerar� Reutilización de activos:
� Nivel de reutilización de activos en los productos
� Arquitectura de Referencia: � Grado en el que la arquitectura de referencia determina
las arquitecturas de los productos
� Administración de la Variabilidad:� Uso explicito de los puntos de variación y mecanismos
de soporte
17
Dimensión Arquitectura – Nivel 1
� Nivel 1: Desarrollo independiente:� Hay arquitecturas para sistemas individuales� Reutilización no es visible en estas arquitecturas
� Reutilización de activos:� No hay una reutilización sistemática
� Arquitectura de Referencia:� No hay una arquitectura de la línea
� Administración de la Variabilidad:� La variabilidad no es manejada
18
Dimensión Arquitectura – Nivel 2� Nivel 2: Infraestructura Estandarizada
� Reutilización en términos de una infraestructura definida por terceros (third-party)
� Reutilización de activos:� Hay una infraestructura (third-party) común definida y en uso� Hay una reutilización ad hoc basada en un repositorio de
productos de terceros
� Arquitectura de Referencia:� La arquitectura de la línea de producto es derivada de la
infraestructura � Sólo refuerza el uso de la infraestructura
� Administración de la Variabilidad:� Solo se maneja variabilidad ofrecida en la infraestructura
19
Dimensión Arquitectura – Nivel 3
� Nivel 3: Plataforma de software� Reutilización de activos:
� Base de activos comunes� La reutilización está restringida por estos activos y la arquitectura
� Arquitectura de Referencia:� Arquitectura de referencia disponible para todas las aplicaciones� Contiene reglas para determinar el uso de la arquitectura� Incorpora soluciones sobre requerimientos de calidad
� Administración de la Variabilidad:� La arquitectura determina cuáles configuraciones de activos
están permitidas
20
Dimensión Arquitectura – Nivel 4� Nivel 4: Productos variantes � Reutilización de activos:
� Hay una reutilización sistemática y administrada del depósito de activos con variabilidad explícita definida en los activos
� Arquitectura de Referencia:� Hay una arquitectura de referencia explícita que determina
dónde las arquitecturas de las aplicaciones pueden variar. � Diversas soluciones para atributos de calidad están disponibles
en la arquitectura de referencia
� Administración de la Variabilidad:� La arquitectura de la línea determina:
� cuáles configuraciones son permitidas para las arquitecturas de las aplicaciones
� los puntos de variación y restringe las variantes para estos puntos. � Las reglas que variantes específicas deben satisfacer.
21
Dimensión Arquitectura – Nivel 5� Nivel 5: Configuración� Nivel de reutilización de activos:
� Hay un uso sistemático de un depósito de activos con variabilidad explícita en los activos y los mecanismos de configuración
� Arquitectura de Referencia:� Determina completamente las arquitecturas de las aplicaciones� Hay un soporte automatizado para derivar un producto basado
en una configuración� Requerimientos de calidad son manejados con puntos de
variación explícitos
� Administración de la Variabilidad:� Completamente integrado con la arquitectura� La variabilidad se describe en algún modelo o lenguaje cuya
sintaxis y semántica son claras y entendidas en la organización22
Dimensión Procesos� Se ocupa de los roles, responsabilidades y
relaciones dentro de la organización de desarrollo de software
� Se identifican procesos distintos para la ingeniería de dominio y la ingeniería de aplicación
� CMMI podría ser aplicado de manera diferente en cada caso.
� Hay procesos de coordinación entre el dominio y la aplicación
23
Dimensión Procesos
� Aspectos para tener en cuenta:� Ingeniería de dominio� Ingeniería de Aplicación� Colaboración
24
Dimensión Procesos: Nivel 1
� Nivel 1: Inicial� Si los procesos:
� Ingeniería de dominio� Ingeniería de Aplicación� Colaboración
� Existen, están en nivel 1 de CMMI
25
Dimensión Procesos: Nivel 2� Nivel 2: Administrado� Ingeniería de dominio: nivel 2 CMMI
� Requirements Management (RM) : � trazabilidad entre puntos de variación y variantes
� Project Planning (PP)� Tiene en cuenta en la planeación el uso de los activos, los
responsables de los productos son stakeholders del plan.
� Project Monitoring and Control (PMC): � Monitorea el uso de los activos por aplicación
� Measurement and Analysis (MA):
� Tiene en cuenta de manera global la línea de producto� Configuration Management (CM):
� Define líneas de base y realeases para los activos
26
Dimensión Procesos: Nivel 2
� Nivel 2: Administrado� Ingeniería de Aplicación: nivel 2 CMMI� Requirements Management (RM):
� RM para el producto teniendo en cuenta los requerimientos del dominio y los específicos
� Project Planning (PP):� Planeación de la reutilización de activos y el binding de variabilidad� Analizar riesgos de dependencias
� Project Monitoring and Control (PMC):� Monitoreo de los activos reutilizables
� Measurement and Analysis (MA):� Mide el uso de activos
� Configuration Management’s (CM):� Activos reutilizables son una base para la identificación de ítems de
configuración.27
Dimensión Procesos: Nivel 3
� Nivel 3: Definido� Los procesos están alineados a través de
toda la organización� Hay control sobre la variabilidad y los activos
reutilizables tanto en su creación como en su uso.
28
Dimensión Procesos: Nivel 4
� Nivel 4: Cuantitativamente administrado� Los procesos son administrados y medidos a
través de toda la organización� Hay un control cuantitativo sobre la
variabilidad y los activos reutilizables
29
Dimensión Procesos: Nivel 5
� Nivel 5: Optimizado� Procesos son continuamente optimizados para
mejorar su efectividad � Hay un esfuerzo combinado de mejoramiento
conjunto de las actividades de ingeniería de dominio e ingeniería de aplicación
30
Dimensión Organización
� Se ocupa de la relación de roles y responsabilidades entre las estructuras organizacionales
� Mide la efectividad de la distribución de las actividades de ingeniería de dominio e ingeniería de aplicación.
31
Dimensión Organización
� Aspectos para tener en cuenta:� Roles y responsabilidades:
� Cómo la organización administra las responsabilidades y relaciones en la línea de producto
� Estructura:� Estructura organización
� Esquemas de colaboración� Entre las personas que se ocupan de ingeniería de
dominio y las de aplicación
32
Dimensión Organización Nivel 1
� Nivel 1: Proyecto� Roles y responsabilidades:
� Solamente están definidos los roles de las actividades tradicionales de ingeniería de aplicación
� Estructura:� Organizada alrededor de proyectos
� Esquemas de colaboración:� Recursos humanos son compartidos entre
proyectos pero no hay activos compartidos
33
Dimensión Organización Nivel 2
� Nivel 2: Reutilización� Roles y responsabilidades:
� No hay roles de ingeniería de dominio explícitamente definidos
� Los expertos de aplicaciones colaboran para identificar activos comunes
� Estructura:� Está focalizada in hacer proyectos� Algunos recursos están destinados para identificar
activos comunes
� Esquemas de colaboración� Está basado en negociación y en compartir
información entre los proyectos 34
Dimensión Organización Nivel 3
� Nivel 3: Débilmente conectada� Roles y responsabilidades:
� Tanto los roles de ingeniería de aplicación como los de domino están explícitamente definidos
� Hay responsabilidades separadas
� Estructura� Los roles separados están distribuidos en la organización� Hay un departamento independiente para la ingeniería de
dominio
� Esquemas de colaboración:� Está descrito explícitamente en particular en lo relacionado con
los requerimientos y los cambios que se deriven de estos
35
Dimensión Organización Nivel 4
� Nivel 4: Sincronizado� Roles y responsabilidades:
� Existen roles coordinados entre ingeniería de aplicación e ingeniería de dominio
� Ingeniería de dominio tiene una importancia mayor en la organización
� Estructura:Existe una estructura primaria que sigue la arquitectura de referenciaHay una estructura secundaria que incorpora equipos de dominios distintos
� Esquemas de colaboración:� Fuerte colaboración � Reuniones de seguimiento
36
Dimensión Organización Nivel 5
� Nivel 5: Orientada al Dominio� Roles y responsabilidades:
� Las responsabilidades de las personas en la organización están organizadas por dominios funcionales y el énfasis está en la ingeniería del dominio
� Estructura:� Esta definida en términos de las disciplinas de la
ingeniería de software
� Esquemas de colaboración:� Las personas ´pueden asumir roles tanto de
ingeniería de dominio como de aplicación cuando se requiera 37
Utilización de Framework
� Tres formas:� Evaluar una organización y obtener información
sobre que tan bien está funcionando� Realizar un benchmark y comparar
organizaciones� Planear un mejoramiento en la organización
38
Resultados de una evaluación
� Perfil que consiste de una nivel por cada dimensión BAPO
� Cada organización deberá determinar, desde una perspectiva económica, qué es lo óptimo para ella.
39