El desarrollo de software de calidad es un proceso complejo. Por lo cual es necesario contar con documentos previamente aprobados por el contratante donde se describen los pasos conducentes a crear las aplicaciones requeridas dentro del tiempo pactado. A partir de nuestra experiencia profesional hemos desarrollado en los últimos años una serie de documentos que facilitan el entendimiento entre las partes. Y hemos adoptado las mejores prácticas sobre este particular, creando también algunos procesos propios que aportan a la calidad de nuestros servicios.
Los pasos básicos en un proceso de desarrollo son los siguientes:
Inicialmente el cliente nos proporciona los requerimientos del sistema o un prospecto de diseño. Adicionalmente intercambiamos opiniones respecto a la funcionalidad. Este proceso puede involucrar entrevistas y revisiones de documentación pre-existente. Basado en toda esta información, el coordinador del proyecto formula un borrador del plan de proyecto. Este documento es utilizado por lm2a, para planificar y cuantificar los recursos involucrados, asi como para definir la agenda. lm2a organiza la información para crear un borrador del Software Requiremnt Specification (SRS). Documento este que será utilizado en la siguiente etapapara contruir el primer prototipo.
2. Prototipado
En esta etapa un prototipo no funcional de la aplicación en desarrollo es puesto en disponibilidad del cliente a través de nuestro servidor de prototipos. De forma que este pueda tener una aproximación a la arquitectura y al diseño de la User Interface (UI). Construir un prototipo en la etapa incial del desarrollo tiene varios beneficios:
3. Diseño detallado
En esta etapa se formula el SDS y del plan de Testing. El SDS es básicamente un esquema detallado para el codificado e incluye:
Los test unitarios son la forma más eficiente de detectar errores. Cada módulo o método de la aplicación es testeado por si mismo. La principal ventaja de los test unitarios es la pronta detección de problemas así como el manejar las implicancias de las modificaciones en la totalidad del sistema. Nuestros desarrolladores son responsables por implementar los tests unitarios y la revision y discusión de los resultados se asume como una tarea del team de desarrollo a lo largo de todo el proceso.
5. Seguimiento de bugs
Aunque se tomen todas las medidas para minimizar la existencia de bugs, es sabido que todo desarrollo de madiana a gran envergadura los contiene. Por eso cada release de una aplicación conlleva en lm2a su sistema de seguimiento de bugs. Este sistema ofrece una interface web y de correo electrónico, de manera que los usuarios pueden enviar los bugs que detecten asi como las sugerencias que se les ocurran. Las sugerencias no tienen porque referirse en todos los casos a cuestiones aplicables al momento pero aún en esos casos siempre pueden resultar útiles para ayudar a definir futuras versiones del producto.
6. Beta testing
Se denomina beta testing al proceso cíclico de revisión y versionado que termina finalmente en la version final del producto. El testing es conducido en concordancia con el plan de testing establecido en cada version beta. Los resultados del testing y el software mismo es revisado y una vez que se logran los requerimientos de calidad y ha sido aceptado por el cliente, los desarrolladores crean la versión final.
7. Post lanzamiento
A posteriori del lanzamiento de la aplicación, lm2a ofrece una gama de servicios llamados post-deployment que incluyen: