You are on page 1of 9

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES

Ral Palma G. y Guillermo Bustos R. Escuela de Ingeniera Industrial Universidad Catlica de Valparaso Casilla 4059, Valparaso (Chile) 1. Introduccin Todo proyecto de desarrollo de software consume tiempo y esfuerzo en cada una de las etapas que lo conforman. Es clara entonces, la necesidad de contar con buenos estimadores para estas variables, lo cual implica establecer cules son los factores que influyen directa e indirectamente en ellas. Este trabajo utiliza como base el mtodo de puntos de funcin y el registro histrico de proyectos, con el propsito de definir indicadores de productividad de los proyectos de desarrollo. Tales indicadores facilitan la identificacin y el relacionamiento de factores de tipo tcnico, ambiental y profesional que influyen en dichos proyectos. El modelo terico propuesto permite esclarecer el mecanismo de determinacin de factores relevantes y el diseo de indicadores de productividad, tales como la productividad final, la productividad respecto de los puntos de funcin, la productividad estimada respecto de la productividad real, y la productividad individual. 2. Mtodo de Puntos de Funcin El mtodo de puntos de funcin [4] permite determinar el tamao relativo de un sistema, basndose en el tamao del procesamiento de la informacin y el ajuste de complejidad tcnica. Los puntos de funcin para una aplicacin son evaluados listando y contando los siguientes datos o tipos de control: entradas externas, salidas externas, archivos lgicos internos, archivos de interfase externos y consultas externas. Cada uno de estos datos o tipos de control se clasifica segn su nivel de complejidad:

simple, promedio y complejo. La suma resultante del proceso anterior ser ajustada segn ciertas caractersticas del sistema y su entorno. Este ajuste determina una variacin de 35%. Cabe hacer notar que el mtodo de puntos de funcin considera slo caractersticas tcnicas del software a desarrollar y no aspectos relacionados con la medicin del entorno en el cual se desarrollar. En consecuencia, uno de los propsitos de este trabajo es el de determinar cules son los factores del medio ambiente que afectan significativamente el desarrollo de un proyecto. 3. Proposicin del Modelo La figura 1 muestra un esquema que describe las relaciones que se producen al interior de un mecanismo de registro y evaluacin de la productividad. 3.1. Variables Relevantes

Figura 1: Diagrama del modelo propuesto. 2

El modelo propuesto antes indicado contempla la identificacin de aquellas variables que mejor describen el entorno, es decir, las caractersticas tcnicas, ambientales y profesionales que rodean al desarrollo de un proyecto. Para lograr lo anterior, se realiz una revisin bibliogrfica [1,2,5,7,8] y consulta a algunos expertos. Esto permiti determinar a priori un conjunto de 57 variables que afectan la productividad, de las cuales slo se consideraron 25. El criterio central para tal seleccin fue la consideracin de variables nicas respecto de lo que reflejan, y adems, la consideracin de aquellas que no estn incluidas en el mtodo de puntos de funcin. Con el conjunto anterior se confeccion una encuesta, la cual permiti obtener la opinin de distintos profesionales del rea, es decir, programadores, analistas-programadores, analistas y jefes de proyecto. Dicha encuesta se aplic en la empresa Synapsis S.A. Ella fue contestada por 23 programadores, 5 analistas-programadores, 10 analistas y 3 jefes de proyecto. Con los resultados de la encuesta se obtuvo las variables que proporcionalmente son las tes dentro de cada grupo de profesionales, tom en consideracin su valor de aparicin cuatro grupos de profesionales. una lista con ms importany adems, se dentro de los

En consecuencia, la lista con las 12 variables ordenadas segn su importancia relativa es la siguiente: Entrenamiento adecuado Uso de metodologas de diseo y programacin Habilidades administrativas del jefe de proyecto Control de cambios Metas adecuadas Capacidad individual de los programadores Entendimiento del problema Comunicacin del grupo Participacin del usuario en la definicin de requerimientos 10. Nivel tecnolgico 11. Cambios en el diseo del programa originados por el usuario 12. Lenguaje de programacin 1. 2. 3. 4. 5. 6. 7. 8. 9.

Algunas de las variables son ms difciles de medir que otras, puesto que presentan caractersticas poco cuantificables. Adems, algunas de ellas pueden representar parmetros dentro de una empresa, y por tanto no modificarse sustancialmente durante el desarrollo del proyecto. Las variables no cuantificables y en consecuencia, que no se mantendrn en el registro histrico, son: habilidades administrativas del jefe de proyecto, metas adecuadas, capacidad individual de los programadores, entendimiento del problema, y nivel tecnolgico. Es importante destacar que el conjunto de variables que no va a ser incluido dentro del registro histrico debe ser considerado siempre antes de comenzar un proyecto. Es en la etapa de anlisis dnde debe determinarse el papel que desempea cada una ellas con el fin de mejorar sus valores. Las variables restantes, es decir, aquellas que son cuantificables y por ende se mantendrn en el registro histrico, se pueden categorizar en esenciales y opcionales [6]. Una variable es esencial cuando su valor real es indispensable para la comparacin con el registrado histricamente. Una variable es opcional cuando puede ser catalogada como til, pero no indispensable para dicha comparacin. La comparacin de un conjunto de variables respecto del registro histrico se hace con el propsito de determinar si existe(n) algn(os) proyecto(s) que se asemeje(n) al actualmente en estudio. En este proceso todas las variables debern ser consideradas por igual, es decir, no se harn diferencias entre esenciales y opcionales. En el caso que el nmero de proyectos seleccionados desde el registro histrico sea nfimo o nulo, entonces se comenzar a descartar variables opcionales en orden ascendente de acuerdo a algn criterio preestablecido para obtener un conjunto significativo de proyectos semejantes. Las variables consideradas como esenciales son: entrenamiento adecuado, uso de metodologas de diseo y programacin, y lenguaje de programacin.

Las variables consideradas opcionales son control de cambios, comunicacin del grupo, participacin del usuario en la definicin de requerimientos, y cambios en el diseo del programa originados por el usuario. Para la evaluacin de las variables cuantificables se utilizar la lgica de un mtodo de evaluacin de cargos dentro de una organizacin, denominado Mtodo de Puntos [3]. Como primer paso, se debe determinar la ponderacin que tienen las variables esenciales y opcionales. Esta asignacin porcentual se propone como una primera aproximacin que apunta a dar una mayor importancia relativa a las variables esenciales con respecto a las opcionales. Utilizando los valores relativos de cada grupo se puede generar un desglose hacia el interior de cada clase de variables, como lo muestra la siguiente tabla:

Variables esenciales: - Entrenamiento adecuado - Uso de metodologa de diseo y programacin - Lenguaje de programacin Variables opcionales: - Control de cambios - Comunicacin del grupo - Participacin del usuario en la definicin de requerimientos - Cambios en el diseo del programa originados por el usuario

70% 15% 15% 40% 30% 10% 5% 5% 10%

3.2. Determinacin de Indicadores Todo administrador de proyectos de desarrollo de software necesita saber cul es el nivel de productividad que tiene su grupo de trabajo. Los indicadores que se presentan a continuacin se basan en forma importante en los datos del proyecto en estudio y en el registro histrico de proyectos pasados. Estos indicadores son: productividad final, ndice de variacin con respecto a los puntos de funcin, ndice con base en el estndar promedio al comienzo y al trmino, y productividad individual. Productividad final La productividad final [4] mide la cantidad de horas empleadas (Horas-Hombre utilizadas) por unidad de punto de funcin (PF finales) y representa el estndar final del proyecto desarrollado. Su formulacin matemtica es la siguiente:

Indice de variacin con respecto a los puntos de funcin Este ndice mide la variacin de los puntos de funcin estimados en un inicio (PF iniciales) con respecto a los calculados a algn trmino (PF finales), expresado en tantos por uno. Su formulacin matemtica es: Indice variaci n PF = PF finales - PF iniciales PF iniciales

Indicador con base en el estndard promedio al comienzo Este indicador permite conocer si la productividad que se tuvo al trmino del desarrollo de un proyecto se asemeja a la estimada obtenida desde el registro histrico tomando en consideracin los datos generados al inicio del proyecto-. La frmula utilizada es:

Indice al comienzo =

Est ndar real - Est ndar promedio Est ndar promedio

Donde los estndares corresponden al cuociente entre las Horas-Hombre y los puntos de funcin, ya sean reales como promedios (estos ltimos se obtienen desde el registro histrico). Indicador con base en el estndard promedio al trmino Este indicador es similar al anterior y difiere slo por el hecho que permite conocer si la productividad que se tuvo al trmino del desarrollo de un proyecto, se asemeja a la estimada obtenida desde el registro histrico tomando en consideracin los datos generados al finalizar el proyecto-. La frmula correspondiente es: Indice al trmino = Est ndar real - Est ndar promedio Est ndar promedio

Donde los estndares se definen anlogamente al ndice con base en el estndar promedio al comienzo. Productividad individual Este indicador permite conocer el rendimiento de una persona en todas aquellas actividades que ha realizado. La frmula se define como: Productividad individual = Horas - Hombre reales promedio PF reales promedio

Donde las Horas-Hombre reales promedio corresponden a todas las actividades concluidas por la persona, y los PF reales promedio se refiere a los puntos de funcin asignados a la persona con respecto al total de las actividades en que particip. 4. Conclusiones Lo primero que debe destacarse dice relacin con la

validez del conjunto de variables definidas en este trabajo. Dichas variables reflejan la visin particular que tiene cada grupo de profesionales respecto de su entorno y sus necesidades. Sin embargo, lo anterior no necesariamente lleva a descartar las variables indicadas, sino que puede significar una variacin en el orden de las mismas, o una inclusin y/o eliminacin de otras. Ello producto de las diferencias particulares que tenga el proyecto o el entorno en que se desarrolle. En relacin a los indicadores mostrados, ellos permitirn conocer y determinar de mejor forma los niveles de productividad sobre los cuales se est trabajando, lo cual claramente, estar relacionado con las caractersticas del entorno. Por ltimo, hay que indicar que aquellos valores que se obtengan respecto de cada indicador debern ser analizados conjuntamente con los datos que se generen en el transcurso del proyecto. Ello permitir tener una perspectiva ms clara del entorno en que se desarroll dicho proyecto. Como una forma de continuar con el desarrollo de este trabajo se realiz el anlisis y diseo de un sistema de informacin que hace uso de una base de datos que permite registrar y controlar la evolucin de cada proyecto. El uso de esta base de datos permitir que en el futuro se realicen mejores estimaciones, permitiendo generar informacin de mejor calidad, y en la cantidad y oportunidad ptimas para el proceso de toma de decisiones en la administracin de proyectos de software. Referencias bibliogrficas [1] [2] Boehm, B. W., Improving Software Productivity, IEEE Computer, pp. 43-57, Septiembre 1987. Concha, S., MACOS: Modelo Algortmico de Costos de Software, Memoria para optar al ttulo de Ingeniero Civil en Informtica, Universidad Tcnica Federico Santa Mara, Valparaso, Diciembre 1987. Chiavenato, I., Administracin de Recursos Humanos, McGraw-Hill, Mxico, 1988.

[3]

[4]

Daz, A., Anlisis por Puntos de Funcin, Apuntes del Curso dictado en Synapsis S.A., Santiago, D iciembre 1989. Fairley, R. E., Ingeniera Graw-Hill, Mxico, 1987. de Software, Mc.

[5] [6] [7] [8]

Kepner, C. H., Tregoe, B. B., El Nuevo Directivo Racional, Mc. Graw-Hill, Mxico, 1983. Pressman, R., Ingeniera de Sofware: Prctico, McGraw-Hill, Madrid, 1988. Somerville, I., Software son-Wesley, Londres, 1989. Un Enfoque Addi-

Engineering,

You might also like