MARCO DE PROCESOS DE DESARROLLO DE SOFTWARE ORIENTADO A ENTORNOS PRODUCTIVOS PEQUEÑOS ESPECIALIZADOS EN SOLUCIONES DE GESTIÓN



Documentos relacionados
Gestión y Desarrollo de Requisitos en Proyectos Software

Figure 7-1: Phase A: Architecture Vision

Elementos requeridos para crearlos (ejemplo: el compilador)

10 PRÁCTICAS BASALES DE LA GESTIÓN DE PROYECTOS INFORMÁTICOS EN CUBA

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

Unidad 1. Fundamentos en Gestión de Riesgos

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Qué es el Modelo CMMI?

Hacer Realidad BPM en su Organización ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN

Metodología básica de gestión de proyectos. Octubre de 2003

IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS

FÁBRICA DE SOFTWARE. Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP

CURSO COORDINADOR INNOVADOR

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

BPM: Articulando Estrategia, Procesos y Tecnología

ADMINISTRACIÓN DE PROYECTOS

CMMI (Capability Maturity Model Integrated)

Curso: Arquitectura Empresarial basado en TOGAF

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

Microsoft Dynamics Sure Step Fundamentos

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Gestión de la Configuración

Sede Escazú, Plaza Tempo

Anexo III: Inventario de iniciativas horizontales incluidas en el Eje e-gestión.

<Generador de exámenes> Visión preliminar

Planeación del Proyecto de Software:

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

ADMINISTRACION DE CENTROS DE COMPUTO

Figure 9-1: Phase C: Information Systems Architectures

Bechtle Solutions Servicios Profesionales

Proceso: AI2 Adquirir y mantener software aplicativo

Figure 16-1: Phase H: Architecture Change Management

TITULO Editorial Autores ISBN AÑO

Enginyeria del Software III

ESTRATEGIA DE DINAMARCA: INFORME SOBRE EL FUTURO DEL ENTORNO LABORAL

Centro Nacional de Referencia de Aplicación de las TIC basadas en fuentes abiertas. Un ejemplo práctico: Plataforma de Archivo electrónico

F A B R I C I O M U Ñ O Z S. T E N I E N T E T É C N I C O D E A V I A C I Ó N

Planificación en Team Foundation Server 2010

Ley Orgánica de Protección de Datos

I INTRODUCCIÓN. 1.1 Objetivos

Planificación de Sistemas de Información

ITBA - UPM MAGISTER EN INGENIERIA DEL SOFTWARE ANTEPROYECTO DE TESIS

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

Planificación de Sistemas de Información


Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

Sistema de Preregistro Orientado al Postulante

CONCEPTOS GENERALES DE LA GESTION DE PROYECTOS

2.1 Clasificación de los sistemas de Producción.

DIRECCIÓN DE SERVICIO PROFESIONAL ELECTORAL ING. JOSE LUIS IXTLAPALE FLORES

PLAN DIRECTOR DE SERVICIOS MÓVILES DE VALOR AÑADIDO EN LA ADMINISTRACIÓN PÚBLICA

Señor A/P. Lino Bessonart FEMI Presente Ref.: 181/2009

Carta de constitución de la PMO para IDlink

Master en Gestion de la Calidad

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0


PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación

Is not jus power, is reliability and trust. Yei Systems S.A. de C.V.

Las instituciones privadas de educación se caracterizan por brindar una. formación integral a la sociedad; la propuesta educativa que se hace a la

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión)

Charlas para la Gestión del Mantenimiento Fernando Espinosa Fuentes

CAPÍTULO 4. FORMA DE EVALUACIÓN CMM. 4.1 Evolución de los métodos de valoración del SEI

COMPILACION BIBLIOGRAFICA PMBOK, OPM3 JHON FREDY GIRALDO. Docente: Carlos Hernán Gomez Asignatura: Auditoria de Sistemas

Capítulo 1. INTRODUCCIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Resumen General del Manual de Organización y Funciones

ANÁLISIS DE RIESGOS EN LA GESTIÓN DE PROYECTOS. Los riesgos son eventos o condiciones inciertas que, si se producen, tienen un

GUÍA METODOLÓGICA DE IMPLANTACIÓN DE PROCEDIMIENTOS Y SERVICIOS TELEMÁTICOS DE LA JUNTA DE ANDALUCÍA

Guía de Planificación Estratégica de la Informática Educativa

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4. Dirección Técnica:

Anexo VI: Inventario de iniciativas horizontales incluidas en el Eje e-gobernanza.

MARCO DE COOPERACIÓN CON LAS UNIDADES DE INFORMÁTICA DISTRIBUIDAS

CAPÍTULO 1 PLANTEAMIENTO DEL PROBLEMA

Profunda comprensión de que valores son o podrían ser percibidos por los clientes.

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Informe de Seguimiento. Máster Universitario en Dirección y Administración de Empresas-MBA. Empresas-MBA de la Universidad de Málaga

La evaluación del desempeño del personal es un punto muy delicado, ya que debe ser objetiva y justa para no generar conflictos

PROYECTO GESTIÓN POR PROCESOS: INFORME DE AUTOEVALUACIÓN MEDIANTE CUESTIONARIO

Proyecto Fin de Carrera

SISTEMAS Y MANUALES DE LA CALIDAD

PLAN RESUMEN EJECUTIVO ESTRATÉGICO

PLAN ESTRATÉGICO DEL SERVICIO DE GESTIÓN DE PERSONAL ( )

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

SCRUM MASTER PRODUCT OWNER

El participante puede llevar a cabo el proceso de auto-comparación y sobre esa base reforzar los aspectos menos consistentes.

GUIÓN PLAN DE NEGOCIO

MARCO DE REFERENCIA SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DE TI EN EL ESTADO COLOMBIANO

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

PLAN DE EMPRESA ESTRUCTURA. 1. Resumen ejecutivo. 2. Descripción del producto y valor distintivo. 3. Mercado potencial. 4. Competencia.

Aproximación práctica a ITIL. Proyecto VeredaCS. F r00

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

Resumen del Contenido del Examen PMP

Gestión de Oportunidades

Principios de Contabilidad Generalmente Aceptados C8 y Norma Internacional de Contabilidad No. 38

Transcripción:

MARCO DE PROCESOS DE DESARROLLO DE SOFTWARE ORIENTADO A ENTORNOS PRODUCTIVOS PEQUEÑOS ESPECIALIZADOS EN SOLUCIONES DE GESTIÓN Claudia Nuñez Sanz y Leoandris Sanchez Vargas 1 Universidad de las Ciencias Informáticas. DATEC. Centro de Tecnología de Gestión de Datos. 2 Universidad de las Ciencias Informáticas. GIDI. Grupo de investigación y desarrollo de internet. Resumen Este trabajo se centró en la elaboración de un marco de procesos de desarrollo de software orientado a entornos productivos pequeños, especializados en soluciones de gestión, para garantizar la agilidad y estandarización en los procesos productivos de estos entornos. Con el modelo propuesto se demostró la relación existente o puntos de encuentro entre la guía del Project Management Body of Knowledge (PMBOK) y SCRUM como metodología ágil para el desarrollo de software. Se integró, además, el método Arquitectura Dirigida por Diseño (ADD) dentro del ciclo de desarrollo de software obteniendo una abstracción arquitectónica del modelo y los modelos de procesos industriales Línea de Producción unido a Fábricas de Software. Se garantizó a su vez una reducción de los niveles de incertidumbre en el desarrollo y la mantención de proyectos de software y se obtuvo la estructura del proyecto, identificando áreas, procesos y macro procesos y un producto general partiendo de la integración de cada producto específico identificado por cada área o proceso a automatizar. A partir de la investigación logró estructurar el expediente documental que contempla las diferentes plantillas de gestión de proyecto y de desarrollo de software, así como las aplicaciones que darán soporte informático a la propuesta. Palabras clave: proceso, administración, desarrollo, software.

Abstract This work is focused on developing a framework of software development processes aimed at smaller production environments, specializing in management solutions to ensure flexibility and standardization in the production process of these environments. With the proposed model showed the relationship or meeting points for the guidance of the Project Management Body of Knowledge (PMBOK) and as SCRUM agile methodology for software development. It joined also the method Driven Architecture Design (ADD) into the software development cycle by obtaining an abstract architectural model and models of industrial processes joined Production Line software factory. While ensuring a reduction in the levels of uncertainty in the development and maintenance of software projects, obtain the structure of the project, identifying areas, processes and macro processes and general product based on the integration of each specific product identified by each area or process to automate. It was obtained from the research framework model of software development processes and the file associated with this documentary that looks at the various project management templates and software development, as well as applications that will give computer support to the proposal. Keywords: process, management, development, software.

1. Introducción En la actualidad la globalización exige flexibilidad a las empresas del software para mantener su auge en los próximos años, debido a esto las empresas deben desarrollar la capacidad de respuesta rápida ante nuevas oportunidades de negocio y retos competitivos en las condiciones de mercado y además reflexionar sobre el grado de adaptación de las metodologías utilizadas hasta el momento, que han sido metodologías convencionales, basadas en una planificación extensa, propiciando que las empresas del software actuales se interesen por nuevos enfoques más ligeros y abiertos a los cambios, las Metodologías Ágiles. (1) Las metodologías ágiles en comparación con las metodologías convencionales, perciben cada respuesta al cambio como una oportunidad para mejorar el sistema e incrementar la satisfacción del cliente, considerando la gestión de proyecto como un aspecto inherente al propio proceso de desarrollo de software. Como parte de este proceso la gestión de proyecto tiene que dar el paso de evolución apropiado para desarrollar nuevos productos y servicios en estos sectores y adaptarse a los cambios del entorno en el que trabaja ya que las circunstancias de los mercados y de las empresas no pueden cambiar. La Industria Cubana del Software es de joven creación y su meta principal es informatizar la sociedad y elevar los niveles de desarrollo de software. Esta industria se caracteriza en la actualidad por contar con equipos de desarrollo pequeños para llevar a cabo todo el proceso de trabajo, existe a su vez, una cultura pobre de producción de software en los que se realicen estudios por parte de equipos multidisciplinarios encaminados a la creación de un producto orientado a un mercado amplio, caracterizándose los desarrollos por ser locales, muy justos o a la medida, poco industriales y empíricos, por lo que se deduce la baja capacidad de reutilización de soluciones y por tanto, la necesidad de que los ciclos productivos sean cortos manteniendo así un elevado por ciento de efectividad enfocados al predominio de soluciones de gestión con una formalización o estandarización del tiempo y un estricto control del trabajo. Para el desarrollo de esta nueva fuente de ingreso se utiliza el potencial que existe en la Universidad de Ciencias Informáticas, que tiene como uno de sus principales objetivos el desarrollo de software que cuente con la calidad requerida. Aunque a lo largo de estos años la Universidad ha alcanzado un alto grado de madurez y organización en cuanto a desarrollo y tecnología con los que se ha conseguido alcanzar un elevado conocimiento científico-técnico, la aplicación de buenas prácticas y se ha impulsado el desarrollo de tecnologías, es necesario

reconocer que la misma ha heredado algunas problemáticas de la Industria antes mencionada. El presente artículo tiene como objetivo principal elaborar un marco de procesos de desarrollo de Software orientado a entornos productivos pequeños, especializados en soluciones de gestión, para garantizar la agilidad y estandarización en los procesos productivos de estos entornos. 2. Materiales y Métodos Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas, procesos, políticas y ayudas a la documentación para el desarrollo de productos de software. Tienen como finalidad garantizar la eficacia y la eficiencia en el proceso de generación de software (2). En el caso de las metodologías ágiles se ha demostrado que la participación de todo el equipo aporta mucho más talento innovador y diferencial. En las metodologías ágiles no se espera a desarrollar requisitos detallados antes de empezar el análisis o el desarrollo, más bien se parte de la visión general y el descubrimiento paulatino durante el desarrollo que dará paso a las circunstancias que se irán produciendo, dibujando el detalle de forma paralela al desarrollo. En el caso de SCRUM, que es una metodología ágil desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle, define un marco para la gestión de proyectos. Está especialmente indicada para proyectos con un rápido cambio de requisitos y compuesto por equipos multi-funcionales y auto-administrados. El trabajo a realizar durante cada una de las iteraciones es seleccionado por el equipo de desarrollo de una lista de requerimientos priorizados conocida como el "Product Backlog". De esta lista, el equipo selecciona los requerimientos más prioritarios que puede desarrollar completamente en 30 días y define y estima las tareas necesarias para cumplir con esos requerimientos; ese listado de tareas se conoce como el "Sprint Backlog" (3). Además, se puede identificar como patrón de ciclo de vida, cinco etapas: concepto, especulación, exploración, revisión y cierre. La Gestión de Proyectos se puede describir como un proceso de planteamiento, ejecución y control de un proyecto, desde su comienzo hasta su conclusión, con el propósito de alcanzar un objetivo final en un plazo de tiempo determinado, con un coste y nivel de calidad determinados, a través de la movilización de recursos técnicos, financieros y humanos. Incorporando variadas áreas del conocimiento, su objetivo final es obtener el mejor resultado posible del trinomio coste-tiempo-calidad. (4) EL PMBOK es una colección de procesos y áreas de conocimiento generalmente aceptadas como las mejores prácticas dentro de la gestión de proyectos; un estándar reconocido

internacionalmente (IEEEStd 1490-2003) que provee los fundamentos de la gestión de proyectos que son aplicables a un amplio rango de proyectos. Reconoce 5 grupos de procesos básicos y 9 áreas de conocimiento comunes a casi todos los proyectos. Los procesos son descritos en términos de: Entradas, Herramientas y Técnicas y Salidas. Las nueve áreas del conocimiento mencionadas en el PMBOK son: gestión de la integración, gestión del alcance, gestión del tiempo, gestión de la calidad, gestión de costos, gestión del riesgo, gestión de recursos humanos, gestión de la comunicación y gestión de compras y adquisiciones. (5) ADD O ARQUITECTURA DIRIGIDA POR DISEÑO Si bien es cierto que las metodologías ágiles ya forman parte de la avanzada en los procesos de desarrollo de software se debe destacar que inicialmente la arquitectura no era tenida en cuenta en este tipo de metodologías o solo era considerada de un modo superficial. La carencia de prácticas relacionadas con el diseño formal de la aplicación es precisamente una de las debilidades de las metodologías ágiles. Esta falta de formalismo se halla justificada porque el diseño detallado lleva una inversión de tiempo considerable en decisiones y aspectos. Resulta difícil encontrar documentación sobre cómo definir una arquitectura en un proyecto de desarrollo de software guiado por una metodología ágil, en este caso SCRUM, por lo que sería de gran importancia contar con un proceso capaz de acoplarse a una metodología de desarrollo de software ágil, en el que se distingan claramente los beneficios de aplicarlo en cada etapa y las consecuencias de no tenerlo en cuenta. (8) Con el fin de resolver esta debilidad se decidió incluir al ADD (Attributo-Driven Design o Arquitectura dirigida por diseño) al marco de procesos propuesto. ADD fue desarrollado por la Carnegie Mellon Software Engineering Institute y el mismo es una aproximación a la definición de una arquitectura de software en el que el proceso de diseño se basa en la comprensión de la relación entre la calidad del software y la arquitectura de los mecanismos utilizados para alcanzar estas cualidades. Partiendo del diseño de la arquitectura sigue un proceso embebido en el ciclo de desarrollo de software atravesando todas sus fases: requisitos, diseño, implementación y prueba, con el fin de obtener una abstracción arquitectónica del producto final. 3. Resultados y discusión Debido a que la metodología que se utilizó para el desarrollo de software, dígase SCRUM, no abarca todos los elementos de la gestión de proyectos, se llevó a cabo un estudio para demostrar los puntos de encuentro entre la guía del PMBOK y SCRUM, donde se evidenció

cómo pueden ser agrupadas las diferentes áreas de conocimiento de la guía con las fases de SCRUM, destacando los artefactos generados más importantes. El estudio se basó en la realización de una encuesta que incluía preguntas acerca de todas las actividades que plantea la guía del PMBOK, el objetivo fue seleccionar las actividades de mayor prioridad en la gestión de proyectos y fue aplicada a especialistas del área de gestión de proyecto. La encuesta arrojó como resultado las distintas actividades que no deben faltar en la gestión de un proyecto, además se evidenció que el Plan de Gestión de Proyecto, como artefacto generado, constituye el documento rector y este será actualizado según sea necesario. La esencia del Plan de Gestión de Proyecto no es más que la agilidad de realizar estimaciones, pensando en que todos los requerimientos del cliente son reales en este inicio. (6) Sin perder el sentido por el cual existen las metodologías ágiles, refiriéndose así al principio del manifiesto ágil: La respuesta al cambio, por encima del seguimiento de un plan (7), se trata de que exista una planificación del proyecto. Al identificar las actividades que especialistas en el tema calificaron como imprescindibles en la gestión de proyectos se procedió a realizar un análisis exhaustivo sobre la prioridad de estas actividades con el fin de conformar el modelo de procesos centrado en SCRUM. En la fase inicial del modelo se evidencia una organización y planificación del proyecto en general, así como la identificación de todas las áreas, procesos y macro-procesos por los cuales estará compuesto el proyecto. Luego se trabaja en cada una de las líneas de productos identificadas donde se llevan a cabo las actividades de desarrollo y gestión y se obtiene un subproducto por cada línea, posteriormente se procede con la integración para lograr el producto final.

En la fase inicial del modelo se evidencia una organización y planificación del proyecto en general, así como la identificación de todas las áreas, procesos y macro-procesos por los cuales estará compuesto el proyecto. Luego se trabaja en cada una de las líneas de productos identificadas donde se llevan a cabo las actividades de desarrollo y gestión y se obtiene un subproducto por cada línea, los cuales se integran, con el objetivo de lograr el producto final. Consultar Materiales complementarios/marco de procesos.pdf. Fig. 1: Modelo del marco de procesos de desarrollo de software especializado en soluciones de gestión. Los procesos de desarrollo de software orientados a entornos productivos pequeños y especializados en soluciones de gestión se lograron agilizar y estandarizar mediante el marco de procesos de desarrollo de software, el expediente documental y las herramientas y aplicaciones planteadas. Este modelo estandariza los procesos de desarrollo de software para empresas que trabajen con equipos pequeños y donde predominen las soluciones basadas en la gestión de proyecto. La anterior afirmación se evidencia en el propio modelo el cual es una guía formal para llevar a cabo procesos de desarrollo de software en los entornos citados. Logrando disminuir la carencia de formalización de procesos y modelos productivos y aumentar la productividad en ciclos cortos, el alto por ciento de efectividad y la capacidad de reutilización, haciendo que los procesos sean industriales y que no existan desarrollos locales o a la medida. Cuando se cita que el marco brinda la posibilidad de elevar la capacidad de reutilización no se especula en lo absoluto. El hecho de que el modelo esté pensado para llevar a cabo la realización del producto final mediante líneas de productos y que exista un repositorio de componentes indica la existencia de la política de reutilización industrial en la unidad productiva.

4. Modelos de procesos industriales Otras de las necesidades del desarrollo de software en cuestión encontrados en la investigación fue la de integrar los modelos de procesos industriales, como modelos de desarrollo de software y guía a seguir cuando de crear un producto de software se trata. Estos modelos tendrían que adecuarse a entornos como los descritos para obtener la estructura del proyecto, identificando áreas, procesos y macro procesos y permitiendo además, obtener un producto general partiendo de la integración de cada producto específico identificado por cada área o proceso a automatizar. Tras tener identificadas estas características se decidió integrar los modelos de procesos industriales Fábricas de Software y Líneas de Producción. Fábrica de software: modelo de servicios cuya forma de trabajo es una analogía de los procesos de producción industriales, permitiendo una reducción de los niveles de incertidumbre en el desarrollo y mantención de proyectos de software. Ofrece beneficios directos sobre la confiabilidad y nivel de satisfacción de los productos entregados, proporcionando una mayor claridad presupuestaria y un calendario acotado de los proyectos e incidencias asociadas a las aplicaciones de software de la empresa. Líneas de producción: Según el Instituto de Ingeniería de Software (SEI) una línea de producción de software se define de la siguiente manera: Una LPS es un conjunto de sistemas de software compartiendo características comunes y administradas que satisface las necesidades específicas de un segmento de mercado particular o misión y que son desarrolladas de forma prescrita a partir de un conjunto común de elementos clave. (9) SCRUM es una metodología pensada para recibir con manos abiertas los buenos cambios y con la utilización del método ADD y los modelos de procesos industriales propuestos se define mejor la arquitectura conceptual del software, así como el diseño de sus procesos basados en los requerimientos de la calidad fortaleciendo la construcción del producto final para entornos productivos pequeños especializados en soluciones de gestión.

Fig. 2: Modelo de línea de producción integrado a fábricas de software. La integración de los modelo Líneas de Producción y Fábricas de Software dio paso a todo un proceso industrial el cual a partir de un reunión con el cliente procede a la identificación del entorno de negocio candidato, sus características, capacidades comerciales, capacidad de competencia de la fábrica para ese entorno de negocio, características de los procesos que engloba, ámbitos de integración con otros entornos de negocio, leyes y distinciones jurídicas. Luego se realiza el estado del arte del entorno de negocio de la organización orientado a 5 objetivos fundamentales: Conocer la organización y sus procesos claves. Identificar productos competidores, sus hitos funcionales y tecnológicos más importantes que serán referencias el alcance y prestaciones de los productos que montará la fábrica. Realizar un estudio de viabilidad y factibilidad técnica de la fábrica enmarcada en el índice de crecimiento que se prediga del análisis económico, capacidad de producción, y duración del ciclo de vida del proceso productivo. Identificar a partir de las características encontradas, los componentes o soportes tecnológicos que deberán ser contratados e instanciados en la fábrica para la posible ejecución del proceso productivo. Identificar características tecnológicas, legales y funcionales que deberá satisfacer el resultado del producto, y por consiguiente los lineamientos jurídicos de las tecnologías y metodologías a utilizar en la fábrica de software. Se realiza, además, el modelo de los procesos guías, sus reglas de negocio, y lineamientos legales. Como parte de la definición de la arquitectura de aplicaciones, abstracciones que definen los sistemas que son miembros de la familia. Dichos miembros se generan a partir de los elementos comunes identificados y formalizados, pero tomando en cuenta el modelo de variabilidad definido. En la realización de la conformación de la arquitectura corporativa de la solución, la misma deberá predecir los siguientes elementos: Plataformas de interoperabilidad e integración con que deberán comunicarse los productos de la fábrica. Estándares a cumplir de los dominios de solución. Plataforma tecnológica base sobre las que se construirán los modelos de dominio, núcleo tecnológico de la familia de productos que deben ser producidos en la línea o grupo de líneas que se instancien para construir el alcance corporativo definido en la arquitectura corporativa. Ambiente de desarrollo de la línea producto. Estudio de reutilización, identificación de que componentes que deberán ser reutilizados a partir de la base tecnológica especificada, presente en el repositorio de componente de la fábrica que gestionan las líneas de producto. Composición arquitectónica de la línea de producto expresado en 7 vistas

arquitectónicas, en dependencia del modo en que se especificó el diseño arquitectónico, es decir si fue genérico o por cada línea de producto a instanciar. Se inicia entonces el proceso de desarrollo de cada línea de producto ampliando el modelo de desarrollo específico para las actividades de administración de las líneas, estimación del costo, y lineamientos de las iteraciones según las recomendaciones de la arquitectura. Este paso se conforma en función del modelo de fábrica de software que se instancia para cada línea, para la propuesta, las fábricas son orientados a las familias de producto definidas, de modo que las iteraciones estarán orientadas a la capacidad de abstracción que provea el plano tecnológico de la arquitectura que asuma la fábrica para cada línea. Como parte de las etapas finales del desarrollo del producto se realiza la revisión integral de calidad de los procesos sucedidos en las líneas y los resultados de calidad de los mismos: Reordenamiento tecnológico de la fábrica, formalización de la base tecnológica especializada. Archivar en el repositorio de componentes los elementos tecnológicos de negocio creados (componentes) y las actualizaciones del soporte tecnológico de producción de la fábrica, (caracterizarlos). Empaquetamiento del producto en función el entorno específico del cliente y la configuración arquitectónica preestablecida. Piloto y estabilización del resultado ensamblado en la fábrica de ensamblaje, para la iteración en cuestión del entorno de cliente específico. Empaquetamiento del producto incluye (Manuales de usuario, manuales de instalación, documentación técnica, instaladora y ambiente para el soporte técnico). Despliegue del plan de marketing de las diferentes configuraciones construidas en el proceso de desarrollo, producto de la visión y lineamiento establecido en la arquitectura corporativa que guía el proceso de producción de la fábrica. Análisis de los resultados, informe de rentabilidad, análisis de desviación de los lineamentos arquitectónicos establecidos en la arquitectura corporativa. Distribución e implantación de la solución. Los modelos de desarrollo de software son la guía a seguir cuando se trata de crear un producto de software. La elección de la integración se basa principalmente en que la misma se adecua a los entornos productivos descritos en la investigación, cubriendo algunas necesidades del desarrollo de software en cuestión. El expediente documental en este caso está dividido en dos partes: las plantillas de gestión de proyecto las cuales son una serie de plantillas tipo de la gestión que responden a las áreas del PMBOK incluidas en el modelo, dígase calidad, comunicación, cronograma, plan de proyecto, planificación, recursos humanos y riesgos. Y las plantillas de desarrollo que responden a la

manera de desarrollar un software a través del marco propuesto, dígase requisitos, arquitectura, implementación, despliegue y pruebas. Fig. 3: Composición del expediente documental. Para determinar la plataforma tecnológica se tuvo en cuenta un estudio acerca de las herramientas que más se adecuan a la propuesta presentada. El análisis se basó en determinar qué herramientas cubrían parcial o totalmente las necesidades del modelo y se llegó a la conclusión de que IceScrum es la herramienta que mejor cubre los requisitos del mismo. Esta herramienta basada en Tecnología: Java 1.5 con el motor de servlets. Viene equipada con HSQLDB, pero puede ser configurado para trabajar con otros DBM como MySQL. Licencia: GPL. La utilización de esta herramienta garantiza que cada producto tenga un backlog único y una hoja de ruta. Un backlog contiene historias de usuarios, defectos y las historias técnicas. Un plan de trabajo contiene varias versiones, cada una de ellas tiene un plan de liberación individual. Un plan de lanzamiento consiste en múltiples Sprint. Cada Sprint contiene historias, que a su vez contienen las tareas y pruebas de aceptación. Los impedimentos pueden ser rastreados para cada producto. IceScrum incluye una tabla de tareas y vistas de la iteración en una pizarra, permitiendo que las tareas se puedan arrastrar y soltar. También permite arrastrar y soltar el ranking de las historias de usuario en el Backlog. IceScrum es el único producto revisado que tiene una función de la planificación de póquer. Esta característica permite a un equipo distribuido jugar póquer en la planificación para la estimación de las características e historias de los usuarios. Los usuarios pueden tener cualquiera de los roles de SCRUM (Product Owner, Scrum Máster, Equipo y las partes interesadas), además de que se pueden crear funciones personalizadas. Otra de las herramientas utilizadas es bizagi que es empleada como un modelador de procesos que permite representar de forma esquemática todas las actividades y decisiones que se toman

en el negocio. Cumple con el estándar Business Process Modelling Notation (BPMN). Es una plataforma completa para la automatización de procesos diseñada para soportar la transformación corporativa. BizAgi reduce el tiempo de salida al mercado de nuevas ideas y estrategias de negocio y facilita un mejoramiento continuo de procesos. La herramienta se utilizo para modelar el marco de procesos propuesto. Además se propone la utilización de Subversion para garantizar la centralización y control de versiones que permite realizar el seguimiento de los cambios en archivos empleados en proyectos de software. Basado en el trabajo inicial de CVS (Sistema de Versiones Concurrentes), constituye una implementación más eficiente de este último y ha conseguido mayor popularidad en proyectos de software libre y abierto y en organizaciones empresariales. Subversion garantiza el control de versiones que administra los archivos y directorios en el transcurso del tiempo. Hace posible recuperar antiguas versiones de los archivos, examinar el cambio en la historia de los mismos y puede ser accedido a través de la red, para ser usado por diferentes personas. Además trabaja con el modelo copiar-modificar-fusionar, en el cual en cada cliente se crea una copia de los archivos y directorios. Así se puede trabajar en paralelo, modificando sus copias privadas. Finalmente estas copias son fusionadas en una versión final. 5. Conclusiones Se propuso el marco de procesos de desarrollo de software orientado a entornos productivos pequeños y especializados en soluciones de gestión, el expediente documental y las herramientas con sus respectivos manuales de usuario, guías de administración y de instalación para llevar a cabo su aplicación. Se integró además, el Método ADD (Arquitectura Dirigida por Diseño) con el modelo propuesto, en aras de resolver la ausencia de escenarios arquitectónicos que por defecto traen consigo las metodologías ágiles. Logrando de esta manera proponer un marco que integra las principales actividades de gestión de proyecto, desarrollo de software y arquitectura dirigida por diseño. Se explicó cómo se utiliza la integración de los modelos de procesos industriales específicamente Líneas de Producción unido a Fábricas de Software y la importancia de aplicarlo en dicho marco de procesos con el fin de elevar los niveles de reutilización y formalización de procesos, disminuir los niveles de incertidumbre en el desarrollo y la mantención de proyectos de software y obtener la estructura de un proyecto, identificando áreas, procesos y macro procesos, en fin, un producto general partiendo de la integración de cada producto específico.

Referencias Las Riola Carvajal, J.C. Metodologías ágiles : Herramientas y modelos de desarrollo para aplicaciones Java EE como metodología empresarial. Conferencia 1 Ingeniería de Software.scrumenespanol. [En línea] http://scrumenespanol.blogspot.com/2007/12/scrum-en-pocas-palabras.html. www.knoow.net. [En línea] [Citado el: 15 de enero de 2010.] http://www.knoow.net/es/cieeconcom/gestion/gestiondeproyectos.htm. Project Management Institute, Inc, Guía de los Fundamentos de la Dirección de Proyectos, 3ed. Pennsylvania 19073-3299 EE.UU, Four Campus Boulevard Newtown Square. Corrales R. Blog de Rodrigo Corral con Scrum, 2007; http://geeks.ms/blogs/rcorral/archive/2007/01/29/.aspx. Beck, K. (2001). Manifiesto for Agile Software Development. [En línea]. Disponible en: http://www.agilemanifiesto.org. Mena López, G. y Escalona Herrera, A., Expediente para la documentación técnica de la arquitectura de software de sistemas de gestión. Investigativa, 2009. Muro Fumero, D. y Lazo Ochoa, R., Integración del modelo de procesos de desarrollo con el modelo de procesos de gestión de proyecto, en Uciencia 2010, La Habana, 2010.