lm2a, software & training

Proceso de desarrollo

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:

1. Analisis

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:

  • Demuestra la funcionalidad del sistema.
  • Exhibe el look and feel de la aplicación.
  • Proporciona un punto de partida para utilizar luego en la fase 4 del proceso

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:

  • Diseño de datos (DDBB)
  • Protocolos e Interfaces de software
  • Descripción de algoritmos
  • Diseño de objetos

El plan de testing especifica tests reproducibles, tanto manuales como automatizados, para verificar el grado de ajuste de la implementación a la especificación. Los criterios de testing incluyen:
  • Integridad de la DDBB
  • Funcionalidad
  • Tolerancia a fallos
  • Estabilidad y confiabilidad
  • Performance

Esta es la etapa también en la que se redacta el primer borrador del manual técnico del usuario.

4. Codificado y tests unitarios

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:

  • Administración del sitio (p/ aplicaciones web)
  • Monitoreo del sitio
  • Migración de datos
  • Gestión de contenidos
  • Soporte 24x7
  • Actualización de componentes de software
  • Conversion de contenidos