fabrica de software - idea inicial

24
 Modelo de Fábrica de Software para el Desarrollo de Soluciones Móviles Proyecto: Modelo de Fábrica de Software para el Desarrollo de Soluciones Móviles Versión: <0.0.1> 1

Upload: luis-fernando-muro-carpio

Post on 04-Nov-2015

29 views

Category:

Documents


0 download

DESCRIPTION

La exposición de una idea para la organización de una fábrica de software, como empresa privada, para la empresa privada, teniendo como elemento clave su relación con la academia.

TRANSCRIPT

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Proyecto: Modelo de Fbrica de Software para el Desarrollo de Soluciones

Mviles Versin: Historial de RevisionesVersinFechaAutorDescripcin

0.0.112/06/15Fernando MuroBorrador

0.0.2

0.0.3

ndice de ContenidoModelo de Fbrica de Software para el Desarrollo de Soluciones Mviles INTRODUCCIONPara los efectos de este proyecto, entenderemos por Fbrica de Software como una localidad concreta donde se elabora software de manera eficiente y eficaz para satisfacer cierta demanda o necesidad especifica; aprovechando los beneficios de los criterios y conceptos tiles en la produccin industrial (Ejemplo: de la automatizacin y del re-uso de componentes); promoviendo el desarrollo colaborativo y solidario, ofrecido por comunidades de individuos o grupos localizados en lugares diversos. (Aguilar, 2007).

En principio, podemos entender una fbrica como un lugar fsico o virtual donde se produce algn objeto material o se presta un servicio. Normalmente el vocablo fbrica se asocia con un lugar fsico donde se procesan materias primas, pero en la hoy economa tambin se extiende el concepto a los lugares virtuales donde se generan servicios, por extensin del proceso de transformacin de ideas en servicios tiles, como software, contenidos, o servicios de formacin y capacitacin.

Tambin encontramos que es utilizada la palabra factora para designar determinadas actividades en las cuales no ocurre un consumo y transformacin de materias, sino que tiene como objeto final la obtencin de productos intangibles: factora de comunicacin, factora de cine o factora de software, entre otros.

Mario Piattini sugiere el nombre de Fbrica de Software, que incorpora mtodos propios de la industrializacin a la elaboracin del software, como son la estandarizacin, la tercerizacin, la reutilizacin de cdigo fuente y un profundo conocimiento de la actividad tecnolgica, piezas fundamentales para que este concepto entregue beneficios a otras industrias, u otros sectores dela economa, cuando necesitan desarrollar soluciones estratgicas.

En conjuncin con la aplicacin de un conjunto de principios de software libre, modelos de consultora, herramientas tcnicas y polticas que permitan medir y controlar los procesos de produccin de software, as como las formas de prueba y certificacin de los productos, talento humano y organizaciones, hacen que el concepto de fbrica de software libre garantice mejores niveles de calidad en los bienes y servicios informticos. Por ejemplo, la productividad, los costos, los tiempos de respuesta, y la disponibilidad del conocimiento seran impactados de manera positiva, adems de garantizar que las soluciones satisfagan los requerimientos de software de manera original.En otros pases ostentan xito en este referente al activar estrategias para la participacin de las universidades, centros de investigacin y laboratorios de desarrollo de tecnologas en los proyectos de gran envergadura, promoviendo la instalacin de fbricas de software y destinando recursos importantes para el financiamiento de estas actividades por la va de la investigacin, desarrollo e innovacin, y la creacin de incentivos para los participantes en las mismas, desde la empresa privada o de las fuentes de financiamiento gubernamentales. Ms adelante, dedicaremos una seccin para describir algunas de esas experiencias.

Con esta idea, intentaremos dar una lnea de accin para revisar y ordenar alguna propuesta, y aprovechando las experiencias exitosas alrededor del mundo, articularlas con factores con capacidad de producir bienes y servicios, en las universidades y tecnolgicos, y otras empresas del rea de tecnologas de informacin.

La organizacin de esta Fbrica de Software como modelo operativo permite que estos esfuerzos soluciones informticas para soluciones mviles, aplicaciones y servicios, que respondan a los principios de dominio de la tecnologa, el intercambio de conocimiento y la transferencia de tecnologas asociadas.PRIMERAS FBRICAS SOFTWARE, CONCEPTO E HISTORIAEl trmino Fbrica de Software se acu hace casi 40 aos, en 1968, en el congreso IFIP (International Federation of Information Processing) por Bemer, quien afirmaba que es imposible que los programadores hagan buen software simplemente bajo supervisin humana, mientras que una fbrica, sin embargo, tiene ms que supervisin humana, pues all se mide y se controla la productividad y la calidad. En las fbricas se mantienen registros financieros para costos y planificacin, frase para la reflexin, ms si la trasladamos al momento actual y consideramos sus aos de antigedad.

Hitachi fu la primera empresa que utiliz el trmino fbrica en 1969 cuando fund Hitachi Software Works.

Tambin es importante resaltar el destacado impulso y difusin empresarial que desde hace tiempo el concepto ha tenido en Japn y USA, y ms recientemente en China. A este respecto la siguiente tabla presenta por orden cronolgico las primeras fbricas de software.

1969 Primera fbrica de software: Hitachi Software Works

1975 Fbrica de software de la Systems Development Corporation

1976 Fbrica de software de NEC

1977 Fbrica de software de Toshiba

1979 Fbrica de software de Fujitsu

En lo que respecta a la evolucin de la estrategia que ha ido guiando las fbricas se pueden establecer tres pocas principales.

Las fbricas de las dcadas de los setenta y ochenta, que se basan principalmente en: disear edificios que soporten el proceso de desarrollo de software, construir un Software Work Bench (SWB) para las actividades del proceso de desarrollo y establecer una organizacin que controle y monitoree el proceso. Posteriormente se aadieron otras disciplinas de gestin de proyectos y calidad, metodologas, programas de formacin, etc.

Durante los noventa surgen diferentes aproximaciones:

a) Fbricas basadas en Entornos de Desarrollo Integrados, el contexto lo constituyen grandes empresas europeas.

b) Fbricas de componentes basadas en experiencia, como el SEL (Software Engineering Laboratory) de la NASA, el SEC (Software Experience Center) de DaimlerChrysler o el EPIK (Engineering Process Improvement and Knowledge Sharing) de ICL.

c) Fbricas de software basadas en la madurez de procesos, el contexto de esta aproximacin lo constituye el modelo CMM.

d) Fbricas de software basadas en la reutilizacin, basadas en familias de soluciones relacionadas.

e) Fbricas enfocadas a otras tcnicas de gestin de la calidad, como TQM (Gestin de Calidad Total), generadores de cdigo y herramientas CASE.

Y en los 2000 son Greenfield y Short (2004) de Microsoft quienes vuelven a poner de moda el concepto como enfoque en el que confluyen el desarrollo basado en componentes, el desarrollo dirigido por modelos y las lneas de producto software, en lnea con las recientes propuestas sobre el modelo de fbrica de software para organizaciones chinas, que consideran:

Fbrica Software = (Especificaciones de Gestin, Lneas de producto) x (Procesos, Personas, Tcnicas)EXPERIENCIAS EXITOSASUniversidad de Helsinki , FinlandiaEl Departamento de Ciencias de la Computacin abri una materia optativa en la que los estudiantes con ideas de soluciones informticas aprenden sobre la organizacin y forma de trabajo de la fbrica, al tiempo de desarrollar la documentacin necesaria que facilite conseguir el financiamiento.

Los fondos provienen de programas destinados a sostener actividades de ciencia, tecnologa e innovacin, y en algunos casos por empresas y entidades de gobierno.

Todo el modelo se est replicando en Espaa, India, China y Canad.Universidad de las Ciencias Informticas, CubaLa Universidad de las Ciencias Informticas es una universidad productiva, cuya misin es producir software y servicios informticos a partir de la vinculacin de estudio y trabajo como modelo de formacin.

La Produccin de Software y Servicios Informticos se basa en la integracin de los procesos de formacin, investigacin y produccin en torno a una temtica para convertirla en una rama productiva.Este espacio de integracin temtica es denominado Polo Productivo y se promueve desde la formacin de pregrado, postgrado, la colaboracin nacional e internacional, el fomento de lneas de investigacin y desarrollo, y la ejecucin de proyectos en el marco de acuerdos de trabajo.

Esta integracin garantiza la innovacin continua que genera y aporta valor a los productos y servicios, promueve la gestin del conocimiento garantizando un mayor rendimiento, logra una mejor utilizacin y aprovechamiento de los de los recursos humanos y materiales, generando alta especializacin y colaboracin.

Entre los servicios ms importantes se brindan los de calidad de software, arquitectura y tecnologa, servicios legales, diseo de comunicacin visual, entre otros.

La produccin se concentra en el desarrollo de proyectos en ms de 30 Polos Productivos y se destacan resultados en las esferas de salud, educacin, software libre, tele-educacin, sistemas legales, realidad virtual, automatizacin, bio-informtica, procesamiento de imgenes y seales, y ms.

Promueve el desarrollo de productos y servicios informticos en aquellas ramas donde Cuba tiene un reconocido prestigio en el mundo a travs del concurso de los mejores especialistas del pas para lograr una solucin de calidad y de impacto internacional, especficamente en salud y educacin.

Desarrolla programas de informatizacin de la sociedad cubana a travs de la relacin con entidades nacionales, los resultados alcanzados se extienden por todo el pas.

En el 2005 fue creada la empresa comercializadora de todos los productos y servicios informticos que se desarrollen en la Infraestructura Productiva de la UCI.

La UCI respalda la Misin Mdica Cubana en Venezuela garantizando el adecuado funcionamiento de los sistemas informticos. Hay un estudiante en cada Centro de Diagnstico Integral y en cada Centro Mdico de Alta Tecnologa donde estn instaladas las aplicaciones informticas qu,e desarrolla la UCI, un estudiante se integra al personal de la Misin Mdica cubana para atender los temas informticos.

La UCI cuenta con una Infraestructura Productiva formada por:

Polos Productivos que desarrollan proyectos temticos ubicados en las 10 Facultades, estas cuentan con un Vicedecanato de Produccin e Investigacin con asesores de Arquitectura, Calidad y Estrategia.

Direcciones especializadas para coordinar y dar servicio al ciclo completo de las producciones de software que cuenta con personal capacitado que trabaja en la documentacin del proceso y lineamientos que rigen la produccin de la universidad.

Un capital humano capaz de generar resultados equivalentes a 6 millones de horas hombres al ao lo que significa el desarrollo de 100 grandes sistemas al ao si se crean las condiciones tcnico organizativas necesarias.Universidad San Martn de Porres, PerEl anuncio de reciente data, mayo de 2010, hecho por la Universidad San Martn de Porres e IBM del Per, quienes firmaron el convenio para la creacin de la primera Fbrica de Software en la Facultad de Ingeniera y Arquitectura de la casa de estudios. Dicha fbrica permitir que los proyectos tengan similares estndares y productividad a los Centros de Desarrollo de IBM alrededor del mundo.

El acuerdo que estuvo a cargo del Rector de la Universidad, el Ing. Ral Bao Garca, y el Gerente General de IBM Per, el Ing. Jaime Garca Echecopar, permitir que los alumnos de la Facultad de Ingeniera y Arquitectura ganen experiencia laboral en una Fbrica de Software de clase mundial (con certificacin CMMI nivel 5), por medio de prcticas pre-profesionales.

Asimismo, se desarrollarn las nuevas aplicaciones de la USMP tales como el Portal Institucional y la nueva Intranet Acadmica con un moderno sistema administrativo, que integrar la informacin de toda la Universidad con servicios de inteligencia de negocios. Todo esto para dotar de mejores servicios para los estudiantes, docentes y personal administrativo.

Cabe sealar que contar con una Fbrica de Software permitir que los proyectos tengan similares estndares, mtricas de productividad, mejores servicios, confiabilidad, posibilidad de establecer proyectos de referencia y estar interconectado a los Centros de Desarrollo de IBM alrededor del mundo.Plataforma de Desarrollo de Software Libre Cenditel, MridaAunque no trabaja como una fbrica de software, su intencin es la de proporcionar una plataforma para la promocin de desarrollo de software en ambientes de colaboracin.

Esto es posible por la integracin de herramientas que ayuden a la organizacin de grupos de desarrollo, por proyectos, los cuales se ajustan a un modelo que responde a una metodologa para la participacin de los integrantes del proyecto, que facilita la entrega de productos como la documentacin, discusin, anlisis, gestin, e implementacin de la solucin.

Entre las herramientas que componen la plataforma se encuentra una metodologa para el desarrollo de software, un gestor de contenidos, una wiki, un gestor de proyectos de software con control de versiones y plantillas para la documentacin de los proyectos.

Sustenta esta plataforma la contnua reflexin y redefinicin de los procesos tecnolgicos y la forma de apropiacin por parte de los grupos de desarrollo.

Cuentan con una metodologa de desarrollo colaborativo de software libre. Esta metodologa describe un proceso iterativo de desarrollo gil, en el cual se consideran los procesos de conceptualizacin, administracin y desarrollo de aplicaciones de software libre, planteada para facilitar el trabajo colaborativo, entre grupos de tcnicos y los usuarios de aplicaciones.

Tambin han diseado polticas para el desarrollo colaborativo de software libre, las cuales constituyen slo una primera propuesta que an no ha sido puesta en prctica.

Se han desarrollado mdulos y aplicaciones para gestionar la documentacin y el cdigo desde la plataforma, bajo los requerimientos de la metodologa de desarrollo colaborativo de software libre. Contiene las plantillas para la documentacin del software.

Un gestor de flujo para la asignacin, seguimiento y control de las actividades relacionadas con la produccin de software.

Tambin cuentan con un Protocolo de Referencia en Transferencia Tecnolgica para el Estado Venezolano. En este protocolo se enfatiza el lugar que ocupa la Transferencia dentro de modos ms amplios de apropiacin del conocimiento, y la necesidad de reflexionar y estructurar criterios uniformes en forma de protocolos, reglas, normas o directrices, los cuales incluyan todas las vas posibles de apropiacin; como pauta para el logro de la apropiacin social y tcnica del Conocimiento. Google Summer of Code (http://es.wikipedia.org/wiki/Google_Summer_of_Code)Es un programa iniciado en 2005, con una convocatoria anual, durante el perodo de verano, para estudiantes universitarios que deseen desarrollar proyectos bajo software libre, los cuales son evaluados por organizaciones que seleccionan a los mejores. Estos reciben un pago y la posibilidad de ocupar cargos en la fbrica de software de Google, los cuales son abiertos para recibir a los ganadores.

Las organizaciones evalan y seleccionan las propuestas, y a travs de mentores, acompaan a los estudiantes a documentar sus ideas de la manera correcta.

En el ao 2005 se inici el proceso con 200 vacantes abiertas, pero terminaron contratando a ms de 420 programadores, y se completaron un 80% de los proyectos presentados.

Participan anualmente muchas organizaciones, entre las que se encuentran; Mozilla, FreeBSD, KDE, Ubuntu, Blender, y Google. 2. PLANTEAMIENTO DEL PROBLEMALos requerimientos de software en Venezuela han sido atendidos tradicionalmente modelos agresivos de contrataciones en cuanto a reserva de propiedad, polticas de actualizacin, licenciamiento, entre otros aspectos que obligan a la compra de sistemas empaquetados bajo la forma de tal como est.

En muchos casos, el software considerado crtico, por su naturaleza y tamao, ha debido ser contratado a empresas fuera del pas que terminan apropindose del conocimiento relativo a actividades y procesos estratgicos de los negocios venezolanos, especialmente en los sectores petrolero, bancario.....

Por lo general, todos los proyectos de software tienen asociado un grupo de desarrollo, desde el principio hasta la obtencin del producto final, un modelo conveniente para aplicaciones que resuelven determinadas necesidades administrativas. El problema se presenta cuando se trata de un software especializado destinado a la atencin de necesidades en reas estratgicas, con componentes que pertenecen a distintas disciplinas y que no necesariamente responden a las capacidades de un solo grupo de desarrollo.

Son las universidades y tecnolgicos los actores que ofrecen amplias capacidades acadmicas y de investigacin, que integradas en una fbrica, contaran con reas de especializacin que puedan asegurar la atencin a los requerimientos de software crtico.

Dos problemas identificados pudieran presentarse como argumentos para la pertinencia y oportunidad de este proyecto:

a) El requerimiento de software crtico y estratgico para determinadas necesidades nacionales e internacionales.

b) La capacidad tcnica y tecnolgica, poco o nada aprovechada, en las universidades y tecnolgicos 3. OBJETIVO GENERALCrear un modelo de Fbrica de Software basado en mtodos y modelos de calidad probados en el pas, para atender las requerimientos de software crtico y estratgicos para el sector de las telecomunicaciones, en especial, empresas operadoras de servicios de telefona celular. 4. OBJETIVOS ESPECIFICOS 4.1. Crear un modelo de organizacin de produccin de software para dispositivos mviles con la participacin de las universidades, tecnolgicos, empresas, profesionales y tcnicos, estableciendo las lneas de innovacin, talento, infraestructura y servicios asociados(Ecosistema).

4.2. Crear un modelo de desarrollo de software (adoptar y adaptar), basados en mejores prcticas, probadas, que garanticen ptimos niveles de calidad en los procesos de produccin de bienes y servicios de tecnologa (Metodologa).

4.3. Definir polticas, normas y estndares para el desarrollo de soluciones de software para dispositivos mviles, orientadas a garantizar la calidad de los procesos, bienes y servicios de tecnologa.

4.4. Crear mecanismos para la transferencia tecnolgica y la formacin de grupos de usuarios y desarrolladores de software que participan en las distintas etapas de produccin de software.

4.5. Articular el intercambio de servicios y soluciones de Software entre las empresas aliadas, grupos de desarrollo, profesionales y tcnicos que participan en las actividades de la fbrica.

4.6. Crear un canal de participacin y comunicacin para el intercambio de informacin y divulgacin de las soluciones para la migracin a software libre: Socializacin de Conocimiento. 5. ACCIONES Detallar cada una de las acciones especificadas a continuacin ameritan la ejecucin de muchas tareas con el fin de entregar al modelo componentes apropiados para su aplicacin y uso.

Los elementos que conforman el modelo de organizacin estar determinado por: 5.1. Estructura organizativa, Roles y PerfilesLa organizacin debe contar con dos fachadas, la empresarial para la relacin comercial, y la acadmica para facilitar la relacin con las universidades y tecnolgicos. a) rea Sustantiva: La clasificacin establecida para los perfiles funcionales, junto con las responsabilidades de cada cargo est propuesta de la siguiente manera para el rea tcnica:Gerente de Negocios: Procura y prospeccin de necesidades, y nuevas ofertas de servicios.Gerente de Proyecto: gerencia de riesgos y actividades de desarrollo, dimensionando y distribuyendo los recursos necesarios para la realizacin de tareas de forma satisfactoria, as como interaccin con el cliente y el gerente de negocios.Analista de Sistemas: levantamiento de requisitos, anlisis, definicin de la arquitectura y documentacin del sistema a ser desarrollado.Ingeniero de Software: implementacin del sistema conforme a las especificaciones y documentacin, siguiendo el proceso de desarrollo definido.Lder de Equipo: coordinacin y atribucin de tareas dentro de un grupo especfico, relatando peridicamente al gerente de proyectos el avance de las actividades.Ingeniero de Pruebas: desarrollo, validacin y ejecucin de las pruebas de software con el objetivo de asegurar calidad y exactitud del software producido.Analista de Calidad: revisin de los artefactos generados, control de cambios, definicin y validacin de la calidad y cumplimiento del proceso utilizado en la fbrica de software, de acuerdo a la especialidad. b) Area administrativa se propone la creacin de los siguientes roles:Administrador: controla los procesos administrativos en una unidad sectorial, a fin de lograr la efectiva distribucin y utilizacin de los recursos materiales y financieros disponibles, asignndolos equitativamente y administrndolos para el eficiente funcionamiento de los servicios y la satisfaccin de las necesidades de la dependencia.Recursos Humanos: Responsable de la continuidad del personal necesario en la fbrica de software.

Formacin y Transferencia Tecnolgica: Garantiza el conocimiento uniforme de todas las personas relacionadas a las actividades de la fbrica de software. c) Plataforma de servicios: La definicin de la estrategia, diseo y portafolio de servicios, se basar en documentos sugeridos por ITIL V3, considerando todos los aspectos insertos en los servicios, internos y externos, de la fbrica de software.

Por otra parte, la plataforma de desarrollo de software debe contar con un ambiente colaborativo, enfocado hacia la cooperacin entre desarrolladores para la difusin de software y el soporte al usuario.

En este tipo de plataformas se integran los proyectos de software, en los que los desarrolladores han de registrarse para poder contribuir. Consta de numerosas aplicaciones normalmente con interfaz web para la administracin y desarrollo de estos proyectos en comn.

Los recursos mnimos necesarios son:

Gestor de Proyectos de Software (gforge)

Control de versiones (Subversion, Git, Mercurial, etc.)

Lista de correo electrnico

Colaboracin: Foro, wiki

Descarga de ficheros FTP

Sistema de seguimiento de errores (Bugzilla, etc.)

d) Ejemplos en la red:

Assembla

BerliOS

Bitbucket

CodePlex

GitHub

Gna

GNU Savannah

Google Code

Launchpad

Project Kenai

Tigris.org

SourceForge

e) En Espaa:

Forja libre de RedIRIS

Forja de Guadalinex

Forja del Proyecto Morfeo

f) Software que lo implementa

Codendi

CollabNet TeamForge

FusionForge

Gforge

GNU Savannah

LibreSource

Redmine

Trac

g) Laboratorios de certificacin

USB LISI: Metodologa, Calidad, Documentacin

UCV Funcionalidad, Adaptabilidad, Reutilizacin

UNIMET- Modelo de negocios, incubadora

PARQUE TECNOLOGICO SARTENEJAS: Incubadora 5.2. Mejores PrcticasEn toda organizacin productora de software se invierte esfuerzo por contar con una metodologa propia que garantice los mejores resultados posibles en trminos de la calidad, efectividad y eficiencia, tomando como referencia a las propuestas por Rational Unified Process (RUP), y para la gerencia de los proyectos, los mecanismos del Organismo de Gestin del Conocimiento (Project Management Body of Knowledge: PMBOK) y el Instituto de Gerenciamiento de Proyectos (Project Management Institute: PMI).

Por lo general, la esencia de las tcnicas de desarrollo de software las constituyen ciclos de desarrollo iterativo e incremental que permite a lo largo del tiempo, ejecutar varias iteraciones y cada una entrega versiones en la que se incluyen nuevas funcionalidades del sistema.

Por su parte, PMBOK y PMI son aceptados como un patrn de gerencia de proyectos que describe prcticas tradicionales y aplicadas por mucho tiempo para el entendimiento y ejecucin de las actividades relativas a la gestin de los proyectos, incluyendo objetivos, responsables y participantes de cada proceso.

Se propone el uso de herramientas que asistan de forma abierta cualquiera de las metodologas conocidas orientadas a crear software, tales como OpenRUP, Extreme Programming, Spring, entre otros. La experiencia nacional MERINDE (www.merinde.net) ofrece recursos de ingeniera de software, representados por plantillas para la documentacin, guiones para la ejecucin de los procesos, y una propuesta de mtricas, todo bajo un estndar que facilita la entrega del conocimiento encerrado en los productos resultantes.

Los Documentos de Visin del Sistema, Especificacin de Requerimientos de Software, Diseos de Arquitectura de Software, Casos de Usos, Diagramas de Procesos, entre otros.

De acuerdo a las especificaciones de requerimientos que se levanten, se deben realizar las estimaciones correspondientes al esfuerzo y costos basndose en tcnicas como Puntos de Casos de Uso Ajustados, Puntos de Funcin, Cocomo, y otros, los cuales establecen una mtrica estructurada, ms o menos precisa de acuerdo al caso, basada en indicadores sobre aspectos relacionados a la experiencia del grupo de desarrollo y las complejidades tcnicas del proyecto. La intencin es unificar el entendimiento del producto a ser desarrollado y fortalecer la estructura con las previsiones razonables de recursos, costos y plazos, aumentando las posibilidades de xito.

Tambin, esta mtrica dar conocimiento suficiente al componente administrativo de la fbrica al momento de distribuir los recursos de acuerdo a la cantidad de requerimientos atendidos por cada grupo de desarrollo.

5.3. Mecanismos de transferencia tecnolgica. Programas de formacin y certificacin a usuarios y desarrolladores.

Habr que crear alianzas con los centros de formacin en las herramientas que sern utilizadas en la fbrica, a fin de garantizar la uniformidad de conocimientos entre las personas que forman parte de la fbrica, o de algn proyecto, segn sea el caso. Por ejemplo:

a) Oracle University: Java ME

b) USB-LISI: Metodologa, modelo operativo

c) UCV: Pruebas

5.4. Intercambio de servicios y soluciones con el uso de:

a) Plataforma tecnolgica (Internet), propia o contratada

b) Proveedor de servicios de telefona celular

c) Proveedores de servicio de Internet (CANTV, INTER, etc)

5.5. Canales de Comunicacin 6. INDICADORES DE EXITO

7. ALIADOS 7.1. USB - FUNINDES

7.2. UNEFA

7.3. Universidad Metropolitana

7.4. Oracle Sun JAVA ME

8. ESTRATEGIA DE IMPLANTACIONTomando la gua de referencia para la creacin de Fbricas de Software que propone Ramiro Carballo, Director Comercial de GESEIN y Presidente del Comit de Software de la Asociacin Espaola para la Calidad, las cuales estn ajustadas para que responda de manera estratgica a los objetivos aqu planteados: 8.1. Crear modelo de Fbrica de Software Definir y entender qu es una fbrica de software, que como centro de innovacin tiene relacin con los centros de formacin, as como precisar cuales sern las reas de accin, productos, servicios informticos asociados, y lneas de innovacin, tales como aplicaciones mviles, software industrial, etc.

El modelo debe considerar una organizacin dinmica, moldeable al propsito de la fbrica, que permita la insercin o separacin de disciplinas, prfiles y roles requeridos. Igualmente se debe establecer el organigrama de las reas funcionales con que contar la fbrica, incluyendo pequeas unidades de apoyo administrativo, y de seguimiento y control de los proyectos.

Debern seleccionarse las infraestructuras o marcos de arquitectura y modelos de calidad, los cuales dependern, en cada caso, de los distintos tipos de productos de acuerdo a la orientacin o propsito de la fbrica de software.

Igualmente, la plataforma y herramientas que se utilizarn en cada una de las fbricas, as como la de soporte a la red de fbricas. En este caso, deben contemplarse herramientas para el control de versiones, facilidades para la gestin tcnica y administrativa de los proyectos, comunicacin entre los usuarios y grupos de desarrollo, creacin de redes sociales, gestin de conocimiento, entre otras funcionalidades. 8.2. Elaborar un plan de funcionamiento basado en modelos productivos para el desarrollo de software libre.Ms all de una planificacin expresada en partidas de gastos iniciales, gastos mensuales y personal necesario para acometer los proyectos, debemos asegurar los mejores procesos de produccin de software libre, en tiempo, forma y mejoramiento continuo de su calidad, as como la utilizacin de buenas prcticas para la madurez de los procesos, calidad, evaluacin y mejora continua a travs de sus tcnicas y herramientas, los cuales sern revisados y adaptados para el uso de la fbrica, realizando las revisiones a herramientas libres y privativas, a fin de resolver temas como la documentacin de proyectos, lo que permite asegurar un primer nivel de calidad. Los procesos a implantar pueden basarse en marcos, modelos y estndares de calidad internacionales como el marco ITIL, la norma ISO/IEC 12207, el modelo CMMI, la norma Spice (ISO/IEC 15504), el marco PMBOK, el marco Cobit, la norma 17799, la norma ISO9000, la metodologa Six Sigma, y las revisiones y adaptaciones nacionales.

El plan de funcionamiento tiene como objetivo documentar las actividades que se pretenden iniciar o que ya se han iniciado, especificando el propsito general de una fbrica de software, los estudios de requerimientos, lneas de accin, estudios tcnicos, financieros y de organizacin, incluyendo temas como la filosofa de la fbrica, formas de distribucin y soporte, costos, el modelo de gestin, la ingeniera, la ubicacin, la estructura organizativa, distribucin de excedentes, las fuentes y formas de financiamiento, el personal necesario junto con su mtodo de seleccin y preparacin, los aspectos legales. El plan de funcionamiento nunca es definitivo, y por tanto se debe estar actualizando constantemente para reflejar cambios no previstos con anterioridad, exigidos por razones estratgicas, gestin tecnolgica o cualquier otro motivo que obligue la renovacin del modelo y del plan.

Para nuestro caso, el plan refleja el modelo operativo a seguir, en el que se describen detalladamente las caractersticas, naturaleza o condicin de todos los componentes del modelo, as como las actividades y tareas explicando los procesos y procedimientos tcnicos y administrativos para la produccin de software libre.

Tambin, considera las etapas de crecimiento de la fbrica, inicial, expansin y consolidacin, dibujando las rutas a seguir en cuanto a los procesos de formacin, organizacin de la plantilla, manejo eficiente de recursos, entre otros aspectos.

El plan de funcionamiento es un documento estratgico con dos funciones fundamentales:

a) Determinar la viabilidad socio-productiva de la fbrica.

b) Proyectar la primera imagen de la fbrica ante terceras personas.

Las principales aplicaciones que presenta un Plan de Funcionamiento son las siguientes:

a) Constituye una herramienta de gran utilidad para los coordinadores de las fbricas, ya que permite detectar errores y planificar adecuadamente la puesta en marcha de las fbricas.

b) Facilita la obtencin de recursos desde el sistema financiero para la creacin e implantacin del modelo en la fbrica, y facilita la estimacin de las cuentas al contener la previsin de estados econmicos y financieros de toda la actividad, indicadores de gestin para informar adecuadamente sobre la viabilidad y solvencia.

c) Puede facilitar la negociacin con agentes externos como proveedores y usuarios de la fbrica, e intercambio con pares, al controlar con exactitud los costos reales, tiempos de desarrollo, entre otras variables indispensables para la negociacin.

d) Permite el posicionamiento de la fbrica ante terceras personas a fin de facilitar la procura de nuevos proyectos.

Cada fbrica deber establecer en su plan de funcionamiento una lnea de producto inicial, con el fin de comenzar desarrollando un tipo particular de software, de acuerdo a las capacidades detectadas. Ser esta lnea la que determine la configuracin definitiva de la fbrica. 1.2. Obtener las certificaciones de calidad que avalen nuestro proceso productivoEl proceso de implantacin de una fbrica de software se inicia con la transferencia del modelo de fbrica, en el que se detallan las normas y estndares como referencias para la evaluacin de la calidad de los productos y servicios a proveer por la fbrica, su organizacin y sus procesos.

Es indispensable que las personas que forman parte de una fbrica reciban estos conocimientos a fin de iniciar los procesos de certificacin ante las entidades designadas para tal fin, como universidades y tecnolgicos.

Por ejemplo, algunas fbricas ha diseado un contenido educativo y presentado en las universidades como materias electivas, para la formacin de los estudiantes en el mbito de la fbrica, y que durante el perodo de curso tomen casos reales y los conviertan en proyectos que puedan ser desarrollados en la fbrica.

Tambin ser necesario que los productos y servicios sean sometidos a estas evaluaciones, a fin de poder emitir las certificaciones de garanta de los productos que los usuarios van a obtener. Aqu, nuevamente, las universidades juegan un papel importante ya que cuentan con los laboratorios para prestar estos servicios. 1.3. Definir los perfiles de los participantes en la fbrica de software a) Administrativos

b) Coordinacin de proyectos

c) Especialistas

d) Analistas

e) Diseadores grficos

f) Programadores

g) Personal para el rea de prueba de las aplicaciones de software (probadores) 1.4. Determinar la ubicacin de la fbrica de software a) La fbrica puede estar en un espacio fsico, o estar virtualmente en la Internet.

b) La plataforma tecnolgica:

Puede ser propia de la fbrica, y administrada por su personal.

Puede estar externa, ubicada en un proveedor de servicio de Internet, y administrada por el personal de la fbrica.

Puede estar externa, ubicada en un proveedor de servicio de Internet, y administrada por el personal externo a la fbrica.

c) Instalar los recursos mnimos de hardware y software necesarios para el funcionamiento de la fbrica, de acuerdo a lo documentado en el plan de funcionamiento de la fbrica, en su etapa inicial. 1.5. Seleccin de personalEl personal que ocupar las reas de apoyo administrativo y de seguimiento y control de proyectos, debern ser seleccionados para asumir cargos permanentes en la fbrica de software.

La seleccin de estudiantes con capacidades para programar, documentar y coordinar proyectos de desarrollo de software, se har sobre el resultado de los cursos aprobados, o que renan las certificaciones tcnicas correspondientes. 1.6. Conseguir financiamiento

1.7. Procura de requerimientos y asignacin de grupos de desarrollo. 2. PRESUPUESTO ESTIMADO PARA LA CREACION DEL MODELO

3. PRESUPUESTO ESTIMADO PARA LA INSTALACION DE UNA FABRICA (PRIMER AO)

19