Factoria software

23
CENSURADO CENSURADO

description

Esto es algo de nuestros trabajos desde el 2006...

Transcript of Factoria software

Page 1: Factoria software

CENSURADO

CENSURADO

Page 2: Factoria software

Necesidades Universales

• Despliegue de nuevos servicios de forma rápida.

• Acomodar una demanda creciente de nuevos productos en

un amplio espectro de categorías de características.

• Conectar los productos de formas sin precedentes.

• Explotar una tecnología que cambia rápidamente.

• Ganar un limite competitivo.

Page 3: Factoria software

Objetivos de Negocio Universales

Alta calidad

Rápido time to market

Agilidad del mercado

Alineación del producto

Producción a bajo costo

Bajo costo de mantenimiento

Personalización en masa

Mind share

Page 4: Factoria software

Razones!!!!

• Incesante demanda de software.

• Es una actividad riesgosa.

• Fuerza de trabajo cada vez mas productiva.

• No se puede seguir con el modelo “maestro-aprendiz”

• Se ha intentado antes:

– Herramientas CASE.

– Metodologías Formales

– OOP

Page 5: Factoria software
Page 6: Factoria software

Industrialización del Software

• “El Software es en ciertos aspectos como productos tangibles de las disciplinas de ingeniería convencionales tales como puentes, edificios y computadores. Pero también existen ciertas diferencias importantes que dan al desarrollo de software un sabor único. Ya que el Software es lógico y no físico, sus costos están concentrados en su desarrollo en vez de su producción, y ya que el software no se ve, su confiabilidad depende de cualidades lógicas como correctitud y robustez, en vez de las características físicas como maleabilidad y dureza.” Peter Wegner

Page 7: Factoria software

Software Factories 1

• Economías de Escala

• Se producen instancias idénticas de un solo diseño

colectivamente, en vez de individualmente.

Page 8: Factoria software

Software Factories 2

• Economías de Alcance

• El software no se fabrica.

• Pero el software no es un diseño único y replicable.

• No es un nuevo producto, tampoco una nueva metodología ni proceso; es un enfoque sobre como hacer sistemas; y que va directo a que los equipos de desarrollo hagan lo que tienen que hacer.

PROGRAMAR

Page 9: Factoria software

Cambio Cultural • Construcción Monolítica

– Protocolos Específicos para una plataforma

– Empaquetamiento débil

– Encapsulación Fuerte

– Síndrome de “No inventado aquí”

• Generalidad Gratuita – Lenguajes de Modelado Débiles.

– Generación de Código Débil.

– Débiles metadatos para integración.

• One off development

• Inmadurez del proceso. – Formalismo Excesivo

– Excesiva Autonomía

We hire people who build doghouses, give them cranes and ask them to build skyscrapers. Then we're surprised when they fail. Eileen Steets Quann

Page 10: Factoria software

Cambio Cultural – Que es lo innovador?

• Reuso sistemático

• Software Product Lines

• Salir del One-Off Development

• Desarrollo por Ensamble – Protocolos Independientes de la plataforma

– Auto Descripción

– Encapsulación Separada

– Desarrollo Dirigido por la Arquitectura

– Orquestación

Page 11: Factoria software

Cambio Cultural – Que es lo innovador?

• Desarrollo Dirigidos por Modelos

– Lenguajes Específicos de Dominio

– Uso de Frameworks

– Transformación de Modelos

• Frameworks de Procesos

– Vigilancia Activa

– Cronogramas basados en restricciones

Page 12: Factoria software

Software Product Lines

• A software product line (SPL) is a set of

software-intensive systems that share a

common, managed set of features satisfying

the specific needs of a particular market

segment or mission and that are developed

from a common set of core assets in a

prescribed way.

Logo del SEI Product Line Practice ™

Page 13: Factoria software

Que no son Software Product Lines

• Reuso fortuito en pequeñas cantidades – Reusar librerías que contienen algoritmos, módulos, objetos o componentes.

• Desarrollo de un solo sistema con reuso – Modificar el código que se necesita para ese sistema

• Solo desarrollo basado en componentes o servicios. – Seleccionar componentes o servicios de una librería in-house, mercado o la web sin foco

arquitectónico.

• Solo versiones de un solo producto

• En vez, releases simultáneos y soporte de múltiples productos.

• Solo una arquitectura configurable – Un buen inicio, pero solo una parte del potencial de reuso

• Solo un conjunto de estándares técnicos. – Restringiendo elecciones sin una estrategia de reuso basada en la arquitectura.

Page 15: Factoria software

Que es una fabrica de software

A software factory is a software product line that

configures extensible tools, processes, and content using a

software factory template based on a software factory

schema to automate the development and maintenance of

variants of an archetypical product by adapting,

assembling, and configuring framework-based

components.

Page 16: Factoria software

Que se necesita?

• En una fabrica de software hay 2 elementos centrales:

– El esquema de fabrica de software.

– La plantilla de fabrica de software basada en ese esquema.

Page 17: Factoria software

Software Factory Schema

• Necesitamos categorizar y resumir los artefactos de desarrollo. – De una manera ordenada.

• Generalmente se usa una matriz.

– Columnas: Intereses

– Filas: Niveles de abstracción.

• Each cell defines a perspective or viewpoint from which we can build some aspect of the software

Page 18: Factoria software

Esquema como Grafico

Page 19: Factoria software

Software Factory Template

• Son los activos que implementan la fabrica de software.

• Incluye código, metadatos, frameworks, etc.

• Es como las plantillas en Word o Excel.

Page 20: Factoria software

Construyendo la fabrica de software

Page 21: Factoria software

Construyendo la fabrica de software

Page 22: Factoria software

Que enfoque debe adoptar Avansoft?

• Por Tradición

– En el mercado empresarial en el que aplicaciones de negocio

verticales no consiguen producirse masivamente, el software se

comporta como una economía de alcance

• Por Futuro

– En el mercado de consumo masivo como aplicaciones de

escritorio en el cual sistemas operativos y suites de oficina se

producen en grandes cantidades, el sofware se comporta como

una economía de escala

Page 23: Factoria software

Objetivos de la adopción

• Los objetivos son tangibles:

– Tener un core de activos base, procesos de soporte y estructura

organizacional

– Desarrollar productos a partir de esos activos base de tal

manera que logremos las metas de negocio

– Institucionalizar mecanismos para mejorar y extender el

esfuerzo en la adopción de líneas de productos de software a

medida que esto tiene sentido.