Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel...

39
Líneas de Producto de Software – The Family Evaluation Framework (FEF) Rubby Casallas Departamento de Sistemas y Computación Universidad de los Andes, Bogotá 1

Transcript of Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel...

Page 1: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

Líneas de Producto de

Software – The Family

Evaluation Framework (FEF)Rubby CasallasDepartamento de Sistemas y ComputaciónUniversidad de los Andes, Bogotá

1

Page 2: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

Referencias

� [linden 2007] Linden, Frank J. van der, Schmid, Klaus, Rommes, Eelco. Software Product Lines in Action. Chapter 6. Springer. 2007

2

Page 3: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

Agenda

� Las dimensiones� Business� Architecture� Process� Organisation� Perfíl de evaluación

3

Page 4: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 5: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 6: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

Estructura del Framework

� Cuatro dimensiones (BAPO)� Business� Architecture� Process� Organisation

� Por cada dimensión � Cinco niveles� 3 o 4 aspectos

6

Page 7: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

7

Page 8: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 9: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 10: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

Los Niveles

� Reflejan la manera en la cual las organizaciones manejan las distintas dimensiones de una línea de producto.

� Son incrementales (acumulativos)

10

Page 11: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 12: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 13: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 14: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 15: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 16: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 17: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 18: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 19: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 20: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 21: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 22: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 23: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 24: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

Dimensión Procesos

� Aspectos para tener en cuenta:� Ingeniería de dominio� Ingeniería de Aplicación� Colaboración

24

Page 25: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 26: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 27: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 28: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 29: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 30: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 31: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 32: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 33: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 34: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 35: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 36: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 37: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 38: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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

Page 39: Líneas de Producto de Software –TheFamily ...isis4715/...Dimensión Negocio –Nivel 4 Nivel Medido: Se pueden medir los efectos de la ingeniería de línea de producto para mejorar

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