Está en la página 1de 24

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Proyecto: Modelo de Fbrica de Software


para el Desarrollo de Soluciones
Mviles
Versin: <0.0.1>

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Historial de Revisiones
Versin
0.0.1

Fecha

Autor

12/06/15 Fernando Muro

Descripcin
Borrador

0.0.2
0.0.3

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

ndice de Contenido

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Modelo de Fbrica de Software para el Desarrollo de Soluciones


Mviles
INTRODUCCION
Para 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

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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 HISTORIA


El 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.

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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 EXITOSAS
Universidad de Helsinki , Finlandia
El 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.

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Universidad de las Ciencias Informticas, Cuba


La 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.
8

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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, Per
El 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.
9

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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, Mrida
Aunque 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.

10

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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 PROBLEMA

11

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Los 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 GENERAL

12

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

Crear 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

13

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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 Perfiles
La 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.
14

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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:

d)

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.)

Ejemplos en la red:
15

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

e)

f)

Assembla

BerliOS

Bitbucket

CodePlex

GitHub

Gna

GNU Savannah

Google Code

Launchpad

Project Kenai

Tigris.org

SourceForge

En Espaa:

Forja libre de RedIRIS

Forja de Guadalinex

Forja del Proyecto Morfeo

Software que lo implementa

Codendi

CollabNet TeamForge

FusionForge

Gforge

16

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

g)

GNU Savannah

LibreSource

Redmine

Trac

Laboratorios de certificacin

USB LISI: Metodologa, Calidad, Documentacin

UCV Funcionalidad, Adaptabilidad, Reutilizacin

UNIMET- Modelo de negocios, incubadora

PARQUE TECNOLOGICO SARTENEJAS: Incubadora

5.2. Mejores Prcticas


En 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.
17

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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


a)

18

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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 IMPLANTACION

Tomando 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.

19

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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

20

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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
21

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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
productivo
El 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.
22

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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.

23

Modelo de Fbrica de Software para el Desarrollo de Soluciones Mviles

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 personal


El 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)

24