MachángaraSoft

lunes, 19 de abril de 2010

La importancia de la Gerencia de Proyectos en el área de Desarrollo de Software

Por: Fernanda Loaiza J.
nDeveloper Cía. Ltda.

Actualmente, la gerencia de proyectos es un área que, debido a su importancia, se ha desarrollado inmensamente a nivel mundial. Sea cual sea el proyecto (inmobiliario, publicitario, etc), la planificación, seguimiento y cierre de éste se encuentra entre las prioridades de la mayoría de las empresas. Lamentablemente, en el área de desarrollo de software, la gerencia de proyectos no se ha desarrollado (o no se la ha tomado tan en serio) como otras ramas de la industria.

¿A qué nos referimos con gerencia de proyectos? La gerencia de proyectos se define como una disciplina encargada de organizar y administrar los recursos, de forma tal que un proyecto dado sea terminado completamente dentro de las restricciones de alcance, tiempo y costo planteados a su inicio. Dependiendo de la esencia de cada proyecto, y tomando en cuenta los procesos y operaciones de la organización que lo llevará a cabo, administrar un proyecto requiere de una filosofía distinta, así como de habilidades y competencias específicas. De allí la necesidad de tener uno o varios recursos que tengan el conocimiento necesario (y mejor aun, la experiencia necesaria) de como llevar cada uno de los proyectos. El nivel de satisfacción del cliente antes, durante y después de cada proyecto es directamente proporcional al buen manejo de éste.

Sin embargo, la sociedad latinoamericana actual, y específicamente la ecuatoriana, no dimensiona la importancia de esta área en proyectos de desarrollo de software. La razón de esto viene ligada a que el software es un bien no tangible, lo que genera en el cliente (y muchas veces en el mismo proveedor) un tipo de indiferencia ante los posibles cambios solicitados durante y después de la construcción de los sistemas. Estos cambios, los cuales obviamente no fueron definidos ni planificados anteriormente, generarán resultados indeseables, tanto para el cliente como para el proveedor.

Haremos una analogía para entender mejor lo antes mencionado. Si yo quisiera construir una casa, los pasos que seguiría son:

1.Definir el área de la que dispongo y los requerimientos que necesite.
2.Una vez que tenga claro los requerimientos, así como el área, tiempo y presupuesto disponibles, se llama a un arquitecto.
3.Explicar al arquitecto los requerimientos definidos, el área, tiempo y presupuesto disponibles.
4.Elaboración de los planos por parte del arquitecto.
5.Analizar los planos junto con el arquitecto.
6.En caso de tener algún observación a los planos actuales, se vuelve al punto 3. Caso contrario, los planos son aprobados y se comienza la construcción
7.El arquitecto vigila la construcción de mi casa y me irá mostrando los avances necesarios.
8.Se finaliza la casa y se realiza la entrega del arquitecto al propietario.

El desarrollo de software debería ser tratado con los mismos pasos detallados anteriormente, es decir:

1.El cliente define los requerimientos del software que necesita.
2.Una vez definidos estos requerimientos, llama al proveedor (quien se encargara del desarrollo de este software).
3.Se explican los requerimientos definidos, el presupuesto y tiempo disponibles al proveedor.
4.El proveedor desarrollaría un plan de proyecto el cual contendrá el alcance del proyecto bien definido.
5.Una vez realizado el plan de proyecto, se lo analiza junto al cliente.
6.En caso de cualquier observación se vuelve al punto 3. Caso contrario, se aprueba el plan de proyecto y se comienza el desarrollo.
7.El gerente de proyecto se encarga del correcto manejo y control durante el proceso de diseño y desarrollo, así como el de mostrar los avances significativos del sistema al cliente.
8.Una vez finalizado el desarrollo y las pruebas necesarias (en ambiente del cliente) se realiza la entrega formal del sistema al cliente.

En un mundo perfecto y no realista ante nuestra sociedad, estos 8 pasos serian los que se deberian seguir normalmente. Pero volviendo a la realidad, son muy pocos los proyectos que lo hacen. Imaginarnos el realizar cambios a la casa (durante su construcción o una vez finalizada) resulta mucho menos posible que el realizar cambios a un sistema, sin embargo debería ser tratado por igual. El trato con el arquitecto muy pocas veces sostendrá un dialogo como el siguiente: “¿Y no será que se le puede quitar esta columna? Es que no me gusta pues ahí!... Yo sé que está así en los planos, pero ¿no será que se le puede quitar? ¿Cómo se va a caer la casa sin esa columna pues? Entonces, ¿No será que se le puede aumentar un cuartito más?”. Sin embargo, al momento de tratar con proyectos de desarrollo de software, los cambios poco analizados y no planificados son muy comunes.

Por esta razón resulta indispensable el tomar consciencia, tanto como clientes como proveedores, de la necesidad de tener un área de gerencia de proyectos en este tipo de empresas. Así se podrá empezar con pie derecho todos los proyectos, planificarlos, guiar al equipo durante el desarrollo de cada uno de ellos, y terminar cada proyecto con satisfacción, y mejor aún, con una buena relación cliente/proveedor, de forma que no sea el ultimo proyecto que se realice en conjunto. Un proyecto bien manejado no solo genera más clientes, sino resulta una motivación (y no un dolor de cabeza) para todo el equipo.

Etiquetas: , , , ,