Etapas
de un proyecto de software
Por
Ciro Bortolotti.
¿ Por qué
dividir un proyecto en etapas ?
Los proyectos
se dividen en etapas para facilitar su gestión y control. Como
tales, suelen tener cierto grado de incertidumbre debido a que
requieren la realización de tareas y actividades no realizadas
con anterioridad. El conjunto de etapas que componen un proyecto
desde que se inicia hasta que concluye se llama Ciclo de Vida
del Proyecto.
Enfoque
En esta nota
hablaremos de cuales son las etapas típicas en que podemos estructurar
un proyecto de implantación de enlatados y las actividades más
importantes que éstas contienen. Es importante aclarar que hablamos
de implantación y no de desarrollo de software,
ya que en este último caso, las etapas varían. No obstante, es
normal que, por necesidades propias del negocio de la empresa,
se hagan customizaciones y/o interfases. Describiremos un modelo
considerando que las hay.
Cuando hablamos
de actividades nos referimos a las tareas típicas dentro de cada
etapa.
No representan
un Plan de Trabajo, aunque pueden usarse como guía para armar
uno. No se profundiza en los procedimientos de control de las
etapas, aunque los mismos están presentes durante todo el ciclo
de vida del proyecto.
Desarrollo
Desde un punto
de vista general de la gestión de proyectos, la primera etapa
siempre es el Estudio de Factibilidad. En esta etapa se evalúan
alternativas, proveedores, funciones disponibles, costos y, finalmente,
se decide la compra del software. Nuestra explicación se referirá
a las actividades posteriores a ésta.
La implantación
puede dividirse en las siguientes etapas:
1. Planificación
2. Análisis
y diseño
3. Implementación
4. Post-implementación
PLANIFICACIÓN
Es la etapa
más importante de todas, ya que acá se define el proyecto propiamente
dicho. En la práctica, consta de una serie de reuniones donde
se realizan las siguientes actividades:
1. Definición
del alcance. ¿ Hasta dónde va a llegar exactamente el proyecto
? ¿ Qué se quiere lograr con el proyecto ?
2. Relevamiento
preliminar. Un análisis rápido de los procesos más importantes
del negocio.
3. Definición
de actividades. ¿ Qué tareas son necesarias para llevar el
proyecto adelante ?
4. Secuenciamiento
de actividades. ¿ En qué orden se deben realizar las tareas
?
5. Estimación
de tiempos. ¿ Qué duración pueden tener las tareas, individualmente
y en conjunto ?
6. Definición
de recursos. ¿ Que personas, materiales y equipos serán necesarios
para llevar adelante las tareas ?
7. Estimación
de costos. ¿ Cuánto costará el proyecto ?
8. Desarrollo
de un documento de Definición del proyecto. Es poner por escrito
las respuestas a las preguntas anteriores.
Hay una serie
de actividades auxiliares a los puntos mencionados, que siempre
deben existir en la planificación. Se realizan en forma intermitente
y ayudan a la gestión. Son:
1. Definición
de indicadores o métricas. Son los standards de calidad del
proyecto. En palabras simples, son los termómetros.
2. Definición
del equipo del proyecto. ¿ Quiénes y con qué roles y responsabilidades
gestionarán el proyecto ?
3. Definición
de las comunicaciones. Es el armado de un plan para informar
los avances y estado del proyecto. Indica a quienes se informa,
que se informa y cuando. Es la prensa del proyecto.
4. Identificación
y cuantificación de contingencias.¿ Qué factores pueden afectar
el normal desenvolvimiento del proyecto ? ¿ En cuánto pueden afectarlo
?
5. Definir
planes de contingencia. ¿ Qué acciones se tomarán para mitigar
las contingencias y qué se hará en caso que alguna se produzca
?
6. Aseguramiento
de la calidad. Al final de la etapa se verifica que se hayan
cumplido los objetivos propuestos en forma satisfactoria y se
evalúa si es factible pasar a la etapa siguiente.
Si bien parecen
muchos puntos, no son necesariamente complicados ni extensos.
Su complejidad depende del tamaño del proyecto. Como ya se indicó,
el resultado de todos estos procesos es un documento llamado Plan
General del Proyecto o Definición del Proyecto. En notas futuras
explicaremos nuestro enfoque para encarar la planificación de
un proyecto y como desarrollar este documento. Como comentario
final para esta etapa, es importante saber que el tiempo que puede
llevar la planificación es variable. Depende mucho del proyecto
y de la organización que lo lleva a cabo. Nuestra experiencia
nos indica que este proceso es más dificultoso en organizaciones
muy informales. A veces se ve como algo tedioso, pero hay que
tener en cuenta que, una buena planificación seguida de un buen
análisis minimiza los costos del proyecto. Hay un principio general
de la gestión de proyectos que nunca hay que olvidar: El costo
y dificultad de introducir cambios en un proyecto es directamente
proporcional al grado de avance del mismo. Esto significa que
cuanto más avanzado esté un proyecto en su desarrollo, más costoso
y difícil será introducir cambios en él.
ANÁLISIS
Y DISEÑO
Podemos dividir
esta etapa en las siguientes actividades:
1. Capacitación
de gestión. Se entrena a los integrantes del equipo en las
técnicas y conceptos de gestión del proyecto que deban conocer.
2. Análisis
del negocio o relevamiento. Consiste en comenzar a charlar
con los usuarios que sufrirán la implantación del software y preguntar
cuales son las operaciones habituales que realizan. Cuando nos
referimos a usuario, el concepto puede incluir desde el presidente
de una cía. hasta el cadete. Si se usan cuestionario claros y
concisos se reduce el tiempo de esta tarea y se obtiene información
más valiosa.
3. Documentación
del statu quo. Se describe ordenadamente toda la información
obtenida en el punto 2, que responda la pregunta ¿ Cómo están
funcionando las cosas en este momento ? La idea es mostrar una
foto de los procesos actuales.
4. Definición
de requerimientos funcionales. Se describen ordenadamente
las funciones críticas del sistema existente (sin las cuales no
es posible arrancar), las secundarias (si son relevantes) y las
nuevas funciones que desean los usuarios.
5. Definición
de requerimientos de información. Se describen ordenadamente
cuales son los informes y consultas realizados con el sistema
existente, y cuales son los informes y consultas nuevos que los
usuarios desean.
6. Preparación
e instalación de entorno standard para capacitación. Se provee
todo el hardware y el software de base necesario para instalar
el enlatado en su versión standard. Es recomendable que todos
los integrantes del equipo de trabajo tengan acceso al uso del
mismo.
7. Capacitación
funcional. Se entrena al equipo del proyecto en el uso y funcionalidades
standard del enlatado. Es conveniente evitar la discusión profunda
de temas del negocio, ya que podría demorar en exceso el entrenamiento.
8. Modelización
o diseño preliminar. Con la información de los puntos 3 y
4 se arma un prototipo conceptual que cubra la mayor parte posible
de procesos relevados, sin usar customizaciones. Para esto deben
explorarse todas las alternativas factibles, aunque impliquen
el cambio de procedimientos y formas de trabajo existentes. Las
funciones que indefectiblemente requieran customizaciones e interfases
deberán quedar expresadas claramente. Con la información del punto
5 se arma una lista de los informes y consultas existentes en
el enlatado que cubran las necesidades de información. Los requerimientos
que indefectiblemente requieran el desarrollo de nuevos informes
y consultas, deberán quedar expresados claramente.
9. Interacción.
Cumplido el punto anterior, se realizan reuniones del equipo del
proyecto, en las cuales, los responsables de la modelización explican
y debaten con el resto de los integrantes. Es importante destacar
que el equipo del proyecto debería incluir representantes de los
usuarios, que actúen como nexo, de forma que todas las partes
involucradas, directa o indirectamente, participen y sean plenamente
conscientes de su rol y responsabilidad.
10. Diseño
final. Se documenta el diseño final, basado en el resultado
del punto 9.
11. Ajuste
de la Definición del proyecto. Como resultado del punto 10,
seguramente aparecerán nuevas tareas, cambios en las existentes,
cambios de contingencias, fechas, etc. Es necesario, entonces,
ajustar el plan de trabajo al diseño final, cuantificar nuevos
riesgos, etc.
12. Aseguramiento
de la calidad. Al final de la etapa se verifica que se hayan
cumplido los objetivos propuestos en forma satisfactoria y se
evalúa si es factible pasar a la etapa siguiente.
IMPLEMENTACIÓN
Las actividades
más importantes de esta etapa son:
1. Preparación
del entorno operativo. Se provee todo el hardware y el software
de base necesario para instalar el enlatado. Se actualizan las
PCs de los usuarios, en caso de que las mismas no satisfagan los
requerimientos mínimos necesarios para operar el soft.
2. Definición
de políticas de backup. Se define el conjunto de procedimientos
de backup necesarios para garantizar la recuperación de la información
en caso de falla.
3. Instalación
de entorno de desarrollo. Se instala una versión del enlatado
en una o varias bases de datos creadas sólo para uso de las personas
involucradas en tareas de desarrollo. Este entorno se utiliza
para desarrollar los informes, consultas y customizaciones necesarios
para llegar al diseño final. En proyectos chicos, usuarios debidamente
capacitados pueden hacer sus propios desarrollos.
4. Instalación
de entorno de prueba. Se instala una versión del enlatado
en una o varias bases de datos creadas para hacer las pruebas
de los desarrollos.
5. Instalación
del entorno de producción. Se instala una versión del enlatado
en las bases de datos que se vayan a utilizar para operar el sistema
con datos reales. El uso de este entorno debe tener el acceso
limitado, para evitar que por error se opere sobre el mismo.
6. Parametrización
preliminar. Parametizar es indicar al enlatado que politicas
debe utilizar para operar. Se definen las políticas que sean posibles
(ya que pueden faltar customizaciones e interfases).
7. Desarrollo
de customizaciones e interfases. Se inicia la programación
de las adaptaciones en el entorno de desarrollo.
8. Pruebas
y ajustes de customizaciones e interfases. Se hacen las pruebas
de las customizaciones y se determinan sus correcciones y/o modificaciones.
El proceso de pruebas puede subdividirse en subetapas, si el desarrollo
es muy complejo.
9. Desarrollo
de programas para migración de archivos maestros. De no existir
una aplicación que permita migrar la información del sistema existente
al enlatado, será preciso desarrollar alguna.
10. Pruebas
de migración de archivos maestros. Se debe confirmar que la
informacion transferida pasó íntegramente al enlatado.
11. Parametrización
final. Con las customizaciones e interfases ya desarrolladas,
se configura el sistema como si se fuera a iniciar la operación
del mismo.
12. Simulación
preliminar del enlatado en producción. Se simula la operación
del día a día, tratando de generar la mayor cantidad de variantes
posibles de operación. Dependiendo su complejidad y cantidad,
es conveniente hacer una lista de todas las operaciones que se
van a probar indicando cual es el resultado esperado para cada
una, para poderlo con el obtenido.
13. Ajustes
de parametrización, customizaciones, interfases e informes.
En base a los resultados del punto anterior de determinan correcciones
y/o modificaciones.
14. Desarrollo
de programas para migración de archivos de movimientos. De
no existir una aplicación que permita migrar la información del
sistema existente al enlatado, será preciso desarrollar alguna.
15. Pruebas
de migración de archivos de movimientos. Se debe confirmar
que la informacion transferida pasó integramente al enlatado.
16. Capacitación
de usuarios finales. Es conveniente entrenar a los usuarios
finales cerca del período de arranque, para que retengan la mayor
cantidad de información posible. Nuestra experiencia nos indica
que capacitar a los usuarios finales al inicio del proyecto es,
la mayoría de las veces, una pérdida de tiempo y dinero. En esta
capacitación sí debe analizarse a fondo la operatoria de la empresa.
Si todos los usuarios finales tuvieron participación directa,
o bien indirecta a través de los usuarios clave, de este entrenamiento
sólo deberían salir mejoras menores.
17. Ajustes
de parametrización, customizaciones e informes. En base a
los resultados del punto anterior de determinan correcciones y/o
modificaciones.
18. Práctica
de usuarios finales. Se arma un plan de práctica para los
usuarios finales. Con las mismas se refuerzan los conocimientos
en el uso del enlatado y se agiliza la velocidad de operación.
19. Simulación
final de entorno de producción. Si el punto anterior se realizó
con datos ficticios, en este punto se realiza, con los usuarios,
una práctica con datos reales. Es decir, se toman muestras de
documentación, se opera y se comparan los resultados. Si el punto
anterior se realizó con datos reales, este punto se puede omitir.
20. Migración
de la configuración. Se migran archivos maestros, customizaciones
y datos de la parametrización al entorno de producción.
21. Control
de la configuración. Se verifica que el punto anterior se
halla cumplido satisfactoriamente.
22. Adelanto
de operaciones. Este punto puede existir o no. Se trata de
adelantar todas las operaciones que sea posible (pagos, cobros,
emisión de informes) previendo que el punto siguiente demore más
de lo previsto.
23. Impasse
de operaciones. Dada una fecha de corte, se detiene la operación
del sistema existente, para iniciar la migración de archivos de
movimientos.
24. Migración
de archivos de movimientos. Se procede a migrar movimientos
contables, facturación, cobranzas, pagos, saldos pendientes de
pago, cobro, stock, órdenes de producción, etc.
25. Habilitación
del entorno de producción. Se permite el acceso de los usuarios
para empezar los controles en el nuevo sistema.
26. Control
de la migración. Se controla la información transferida contra
el viejo sistema o contra la documentación respaldatoria. Se prueban
los informes. Los usuarios deben participar de esta tarea.
27. Inicio
de operaciones con el nuevo enlatado. Se retoman las operaciones
con el nuevo sistema.
Los puntos
mencionados pueden sufrir alguna alteración en el orden dependiendo
de las necesidades. Otros pueden resumirse en uno solo, cuando
el proyecto es pequeño y muchos pueden realizarse en paralelo
(al mismo tiempo).
Se habrá notado
que no hablamos del famoso paralelo, que consiste en trabajar
un tiempo con el viejo sistema y el nuevo a la vez, verificando
permanentemente los resultados del nuevo contra el viejo. En un
contexto donde los usuarios suelen estar sobrecargados de tareas,
plantear un paralelo suele implicar horas extra o la contratación
de personal, cosa que las empresas están poco o nada dispuestas
a hacer, en virtud del complicado contexto económico. Por eso
es que proponemos la práctica de los usuarios y una simulación,
ya que son más manejables. Haciendo buen uso de ellos se logran
excelentes resultados, evitando paralelos que en realidad no se
terminan o se hacen a medias, generando mala predisposición en
los usuarios y sin resultados satisfatorios.
POST-IMPLEMENTACIÓN
Las actividades
de esta etapa son:
1. Asistencia
sistemática a usuarios. Cualquier cambio genera dudas e incertidumbre,
por lo que es preciso asistir a los usuarios en forma sistemática
durante un tiempo, para asegurar la fluidez de las operaciones.
El lapso de asistencia necesario depende del enfásis que se haya
puesto en una correcta capacitación y de haber dedicado tiempo
suficiente a las prácticas y la simulación.
2. Ajustes
de parametrización, customizaciones e informes. Si algún punto
quedó sin cubrir durante las dos etapas previas o, se detecta
algún error, probablemente será necesario algún ajuste. Se hacen
las correcciones y/o modificaciones pertinentes. Es importante
remarcar que estos ajustes, bajo ningún concepto pueden determinar
la suspensión de las operaciones con el nuevo sistema. Si esto
sucediera es que hubo gruesos errores durante el análisis, el
diseño y la implementación.
3. Detección
de nuevos requerimientos o necesidades de información. Es
normal que en desarrollo de las operaciones de la empresa vayan
surgiendo inquietudes para mejorar el sistema o se quiera obtener
más y mejor información. Esto puede dar lugar a nuevos desarrollos.
Dependiendo de su envergadura, podemos estar en presencia de nuevos
proyectos.
Consulte a un especialista