
Metodología de gestión de proyectos
La metodología de gestión de proyectos de Babel, nace de la necesidad de una organización formal (documentada) de su forma de trabajar.
Tomando en cuenta nuestro objetivo estratégico de certificarnos CMMi nivel 3, hemos afinado una metodología de gestión que nos permita llegar a esa meta; además de utilizar CMMi como base de lo que se debe de tener dentro de la metodología, se toma también como base los procedimientos formales y las mejores prácticas del PMI, así como la forma de documentar usando UML y los formatos estándar de IEEE e ISO.
Todas estas entradas, generan una metodología de gestión de proyectos muy robusta, que nos permite afianzar el éxito en nuestros proyectos de software.
Metodología de desarrollo de software
La gestión de un proyecto de software requiere que exista un conocimiento por parte del administrador del proyecto de cómo se desarrolla un software, ya que, aunque en Babel no es el caso, algunos administradores de proyecto pueden no ser del área informática.
Para afinar nuestra metodología de desarrollo de software, utilizamos el estándar de desarrollo RUP, el cual estipula la creación del software en iteraciones que vayan incrementando el valor del proyecto, es decir, que se creen piezas de software que se vayan afinando e integrando para crear el sistema por completo.
Fase inicio / conceptualización
Esta fase es la que da inicio (como su nombre lo indica) al proceso de crear un proyecto de software a la medida. Todo comienza con una negociación de proyecto, en la cual nuestros business analysts le dan forma al proyecto y lo cotizan (en tiempo y dinero). Una vez que el cliente haya aceptado la cotización, también llamada propuesta de negocio, se firma un contrato e inicia el proyecto.
Cuando inicia el proyecto, se tiene que conceptualizar y hay que refinar el alcance del proyecto, por medio del proceso de toma de requerimientos en el cual, los desarrolladores asignados al proyecto entrevistan a los involucrados por parte del cliente, para conocer más a fondo y puntualizar el alcance del proyecto, creando así, la especificación de requerimientos de software, documento en el cual se enumeran las funcionalidades dentro del alcance del proyecto, cabe destacar que la especificación está basada en el estándar IEEE 830, que estipula el formato de un documento de este tipo.
Una vez, creada la especificación de requerimientos, ésta pasa por un control de calidad interno de Babel y luego a su aceptación por parte del cliente (constando que ese es el alcance y que lo que está en la especificación es lo que se va a hacer, nada más, nada menos).
Fase de planeación
Una vez que se conoce cual es el alcance del proyecto, se crea un cronograma de trabajo, el cual da a conocer a todos los involucrados fechas importantes del proyecto, así como, formalmente, el trabajo a realizar. Además de planear el trabajo a realizar, se tiene que pensar en los riesgos asociados con el proyecto, es decir, crear un plan de riesgos, el cual determina los posibles riesgos del proyecto, además de sus prioridades y las actividades de prevención o mitigación, este documento es revisado por nuestro departamento de calidad, el cual certifica que se este llevando acabo el procedimiento estipulado en el estándar IEEE 1540, además de chequear que el documento lleve la forma descrita en el estándar.
Además, se planea la integración de lo que está por desarrollarse, es decir, cómo se conjuntarán las piezas de software y su orden para crear el producto del proyecto; esta separación de trabajo y conjunción de piezas se ve reflejada en el documento llamado plan de integración.
Fase ejecución
Dentro de esta fase se da el desarrollo del sistema de software como tal, es decir, los desarrolladores empiezan a trabajar para crear el producto del proyecto contratado. Para empezar a desarrollar hay que tener un ambiente de trabajo y de integración, el cual se montará antes de iniciar el desarrollo.
Mientras se monta el ambiente de integración, se construye la especificación de diseño de software, que es un documento que especifica cómo el software se va a hacer, en términos de arquitectura, de estructuración de clases, de base de datos; además de especificar la secuencia a seguir por cada caso de uso (funcionalidad a crear); este documento recibe el visto bueno por parte de nuestro departamento de calidad.
Una vez que se tiene la especificación del diseño, se crea un prototipo funcional (navegable), el cual es la presentación del sistema, representa cómo se verán las pantallas (esquema de colores y colocación de datos e imágenes), esto con el fin de que nuestro cliente haga comentarios que ayuden para que el sistema sea de su agrado; el prototipo es revisado por nuestro departamento de calidad y es aprobado finalmente por el cliente.
Una vez aceptado el prototipo, se comienza la codificación del sistema. En Babel se trabaja con una metodología de desarrollo iterativa e incremental, es decir, que se van creando piezas de software y se van refinando gracias a la aplicación de pruebas exhaustivas a esa pieza, para así lograr un sistema de calidad. Con cada iteración se crea un entregable programado (pieza de software) y un informe de ciclo el cual es entregado y aprobado por el cliente.
Fase control
Mientras se desarrolla el software, se tiene que ir llevando un control detallado del avance, para así llevar al día el proyecto y estar pendiente de los riesgos. Dentro de esta fase (que se traslapa con la ejecución), el administrador asignado al proyecto, debe de crear informes de avances, los cuales están compuestos por métricas que describen el avance y comportamiento del proyecto, lo que permite al administrador prever el comportamiento del proyecto, así como los riesgos.
Para el control de riesgos, existe un documento llamado informe de riesgos, el cual explica cuales riesgos se analizaron, y cuales medidas de prevención o mitigación se tomaron.
Fase de cierre
Una vez terminado el desarrollo y pruebas del sistema de software, se procede a implantar el mismo, y esta implantación es planeada y descrita en un plan de implantación, el cual especifica fechas de instalación y necesidades pedidas al cliente (contraseñas, disponibilidad de computadores), para así aprovechar mejor el tiempo de nuestro implantador y el del cliente; este documento es revisado por nuestro departamento de calidad.
Además, se entrega al cliente la documentación final del sistema, es decir, manual de usuario, manual técnico, manual de instalación, así como un informe final del proyecto; los documentos son revisados por calidad y aprobados por el cliente.
Como parte de esta fase, se crea un plan de capacitación, el cual determina el número de clases y las personas a ser capacitadas, además de temas a ver, días y horas de capacitación (por lo tanto se hace en conjunto con el cliente, para conocer la disponibilidad), el documento es aprobado por el cliente (así el cliente se responsabiliza de la disponibilidad de su personal, para que la capacitación transcurra sin retrasos). Una vez aprobado el plan, se procede a la capacitación.
Luego, se tramita el cierre formal del proyecto, mediante una carta emitida por Babel y firmada por el cliente donde de describe el término del proyecto así como el plazo de garantía y demás datos administrativos, la carta es aprobada por el cliente.
Terminado formalmente el proyecto, internamente se realiza una reunión llamada reunión post-mortem, en la cual los administradores de proyecto y el director de proyecto discuten acerca de cómo se gestiono el proyecto, para así generar aprendizaje y experiencia dentro de nuestra oficina de proyectos.
|