¿Cómo asegurar la calidad de los proyectos de desarrollo?
¿Cómo asegurar la calidad de los proyectos de desarrollo?
Por César Villarreal, Global Project Manager
¿Estás apunto de iniciar un proyecto de desarrollo de software?
Y ¿no cuentas con una metodología CMMi, moprosoft, ISO, etc, que te ayude a lograrlo?. ¿Estás preocupado porque tu proyecto de desarrollo arroje resultados positivos en términos financieros?¿Tu meta es entregar un producto en forma, tiempo y sobre todo con calidad que tu cliente esta esperando?
Te ofrezco estos útiles consejos que te ayudarán como base para lograr el éxito en tus próximos proyectos de desarrollo, anteponiendo la calidad del mismo ante cualquier otra cosa.
Como punto de arranque, deberás de realizar un plan de trabajo donde especifiques (dependiendo del ciclo de vida que hayas elegido) todas las actividades de las que se compone tu proyecto; asígnalas a los recursos que las ejecutarán, determina el esfuerzo que tendrá cada una de las actividades y sobre todo dale el seguimiento periódico de acuerdo al tamaño de tu proyecto, después:
1. Realiza y presenta a tu cliente un documento formal de inicio de proyecto “Kick Off” donde en una forma clara expongas los siguientes puntos:
- Los objetivos y el alcance del proyecto
- Presentes a:
- Los integrantes que ejecutarán el proyecto
- Los stakeholders involucrados que estarán apoyando la iniciativa de desarrollo (Champions internos)
- Hitos importantes de cada fase del proyecto
NOTA Durante esta presentación, dale a tu cliente la oportunidad de aclarar todas las dudas y asegúrate que pueda revisar su agenda de acuerdo a los hitos que le hayas presentado.
2. Realiza entrevistas para la captación de los requerimientos.
Es muy importante que en el transcurso de las entrevistas mantengas una escucha activa y en la medida que puedas usa el parafraseo, pues lo anterior le dará confianza a tu cliente de que estas entendiendo y analizando las necesidades que se plasmarán en la ingeniería de software que le ofrecerás como solución. Para las entrevistas puedes auxiliarte de:
- Grabadoras
- Story Boards
- Micro prototipos
- Diagramas UML
3. Una vez realizadas las entrevistas, es indispensable que te auxilies de una buena minuta
Donde especifiques de una manera clara lo revisado en la entrevista y se la hagas llegar a tu cliente para que estén de acuerdo con lo que allí se especifica. La minuta cuando menos se recomienda que tenga los siguientes puntos:
- Participantes (nombre, correo y cargo)
- Lugar y fecha de la reunión (hora y duración)
- Objetivos de la reunión
- Contenido
- Pendientes por parte del cliente
- Pendientes por parte del proveedor (consultora it, terceras partes, etc.)
4. Ya con todas las entrevistas y minutas en mano, pasaremos a realizar el análisis de sistemas.
Para realizar esto, un buen punto de partida es generar un documento de Especificación de Requerimientos de Software (ERS). Este documento debe de ser lo suficientemente claro y entendible sin llegar a tener tecnicismos que puedan confundir al cliente. La ERS deberá de ser el punto de partida para realizar la “Especificación de Casos de Uso” y posteriormente continuar con el Diseño y Construcción.
5. Por mas entendible o “digeribles” que resulte la ERS, genera unprototipo que refleje como sería el sistema.
Es decir, las pantallas (menú, colores, botones, cajas de texto, etc) que cumplirán con los requerimientos solicitados. Este prototipo no tiene que ser funcional para esta fase pues no es necesario que se ejecuten acciones. Pero si necesita mostrar como el cliente verá las pantallas que estará utilizando. Para realizar el prototipo puedes auxiliarte de (fire works, photo shop, power point, ilustrator, corel draw, adobe catalyst, expression design, etc.), tú serás el mejor juez de acuerdo a las capacidades que tengas a la mano.
6. Teniendo la ERS, los casos de uso y el prototipo autorizados por tu cliente, has logrado tener las bases seguras para pasar al desarrollo de los requerimientos.
Estos, serán de gran ayuda para tus ingenieros de software pues serán la guía para que se mantengan dentro de los límites de interacción del sistema/usuario y así lograr que se enfoquen en lo que se debe de desarrollar. La idea aquí es no dejar “huecos” o “suposiciones” de lo que deben de programar.
7. Terminando el desarrollo, es importante que programes una serie de ciclos de pruebas:
- Pruebas del desarrollador, son las que hacen los mismos desarrolladores para asegurar que almenos sus líneas de código no presentan fallas.
- Pruebas cruzadas, son las que se dividen entre los desarrolladores. Es decir, lo que hizo el desarrollador “A” lo debe de probar el desarrollador “B” y viceversa.
- Pruebas Integrales, son las que hace un “tester” o una persona ajena al proyecto. De no contar con este personal, es válido que estas pruebas las haga el Líder de proyecto auxiliándose de la ERS y los casos de uso. Es imprescindible validar la funcionalidad como un “TODO”, de ahí el nombre “pruebas integrales”. Si quieres ir un paso más allá, vale la pena echar mano de una compañía especialista en servicios de “Testing” y más cuando se traten de desarrollo críticos.
8. Desarrolla un buen plan de implementación.
Éste deberá de incluir todos los componentes que necesita tu aplicación para funcionar de manera correcta:
- Especifica paso a paso la secuencia necesaria para instalar tu aplicación
- Especifica si necesita de permisos para ejecutar ciertas acciones, permisos sobre carpetas, etc.
- Genera una secuencia de contingencia o “rollback” por si alguno de los pasos falla.
9. Una vez implementada tu aplicación
Revisa y verifica que tu producto esté completamente integrado y funcione de acuerdo a la instalación base que deberá de tener (usuarios de inicio, cargas iniciales, etc).
10. Por último, no olvides que para lograr todo lo anterior
Deberás de llevar una administración total del proyecto, incluyendo:
- Planeación (sigue, mantiene, cambia y ajusta tu plan de trabajo). Realiza planes de comunicación, plan de administración de la configuración, plan de datos, plan de pruebas, plan de riesgos y contingencias.
- Monitorea (Tiempo, esfuerzo, costo, actividades, etc). Realiza juntas periódicas con tu equipo de trabajo donde compartan el avance real vs planeado, realiza minutas de compromisos y dales seguimiento hasta su cierre.
- Aseguramiento de la calidad. Revisa que todas las acciones de tu proyecto se lleven de acuerdo a los estándares de calidad que hayas definido y lleva una bitácora de lo que no se ha cumplido pues esto te servirá para ajustar, medir y tomar acciones correctivas que mas adelante te darán la pauta para una mejora continua.
Estoy seguro que siguiendo estas líneas, tendrás un mejor resultado al final de tu proyecto de desarrollo.
Si prefieres recibir ayuda profesional y evitar errores en la planeación financiera y de calidad en tu proyecto de desarrollo, te invito a que nos contactes.
[hr]
“Somos la mejor opción para acompañar a tu Organización durante su Transformación Digital. Más de 20 años colaborando con empresas nacionales e internacionales.
Si estás próximo a arrancar un proyecto de migración a La Nube, Desarrollo de Software o Aplicaciones Móviles Empresariales y tienes dudas sobre este tema, te invito a que nos contactes”.
Somos una Empresa de Desarrollo de Software, especialista en Desarrollo de Aplicaciones Web, Desarrollo de Apps Empresariales, Microsoft Dynamics 365 y Fábrica de Software. Desarrollamos software basado en Microsoft .NET, y aplicaciones nativas en iOS o Android; para aquellas empresas que sólo requieren la contratación directa de especialistas, brindamos asesoría especializada de acuerdo a las necesidades de nuestros clientes con experiencia en las tecnologías más avanzadas para apoyar tu estrategia en desarrollo de sistemas y desarrollo de app.
me gusto mucho este articulo, estaría bien que estuvieran subiendo mas artículos de este tema.
Agradezco tu comentario Jorge. En Northware, tratamos de constantemente actualizar nuestra sección de artículos para generar contenidos relevantes para nuestros lectores. Gracias por leerlo y comentar!