Upload
raul-rincon-jara
View
6
Download
2
Embed Size (px)
DESCRIPTION
g
Citation preview
Facultad de Ingeniería
Carrera de Ingeniería de Software
GESTIÓN DE UNA FÁBRICA DE SOFTWARE BASADA EN LA PLATAFORMA JAVA Y HERRAMIENTAS OPEN
SOURCE
Perfil del Proyecto Profesional para la obtención del Título Profesional de Ingeniero de Software
Autor
Raúl CoaguilaEnrique Huamán
Rosa Félix
Asesor
Luis García Paucar
0
Lima, Setiembre del 2009
1 TEMA
Gestión de una Fábrica de Software basada en la Plataforma Java y Herramientas
Open Source.
2 TÍTULO
Gestión de una Fábrica de Software basada en la Plataforma Java y herramientas
Open Source
3 OBJETIVOS
3.1 Objetivo General
Implementar y gestionar una fábrica de software basada en la Plataforma de
Desarrollo Java y Herramientas Open Source.
3.2 Objetivos Específicos
Los objetivos específicos para lograr el objetivo general son:
O-1: Conceptualizar y definir la empresa. Esto implica la definición de la cultura
organizacional (misión, visión y valores), la estructura organizacional y
orientación del negocio (definición de los servicios que ofrece la empresa).
O-2: Establecer los mecanismos de planeación estratégica de la empresa y los
medios que permitan establecer los objetivos empresariales y las estrategias
para alcanzarlos. Así mismo, los medios para realizar un constante seguimiento
de los resultados de la gestión.
O-3: Definir e implementar los procesos de la fábrica. Así mismo, definir los
indicadores de calidad, eficiencia y eficacia para cada uno de los procesos
definidos, y a través de ellos, mantener un control detallado de la gestión
interna de la fábrica; y por ende, asegurar el éxito y la calidad de los productos
finales.
O-4: Gestionar los recursos tecnológicos y humanos de la organización con la
finalidad de cumplir los objetivos de la misma. Así mismo, asegurar que los
proyectos cuenten con los recursos necesarios durante el ciclo de vida del
desarrollo.
1
O-5: Definir los canales de comunicación con los clientes para la promoción y
contratación de nuevos servicios.
4 FUNDAMENTACIÓN
La nueva estructuración de los Proyectos orientados a empresas, definida en el
ciclo 2008-2, por las Carreras de Computación de la Facultad de Ingeniería de la
UPC, dispuso la necesidad de establecer Fábricas de Software que permitan el
desarrollo ágil y eficaz de componentes software. Ante esta necesidad, se
establecieron dos fábricas de software. Una de ellas es la empresa Java Software
Factory que surge en agosto del año 2008, para la cual se basa el presente
modelo de gestión.
Java Software Factory cubre las necesidades de desarrollo en plataformas
abiertas. Esto nos permite crear productos sin costo de licenciamiento, la cual es
nuestra principal ventaja competitiva en el mercado actual, frente a nuestros
competidores que usan herramientas privativas.
Desde sus inicios, Java Software Factory ha sido una empresa orientada al
desarrollo ágil de componentes de Software novedosos, basada en la constante
innovación tecnológica y la gestión compartida del conocimiento generado.
Los miembros del presente proyecto han sido los encargados de llevar adelante la
empresa y de establecer los mecanismos apropiados para generar un ambiente
de trabajo ágil. Bajo este sustento surge el proyecto planteado en el presente
documento.
A inicios del ciclo 2009-01, ante la necesidad de establecer una empresa sólida
que permita satisfacer las necesidades de los clientes, nos hemos visto en la
obligación de definir y adoptar medidas de gestión más elaboradas para mantener
un control de los proyectos. Para ello, hemos realizado una constante
investigación de diferentes modelos de gestión del ciclo de vida del Software
(RUP, ISO/IEC 12207) y modelos de calidad de Software (Moprosoft, CMMi).
Nuestro ambiente de desarrollo se basa principalmente en la Plataforma de
desarrollo Java, debido a la diversidad de tecnologías que la soportan y la
implementan. Sin embargo, la empresa no se limita al uso exclusivo de esta
herramienta, puesto que, utiliza bastantes herramientas de código abierto (Open
Source) disponibles en el mercado.
2
El código abierto nos brinda miles de oportunidades en el desarrollo de software
pues no sólo podemos inclinarnos a la utilización y adaptación de software de
código abierto, sino que podemos contribuir como empresa a la mejora del
software que ya existe.
Open Source nos brinda la posibilidad, además, de formar parte de una gran
comunidad en la que podemos tomar iniciativas claras en la corrección de errores
de los programas ya publicados o de crear nuevos programas en lo que sabemos,
estaremos apoyados por una comunidad.
Java no solamente es un lenguaje de programación o un compilador. Java viene a
formar parte de toda una Plataforma de desarrollo tecnológica que permite
generar aplicaciones para escritorio, Web, móviles, electrodomésticos,
automóviles, entre otros. La principal ventaja de Java es que maneja una
plataforma de desarrollo que es capaz de ejecutarse en diferentes sistemas
operativos (Windows, Linux, UNIX, Solaris, BSD, Symbian, MAC OS, etc.) bajo el
mismo lenguaje y las mismas fuentes.
Java es una plataforma muy versátil y domina el mercado del desarrollo de
aplicaciones. Una de las características principales de Java es que es una
Plataforma Libre. A diferencia de sus competidoras, desarrollar un producto con
Java no te genera ningún costo.
Ante los beneficios que presentan estas tecnologías es que optamos por ella para
la formalización de la empresa.
5 DESCRIPCIÓN DEL PROYECTO
La fábrica de software “Java Software Factory” es una empresa que está orientada a
brindar servicios de desarrollo usando la plataforma Java y herramientas código
abierto, como también desarrollar proyectos que contribuyan con el cumplimiento de
los objetivos de la empresa. El proyecto, por lo tanto, debe sentar las bases para la
organización, de manera que los proyectos y servicios puedan desarrollarse de
manera normal y fluida contando con todos los recursos necesarios, y respetando
normas y procesos de desarrollo.
Como modelo de calidad y de gestión de una empresa de software nos hemos
basado en el modelo de Moprosoft. Este modelo fue definido en el año 2005 y su
objetivo principal es el de definir un estándar para la mejora y evaluación de los
procesos de desarrollo y mantenimiento de sistemas y productos software. Moprosoft
3
ha sido desarrollado en base a las áreas de procesos de los niveles 2 y 3 del modelo
SW-CMM e inspirándose en el marco de ISO/IEC 15504 adaptado para pequeñas
empresas.
Para cumplir con el objetivo del proyecto, y en base al modelo Moprosoft, se establece
una Gerencia General a cargo de los procesos de la alta dirección y tres gerencias
subordinadas las cuales son: Gerencia de Procesos, Gerencia de Proyectos y
Gerencia de Recursos.
En base a estas gerencias se implementará la estructura organizacional de la
fábrica de software. Es importante resaltar que bajo el nivel gerencial se
encuentra el nivel operativo que incluye la gestión de proyectos y servicios
específicos.
El principal objetivo de la gerencia de procesos es implementar los procesos para
toda la organización tomando en cuenta modelos y estándares internacionales
como Moprosoft, CMMi e ISO/IEC 12207. Estos procesos se dividen en
estratégicos, de apoyo y operativos los cuales se priorizarán de acuerdo a su
importancia para la organización. Para cada uno de estos procesos deben
definirse indicadores de calidad, eficiencia y eficacia, los cuales permiten un
control detallado sobre los proyectos.
Está en manos de la gerencia de procesos, gestionar la calidad de los proyectos
de la fábrica y los procesos vinculados al desarrollo de los mismos; así como,
implementar una metodología asociada a la mejora continua basada en el modelo
IDEAL.
La gerencia de proyectos tiene como principal meta gestionar los servicios y los
proyectos de la empresa asegurando el éxito de los mismos. Por otro lado, vigila
el trabajo de las líneas de la empresa: Línea de Requerimientos y Procesos,
Línea de Desarrollo y Mantenimiento y la Línea de Diseño y Arquitectura.
Así mismo, esta gerencia se encarga de monitorear los proyectos específicos
teniendo en cuenta sus objetivos y resultados al finalizar cada hito. Bajo esta
gerencia está la administración de proyectos específicos perteneciente al nivel
operativo.
Otra función importante de la Gerencia de Proyectos es promocionar la empresa
generando canales de comunicación con los clientes, con el objetivo de obtener
más proyectos que contribuyan con la expansión del mercado.
4
La Gerencia de Recursos, es la que administra los recursos tecnológicos y
humanos para cumplir con éxito los objetivos de la empresa, así como, brindar los
recursos necesarios para el éxito de los proyectos. Entre sus funciones se
encuentra el seguimiento de los colaboradores de la organización con el fin de
asegurar el desarrollo profesional de los mismos y su buen desempeño en los
proyectos de fábrica.
La gestión de la base de conocimiento de la empresa también forma parte de la
gestión de recursos, en ella deben encontrarse todos los activos de información
generados por la organización. Así mismo, la Gerencia de Recursos debe definir e
implementar la gestión de la configuración para los proyectos.
6 PLAN DE ACTIVIDADES Y ENTREGABLES
Se presenta una lista de los entregables a presentar en base a la fase y fecha en
que se les dará inicio y fin, con el fin de cumplir un determinado hito al final de
cada fase.
5
Fase Hito Fechas Actividades Entregables
Definición y
Estructuración
de la
Organización
Empresarial
Estructura
Empresarial
Definida.
Inicio: 30/03/2009
Fin: 22/05/2009
Definición de la Misión, Visión y Valores.
Definición del Organigrama.
Definición de los Servicios.
Definición de los Objetivos y Estrategias de la Empresa.
Definición de la Cartera de Proyectos.
Definición de la Cultura Organizacional.
Asignación de los jefes de proyecto y otros colaboradores a los proyectos
Definición de los procesos principales de la empresa
Definición de metodologías para el seguimiento de los colaboradores.
Plan Estratégico 2009-01
Reglamento Interno.
Organigrama.
Mapa de Procesos de la Empresa.
Memoria Parcial de la Empresa.
Contratos y Propuestas.
Formatos de evaluación al personal.
Herramientas de control y seguimiento.
Definición y
Ejecución de
Procesos
Moprosoft Nivel
1
Nivel de
Moprosoft 1 –
Altamente
Implementado
Inicio: 25/05/2009
Fin: 22/07/2009
Definición de los procesos de nivel estratégico y apoyo para la Empresa.
Definición de procesos operativos prioritarios.
Estandarización de la Plataforma Empresarial.
Ejecución de los procesos
Implementación de las herramientas de soporte para
Memoria de la Empresa 2009-01
Definición de Procesos de Apoyo (Diagrama y documentación)
Proceso de Evaluación del Personal.
6
Fase Hito Fechas Actividades Entregables
las gerencias.
Definición formal del método de evaluación y control del personal.
Definición de Métricas asociadas a los procesos
Revisión de Calidad a Proyectos y Procesos
Definición de la Cartera de Proyectos para el ciclo 2009-02.
Presentación de la empresa para la captura de nuevos recursos.
Cartera de Proyectos 2009
Reevaluación y
Mejora de la
Organización
Empresarial
Estructura
Organizacional
mejorada y
definida.
Inicio: 17/09/2009
Fin: 10/09/2009
Elaboración del Plan Estratégico para el ciclo 2009-02
Implantación de Mejoras a partir de los incentivos capturados anteriormente.
Reestructuración del Organigrama.
Formalización de la Cartera de Proyectos 2009-02.
Definición del Plan de Procesos para el Nivel 2 de Moprosoft.
Definición del Plan Operativo de Recursos.
Plan Estratégico 2009-02
Plan Operativo de Recursos
Plan de Proyectos
Plan Operativo de Recursos
Plan de Capacitación
Plan de Procesos.
Contratos y Propuestas.
7
Fase Hito Fechas Actividades Entregables
Definición del Plan de Capacitación del Personal.
Definición del Plan Operativo de Procesos.
Ejecución de Procesos definidos para el Nivel 1 de Moprosoft.
Evaluación de los Proyectos internos de la Fábrica y seguimiento a su avance.
Definición de y
Ejecución de
Procesos Nivel
2.
Procesos nivel
2 definidos en
su totalidad.
Inicio: 14/09/2009
Fin: 30/10/2009
Ejecución del Plan de Procesos, Plan de Proyectos, Plan Operativo de Recursos y Plan de Capacitaciones.
Definición de los procesos Faltantes y necesarios para el Nivel 2 de Moprosoft.
Control de Proyectos
Gestión del Conocimiento, Reuso y Configuración.
Gestión del Personal.
Ejecución de Proyectos con metodología Ágil.
Atención a los Servicios.
Gestión de la Calidad.
Documentos de Procesos para los siguientes rubros:
Control de Proyectos
Gestión del Conocimiento, Reuso y Configuración.
Gestión del Personal.
Ejecución de Proyectos con metodología Ágil.
Atención a los Servicios.
Gestión de la Calidad.
8
Fase Hito Fechas Actividades Entregables
Cierre de Proyectos
Gestión Tecnológica
Elaboración de las Herramientas necesarias para el soporte de los Procesos.
Ejecución de los Procesos definidos.
Estandarización de la metodología de evaluación con las otras empresas.
Cierre de Proyectos
Gestión Tecnológica
Ejecución,
Control y
Medición
Procesos de
nivel 1 y 2
correctamente
implementados.
Inicio: 01/10/2009
Fin: 23/11/2009
Ejecución del Plan de Procesos, Plan de Proyectos, Plan Operativo de Recursos y Plan de Capacitaciones.
Ejecución y Control de los Procesos definidos para el nivel 1 y 2.
Aseguramiento de la Calidad de Procesos
Medición de Procesos.
Captura de Incentivos de Mejora Continua
Reporte de Estado de Proyectos
Reporte de SQA de Procesos.
Reporte Cuantitativo de Mediciones.
Reporte de Sugerencias de Mejora.
Evaluación de
Resultados
Nivel 2 de
Moprosoft –
Inicio: 24/11/2009 Evaluación del Plan de Procesos, Plan de Proyectos, Plan Operativo de Recursos y Plan de
Resultados del Proyecto
9
Fase Hito Fechas Actividades Entregables
Altamente
Implementado
Fin: 07/12/2009 Capacitaciones.
Evaluación Formal sobre el Nivel de Capacidad 2 del Modelo Moprosoft.
Captura de Lecciones Aprendidas.
Capturas de Comentarios y Quejas del Cliente.
Evaluación Final del Personal.
Captura de las Impresiones del Ambiente del Trabajo
Captura de Incentivos de Mejora Continua
Establecimiento de Proyectos de Mejora.
Proyectos de Mejora
Reporte de Mediciones
Resultado de la Evaluación Formal.
Memoria de la Empresa 2009.
Memoria del Proyecto.
10
7 INDICADORES DE LOGRO DE LOS OBJETIVOS
El cumplimiento de los objetivos del proyecto se mide a través de los siguientes
indicadores de logro:
Objetivo Específico 1
Organigrama de la empresa, misión, visión, valores organizacionales, servicios
ofrecidos, publicación y promoción de la empresa (Web), Código de Ética,
Reglamento Interno, Plantillas de control.
Objetivo Específico 2
Plan Estratégico, objetivos por gerencia, estrategias por objetivo, indicadores
de cumplimiento por objetivo, Riesgos empresariales y mitigantes.
Objetivo Específico 3
Mapa de Procesos, Plan de Implantación de Procesos, descripción de los
procesos prioritarios, resultados de la ejecución de Procesos, métricas e
indicadores de Gestión, resultados de la mediciones realizadas, proyectos de
mejora continua, resultados y documentos que avalen las revisiones de QA
realizadas a los proyectos internos(calidad).
Objetivo Específico 4
Documentación importante de los proyectos específicos, Contratos, Plan de
Proyectos, Comentarios y Quejas del cliente. Plan de Comunicación con los
clientes.
Reportes Internos.
Objetivo Específico 5
Plan operativo de recursos, plan de evaluación de recursos, plan de gestión del
conocimiento y plan de capacitación.
Formatos de seguimiento, evaluación, registro de incidencias.
11
8 DESCRIPCIÓN DEL CONTENIDO DEL DOCUMENTO
A continuación se define la estructura del Documento Final del Proyecto (Memoria
del Proyecto) con una breve descripción de cada sección que lo conforma.
Introducción
Explica la situación en la que nace el proyecto, la forma en la que se estructuran
las empresas virtuales de las carreras de Computación y en específico, Java
Software Factory.
Capítulo 1: Fundamentación
Se presenta la justificación del proyecto, sus objetivos y el alcance del proyecto.
Capítulo 2: Marco Teórico
Se presenta el marco teórico del proyecto. Incluye temas como Open Source,
Java, Moprosoft, RUP, XP, etc.
Capítulo 3: La Empresa
Describe la empresa y el entorno de trabajo de las empresas virtuales de la
carrera. Describe el Planeamiento Estratégico de la empresa, incluyendo Misión,
Visión, Valores y los Objetivos de la empresa. Finalmente, explica la estructura
organizacional de la empresa.
Capítulo 4: Gerencia de Procesos
Presenta la descripción de la Gerencia de Procesos, el análisis del estado inicial
de la Organización y la propuesta de mejora en cuanto de procesos de la
organización. Así mismo, se presenta la planificación, definición e implementación
de los procesos como el control y la evaluación de los mismos.
Capítulo 5: Gerencia de Proyectos
Presenta la descripción de la Gerencia de Proyectos y sus funciones. Explica
cómo se distribuye la estructura organizacional de la Gerencia. Explica las
12
actividades principales y los procesos para ejecutar dichas actividades. Describe
los proyectos de la empresa.
Capítulo 6: Gestión de Recursos
Presenta las principales funciones de la Gerencia de Recursos y las actividades
realizadas en esta área. Explica, como se han gestionado los recursos humanos y
el ambiente de trabajo; así como, los bienes, servicios e infraestructura y el
conocimiento tecnológico de la organización.
Capítulo 7: Resultados
Presenta los resultados de la empresa durante el año 2009. Se estructura de tal
forma que se puedan mostrar los resultados por cada una de las partes descritas
Capítulo 8: Sugerencias
Describe algunas sugerencias para la Gestión futura de la empresa y algunos
puntos que se consideren importantes para los próximos gerentes de la Empresa.
Anexos
Presenta algunos documentos que apoyan a la explicación del documento.
13
9 REFERENCIAS BIBLIOGRÁFICAS
CMMI Product Team
2006 CMMI® for Development Version 1.2
Pittsburgh: Carnegie Mellon University
GANDOLFO, Juan
2008 Los seis pasos del Planeamiento Estratégico.
Madrid: Aguilar
IEEE COMPUTER SOCIETY
2004 Software Engineering Body of Knowledge – SWEEBOK
INDECOPI – Comisión de Reglamentos Técnicos y Comerciales
2009 Norma Técnica Peruana: NTP-ISO/IEC 12207:2006
Lima: INDECOPI
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION – ISO Y INTERNATIONAL ELECTROTECHNICAL COMMISSION - IEC
2005 Software Process Improvement and Capability Determination – ISO/IEC 15504
KRUCHTEN, Philippe
2003 The Rational Unified Process an Introduction. Third Edition
Booch Jacobson Rumbaugh.
MC FEELEY, Bob
1996 IDEAL: A User’s Guide for Software Process Improvement
Pittsburgh: Carnegie Mellon University
14
OKTABA, Hanna y otros
2005 Modelo de Procesos para la Industria de Software – Moprosoft
2006 Método de Evaluación de procesos para la industria de software - EvalProSoft
PROJECT MANAGEMENT INSTITUTE
2008 A Guide to the Project Management Body of Knowledge - PMBOK
Guide
WELLS, Don
2009 Extreme Programming: A gentle Introduction en:
www.extremeprogramming.org (Consulta: 15 de Agosto del 2009)
15